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

by:
Mehdi Achour
Friedhelm Betz
Antony Dovgal
Nuno Lopes
Hannes Magnusson
Georg Richter
Damien Seguy
Jakub Vrana
И некоторые другие
2009-06-19
Под редакцией: Philip Olson
Ivan Kovalenko
Jigkayev Kazbek
Kirill Barashkin
Alexey Asemov
Boris Bezrukov
Alexander Voytsekhovskyy
© 1997-2008 Группа документирования PHP
  • Авторские права
  • Руководство по PHP
    • Предисловие
  • Приступая к работе
    • Введение
    • Краткое руководство
  • Установка и настройка
    • Общие инструкции по установке
    • Установка на Unix системы
    • Installation on Mac OS X
    • Installation on Windows systems
    • Установка расширений PECL
    • Проблемы?
    • Runtime Configuration
  • Справочник языка
    • Основы синтаксиса
    • Типы
    • Переменные
    • Константы
    • Выражения
    • Операторы
    • Управляющие конструкции
    • Функции
    • Classes and Objects (PHP 4)
    • Классы и объекты (PHP 5)
    • Пространства имён
    • Исключения
    • Ссылки. Разъяснения
    • Предопределённые переменные
    • Предопределённые исключения
    • Predefined Interfaces
    • Context options and parameters
  • Безопасность
    • Вступление
    • Общие рассуждения
    • Если PHP установлен как CGI
    • Если PHP установлен как модуль Apache
    • Безопасность файловой системы
    • Безопасность баз данных
    • Сообщения об ошибках
    • Использование глобальных переменных (Register_Globals)
    • Данные, введенные пользователем
    • Волшебные кавычки
    • Сокрытие PHP
    • Необходимость обновлений
  • Отличительные особенности
    • HTTP-Аутентификация в PHP
    • Cookies
    • Sessions
    • Работа с XForms
    • Загрузка файлов на сервер
    • Работа с удаленными файлами
    • Работа с соединениями
    • Постоянные соединения с базами данных
    • Защищенный режим
    • Использование PHP в командной строке
  • Справочник функций
    • Affecting PHP's Behaviour
    • Audio Formats Manipulation
    • Authentication Services
    • Calendar and Event Related Extensions
    • Command Line Specific Extensions
    • Compression and Archive Extensions
    • Credit Card Processing
    • Cryptography Extensions
    • Database Extensions
    • File System Related Extensions
    • Human Language and Character Encoding Support
    • Image Processing and Generation
    • Mail Related Extensions
    • Mathematical Extensions
    • Non-Text MIME Output
    • Process Control Extensions
    • Other Basic Extensions
    • Other Services
    • Search Engine Extensions
    • Server Specific Extensions
    • Session Extensions
    • Text Processing
    • Variable and Type Related Extensions
    • Web Services
    • Windows Only Extensions
    • XML Manipulation
  • PHP at the Core: A Hacker's Guide to the 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 1
    • The future: PHP 6 and Zend Engine 3
  • ЧАВО — ЧАВО: ЧАсто задаваемые Вопросы и Ответы на них
    • Общая Информация
    • Списки рассылки
    • Получение PHP
    • Вопросы по Базам Данных
    • Установка
    • Проблемы Сборки
    • Использование PHP
    • PHP и HTML
    • PHP и COM
    • PHP и другие языки
    • Переход из PHP 4 в PHP 5
    • Разные вопросы
  • Appendices
    • История PHP и смежных проектов
    • Migrating from PHP 5.1.x to PHP 5.2.x
    • Migrating from PHP 5.0.x to PHP 5.1.x
    • Миграция с PHP 4 на PHP 5
    • Отладка PHP
    • Configure options
    • Директивы php.ini
    • Extension List/Categorization
    • Список псевдонимов функций
    • List of Reserved Words
    • List of Resource Types
    • List of Supported Protocols/Wrappers
    • Список доступных фильтров
    • Список поддерживаемых транспортных протоколов
    • Таблица сравнения типов в PHP
    • List of Parser Tokens
    • Userland Naming Guide
    • Об этом руководстве
    • 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 - 2008 принадлежат группе документирования PHP. Эти материалы могут быть распространены только на условиях и соглашениях установленных в лицензии Creative Commons Attribution версии 3.0 или более поздней. Копия лицензии Creative Commons Attribution 3. распространяется вместе с руководством, на данный момент последняя версия доступна по адресу » http://creativecommons.org/licenses/by/3.0/.

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

Руководство по 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, Jesus M. Castagnetto, Ron Chmara, Sean Coates, John Coggeshall, Simone Cortesi, 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, Yasuo Ohgaki, Derick Rethans, Rob Richards, Sander Roobol, Egon Schmid, Thomas Schoefbeck, Sascha Schumann, Dan Scott, Masahiro Takagi, 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.

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


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

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


Введение

Содержание

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


Что такое PHP?

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

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

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

<html>
    <head>
        <title>Пример</title>
    </head>
    <body>

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

    </body>
</html>

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

PHP отличается от JavaScript тем, что PHP-сценарии выполняются на сервере. Если бы у вас на сервере был размещён сценарий, подобный вышеприведенному, клиент получил бы только результат выполнения скрипта, причём он не смог бы выяснить, какой именно код выполняется. Вы даже можете настроить свой сервер таким образом, чтобы обычные 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 идеально подходит для скриптов, которые должны выполняться регулярно, например, с помощью 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, Microsoft Internet Information Server, Personal Web Server, серверов Netscape и iPlanet, сервера Oreilly Website Pro, Caudium, Xitami, OmniHTTPd и многих других. Для большинства серверов PHP поставляется в качестве модуля, для других, поддерживающих стандарт CGI, PHP может функционировать в качестве процессора CGI.

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

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

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

  • Adabas D
  • dBase
  • Empress
  • FilePro (только чтение)
  • Hyperwave
  • IBM DB2
  • Informix
  • Ingres
  • InterBase
  • FrontBase
  • mSQL
  • Direct MS-SQL
  • MySQL
  • ODBC
  • Oracle (OCI7 и OCI8)
  • Ovrimos
  • PostgreSQL
  • SQLite
  • Solid
  • Sybase
  • Velocis
  • Unix dbm

В PHP имеется интерфейсная прослойка, называемая PDO, позволяющая работать с любой базой данных одинаково. Кроме того, PHP поддерживает ODBC (Open Database Connection standard), таким образом, вы можете работать с любой базой данных, поддерживающей этот всемирно признанный стандарт.

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

PHP включает средства обработки текстовой информации, начиная с регулярных выражений Perl или POSIX Extended и заканчивая парсером документов XML. Для анализа XML в PHP 4 используются стандарты SAX и DOM. Для преобразования документов XML вы можете использовать расширение XSLT. В PHP 5 обработка XML-документов стандартизирована и происходит на базе библиотеки libxml2. Также добавлены два новые расширения для работы с XML: SimpleXML и XMLReader.

Последним по порядку, но не по значению, является поддержка многих других расширений, таких, как функции поисковой машины mnoGoSearch, функции IRC Gateway, функции для работы со сжатыми файлами (gzip, bz2, zip), функции календарных вычислений, функции перевода...

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

Что такое PHP?
Краткое руководство
Введение


Краткое руководство

Содержание

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

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

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

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


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

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

Краткое руководство
Первая страница на PHP
Краткое руководство


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

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

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

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

Эта программа выведет следующее:

<html>
 <head>
  <title>Тестируем PHP</title>
 </head>
 <body>
 Привет!<p>
 </body>
</html>

Заметим, что сходства со скриптами на CGI нет. Файл не должен быть исполняемым или иметь какие-либо другеи атрибуты. Это просто обычный файл HTML, в котором есть набор специальных тегов, делающих много интересного.

Эта программа чрезвычайно проста, и для создания настолько простой странички даже необязательно использовать PHP. Все что она делает - это выводит "Привет! с использованием функции PHP echo().

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

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

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

Замечание: Пара слов о текстовых процессорах
Текстовые процессоры (StarOffice Writer, Microsoft Word, Abiword и др.) в большинстве случаев не подходят для редактирования файлов PHP.
Если вы используете текстовый процессор для создания скриптов на PHP, вы должны быть уверены, что сохраняете файл, как ЧИСТО ТЕКСТОВЫЙ. В противном случае PHP не сможет обработать и выполнить вашу программу.

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

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


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

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

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

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

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

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

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

Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)

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

$_SERVER - просто переменная, которая предоставлена вам языком PHP. Список таких переменных можно посмотреть в разделе "Зарезервированные переменные". А можно получить их полный список с помощью такой программы:

Пример #2 Показываем все стандартные переменные с помощью функции phpinfo()

<?php phpinfo(); ?>

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

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

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

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

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

You are using Internet Explorer<br />

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

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

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

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

<?php
if (strstr($_SERVER["HTTP_USER_AGENT"], "MSIE")) {
?>
<h3>strstr вернул true</h3>
<center><b>Вы используете Internet Explorer</b></center>
<?php
} else {
?>
<h3>strstr вернул false</h3>
<center><b>Вы не используете Internet Explorer</b></center>
<?php
}
?>

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

<h3>strstr вернул true</h3>
<center><b>Вы используете Internet Explorer</b></center>

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

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


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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

Для дополнительной информации касательно изменений, связанных с переменными, смотрите раздел "Предопределенные переменные" и ссылки этого раздела.

Работа с формами
Что дальше?
Краткое руководство


Что дальше?

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

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


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

  • Общие инструкции по установке
  • Установка на Unix системы
    • Apache 1.3.x на системах Unix
    • Apache 2.0 на Unix системах
    • Caudium
    • fhttpd related notes
    • Sun, iPlanet and Netscape servers on Sun Solaris
    • Установка с интерфейсами CGI и командной строки
    • HP-UX specific installation notes
    • OpenBSD installation notes
    • Solaris specific installation tips
    • Debian GNU/Linux installation notes
  • Installation on Mac OS X
    • Using Packages
    • Using the bundled PHP
    • Compiling for OS X Server
    • Installing for Apache on MacOS X Client
  • Installation on Windows systems
    • Windows Installer (PHP 5.1.0 and earlier)
    • Windows Installer (PHP 5.2 and later)
    • Manual Installation Steps
    • ActiveScript
    • Microsoft IIS / PWS
    • Apache 1.3.x on Microsoft Windows
    • Apache 2.0.x on Microsoft Windows
    • Sun, iPlanet and Netscape servers on Microsoft Windows
    • OmniHTTPd Server
    • Sambar Server on Microsoft Windows
    • Xitami on Microsoft Windows
    • Building from source
    • Installation of extensions on Windows
  • Установка расширений PECL
    • Введение в установку PECL
    • Загрузка расширений PECL
    • PECL для пользователей Windows
    • Компиляция общих расширений с помощью команды pecl
    • Компиляция общих расширений с помощью phpize
    • Компиляция расширений PECL статически в PHP
  • Проблемы?
    • Читайте FAQ
    • Другие проблемы
    • Bug reports
  • Runtime Configuration
    • The configuration file
    • Where a configuration setting may be set
    • How to change configuration settings
Что дальше?
Общие инструкции по установке
Руководство по 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.0 на Unix системах
  • Caudium
  • fhttpd related notes
  • Sun, iPlanet and Netscape servers on Sun Solaris
  • Установка с интерфейсами CGI и командной строки
  • HP-UX specific installation notes
  • OpenBSD installation notes
  • Solaris specific installation tips
  • Debian GNU/Linux installation notes

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

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

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

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

  • Базовые знания Unix (способность обращаться с "make" и компилятором C)
  • Компилятор ANSI C
  • flex: Version 2.5.4
  • bison: Version 1.28 (предпочтительно), 1.35, или 1.75
  • Веб-сервер
  • А так же библиотеки, требуемые для некоторых модулей PHP (gd, pdf libs и т.д.)

Общая (или начальная) конфигурация 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 и 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-dist /usr/local/lib/php.ini

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

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

    Для PHP 4:

      LoadModule php4_module modules/libphp4.so

    Для PHP 5:

      LoadModule php5_module modules/libphp5.so

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

    Для PHP 4:

      AddModule mod_php4.c

    Для PHP 5:

      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-dist /usr/local/lib/php.ini

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

Замечание: Замените php-5 на php-4 и php5 на php4, если вы устанавливаете 4-ю версию 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 (или libphp4.so для PHP 4). Эта библиотека должна быть подгружена в 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. (замените php5 на php4 для PHP 4). Поддержка 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.0 на Unix системах
Установка на Unix системы


Apache 2.0 на Unix системах

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

Внимание

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

За базовой информацией об Apache 2.0 обращаетесь к » документации Apache.

Замечание: Совместимость PHP и Apache 2.0.x
Следующие версии PHP признаны совместимыми с веб-сервером Apache 2.0.x

  • PHP 4.3.0 и более поздние, доступны на странице » http://www.php.net/downloads.php.
  • Последняя стабильная разрабатываемая версия. Скачать исходные коды можно здесь:» http://snaps.php.net/php5-latest.tar.gz, а бинарные сборки для Windows здесь: » http://snaps.php.net/win32/php5-win32-latest.zip.
  • Версии в разработке: » http://qa.php.net/.
  • Вы всегда можете получить PHP с помощью » анонимного CVS.

Эти версии PHP совместимы с Apache 2.0.40 и более поздними релизами сервера.
Apache 2.0 SAPI поддерживается начиная с версии PHP 4.2.0. PHP 4.2.3 работает с версией Apache 2.0.39, не используйте другие версии Apache с PHP 4.2.3. Все же рекомендуется устанавливать PHP 4.3.0 или более позднюю версию и самую последнюю версию Apache2.
Все упомянутые версии PHP продолжают работать с Apache 1.3.x.

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

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

1.  gzip -d httpd-2_0_NN.tar.gz
2.  tar xvf httpd-2_0_NN.tar
3.  gunzip php-NN.tar.gz
4.  tar -xvf php-NN.tar
5.  cd httpd-2_0_NN
6.  ./configure --enable-so
7.  make
8.  make install

    Теперь ваш Apache 2.0.NN доступен как /usr/local/apache2,
    сконфигурирован с поддержкой подгружаемых модулей и стандартным
    мульти-процессорным модулем (MPM) prefork.
    Чтобы простестировать правильность установки используйте стандартную
    процедуру запуска Apache, такую как:
    /usr/local/apache2/bin/apachectl start
    Затем остановите сервер, чтобы сконфигурировать и установить PHP
    /usr/local/apache2/bin/apachectl stop.

9.  cd ../php-NN

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

      ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql

11. make
12. make install

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

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

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

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

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

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

    Для PHP 4:

      LoadModule php4_module modules/libphp4.so

    Для PHP 5:

      LoadModule php5_module modules/libphp5.so

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

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

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

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

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

      /usr/local/apache2/bin/apachectl start

Следуя иструкциям выше вы запустите веб-сервер Apache 2.0 с поддержкой PHP, как модуля SAPI. Конечно, для PHP и Apache доступно гораздо больше параметров конфигурации. Используйте ./configure --help для получения полного списка параметров конфигурации. Если вы хотите собрать многопоточную версию Apache 2.0, вам следует заменить стандартный модуль MPM prefork на worker или perchild. Чтобы сделать это, нужно добавить в строку configure на шаге 6, описанном выше один из двух параметров --with-mpm=worker или --with-mpm=perchild. Вам следует знать как могут повлиять такие изменения. Для получения подробной информации прочитайте документацию Apache касательно » модулей MPM.

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

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

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


Caudium

PHP can be built as a Pike module for the » Caudium webserver. Follow the simple instructions below to install PHP for Caudium.

Пример #1 Caudium Installation Instructions

1.  Make sure you have Caudium installed prior to attempting to
    install PHP 4. For PHP 4 to work correctly, you will need Pike
    7.0.268 or newer. For the sake of this example we assume that
    Caudium is installed in /opt/caudium/server/.
2.  Change directory to php-x.y.z (where x.y.z is the version number).
3.  ./configure --with-caudium=/opt/caudium/server
4.  make
5.  make install
6.  Restart Caudium if it's currently running.
7.  Log into the graphical configuration interface and go to the
    virtual server where you want to add PHP 4 support.
8.  Click Add Module and locate and then add the PHP 4 Script Support module.
9.  If the documentation says that the 'PHP 4 interpreter isn't
    available', make sure that you restarted the server. If you did
    check /opt/caudium/logs/debug/default.1 for any errors related to
    PHP4.so. Also make sure that
    caudium/server/lib/[pike-version]/PHP4.so
    is present.
10. Configure the PHP Script Support module if needed.

You can of course compile your Caudium module with support for the various extensions available in PHP 4. See the reference pages for extension specific configure options.

Замечание: When compiling PHP 4 with MySQL support you must make sure that the normal MySQL client code is used. Otherwise there might be conflicts if your Pike already has MySQL support. You do this by specifying a MySQL install directory the --with-mysql option.

Apache 2.0 на Unix системах
fhttpd related notes
Установка на Unix системы


fhttpd related notes

To build PHP as an fhttpd module, answer "yes" to "Build as an fhttpd module?" (the --with-fhttpd=DIR option to configure) and specify the fhttpd source base directory. The default directory is /usr/local/src/fhttpd. If you are running fhttpd, building PHP as a module will give better performance, more control and remote execution capability.

Замечание: Support for fhttpd is no longer available as of PHP 4.3.0.

Caudium
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!!!

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


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

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

Внимание

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

В PHP 4.0.3 было добавлено несколько важных дополнений. Новый SAPI командной строки, названый CLI, и имеющий такое же имя как и CGI. Исполняемый файл устанавливается в {PREFIX}/bin/php, где {PREFIX} указывается вами при запуске конфигурационного скрипта перед сборкой. Более детально вы можете ознакомиться с этой темой в разделе Использование PHP в командной строке.

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

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

Тестирование производительности(Benchmarking)

Если вы собрали PHP 3 как CGI, вы можете протестировать производительность вашей сборки посредством команды make bench. Заметьте, что если безопасный режим включен по умолчанию, тестирование производительности не сможет нормально завершиться, если оно длится более 30 секунд. Это происходит потому, что функция set_time_limit() не может использоваться при включенном безопасный режим. Используйте параметр max_execution_time в конфигурационном файле, чтобы позволить вашим скриптам исполняться дольше 30 секунд. make bench игнорирует конфигурационный файл.

Замечание: make bench доступно только для PHP 3.

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

Некоторые переменные окружения сервера не определены в текущей » спецификации 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 specific installation notes
Установка на Unix системы


HP-UX specific installation notes

This section contains notes and hints specific to installing PHP on HP-UX systems.

There are two main options for installing PHP on HP-UX systems. Either compile it, or install a pre-compiled binary.

Official pre-compiled packages are located here: » http://software.hp.com/

Until this manual section is rewritten, the documentation about compiling PHP (and related extensions) on HP-UX systems has been removed. For now, consider reading the following external resource: » Building Apache and PHP on 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 specific installation notes
Solaris specific installation tips
Установка на Unix системы


Solaris specific installation tips

This section contains notes and hints specific to installing PHP on Solaris systems.

Required software

Solaris installs often lack C compilers and their related tools. Read this FAQ for information on why using GNU versions for some of these tools is necessary. The required software is as follows:

  • gcc (recommended, other C compilers may work)
  • make
  • flex
  • bison
  • m4
  • autoconf
  • automake
  • perl
  • gzip
  • tar
  • GNU sed

In addition, you will need to install (and possibly compile) any additional software specific to your configuration, such as Oracle or MySQL.

Using Packages

You can simplify the Solaris install process by using pkgadd to install most of your needed components.

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.

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 specific installation tips
Installation on Mac OS X
Установка на Unix системы


Installation on Mac OS X

Содержание

  • Using Packages
  • Using the bundled PHP
  • Compiling for OS X Server
  • Installing for Apache on MacOS X Client

This section contains notes and hints specific to installing PHP on Mac OS X. There are two slightly different versions of Mac OS X, Client and Server, our manual deals with installing PHP on both systems. Note that PHP is not available for MacOS 9 and earlier versions.

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://fink.sourceforge.net/

Installation on Mac OS X
Using the bundled PHP
Installation on 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: /etc/httpd/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 /etc/httpd/httpd.conf Noteworthy nano commands: ^w (search), ^o (save), and ^x (exit) where ^ represents the Ctrl key.

  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
Compiling for OS X Server
Installation on Mac OS X


Compiling for OS X Server

Mac OS X Server install

  1. Get the latest distributions of Apache and PHP.

  2. Untar them, and run the configure program on Apache like so.

    ./configure --exec-prefix=/usr \
--localstatedir=/var \
--mandir=/usr/share/man \
--libexecdir=/System/Library/Apache/Modules \
--iconsdir=/System/Library/Apache/Icons \
--includedir=/System/Library/Frameworks/Apache.framework/Versions/1.3/Headers \
--enable-shared=max \
--enable-module=most \
--target=apache

  3. If you want the compiler to do some optimization, you may also want to add this line:

    setenv OPTIM=-O2

  4. Next, go to the PHP 4 source directory and configure it.

    ./configure --prefix=/usr \
    --sysconfdir=/etc \
    --localstatedir=/var \
    --mandir=/usr/share/man \
    --with-xml \
    --with-apache=/src/apache_1.3.12

    If you have any other additions (MySQL, GD, etc.), be sure to add them here. For the --with-apache string, put in the path to your apache source directory, for example /src/apache_1.3.12.

  5. Type make and make install. This will add a directory to your Apache source directory under src/modules/php4.

  6. Now, reconfigure Apache to build in PHP 4.

    ./configure --exec-prefix=/usr \
--localstatedir=/var \
--mandir=/usr/share/man \
--libexecdir=/System/Library/Apache/Modules \
--iconsdir=/System/Library/Apache/Icons \
--includedir=/System/Library/Frameworks/Apache.framework/Versions/1.3/Headers \
--enable-shared=max \
--enable-module=most \
--target=apache \
--activate-module=src/modules/php4/libphp4.a

    You may get a message telling you that libmodphp4.a is out of date. If so, go to the src/modules/php4 directory inside your Apache source directory and run this command: ranlib libmodphp4.a. Then go back to the root of the Apache source directory and run the above configure command again. That'll bring the link table up to date. Run make and make install again.

  7. Copy and rename the php.ini-dist file to your bin directory from your PHP 4 source directory: cp php.ini-dist /usr/local/bin/php.ini or (if your don't have a local directory) cp php.ini-dist /usr/bin/php.ini .

Using the bundled PHP
Installing for Apache on MacOS X Client
Installation on Mac OS X


Installing for Apache on MacOS X Client

The following instructions will help you install a PHP module for the Apache web server included in MacOS X using the MacOS GUI. This version includes MySQL, PostgreSQL, and iODBC database support, cURL, GD, PDFLib, LDAP, and more. These instructions are graciously provided by » Marc Liyanage.

Внимание

Be sure you know what you're doing before advancing beyond this point! You can cause irreparable harm to your Apache installation otherwise.

Замечание: These instructions will only work with the original Apache web server as shipped by Apple. If you re-built or upgraded your Apache, you will have to build your own PHP module.

To install:

  1. For Apache 1.3, download: http://www2.entropy.ch/download/entropy-php-5.2.4-1.tar.gz
  2. For Apache 2, download: wget http://www2.entropy.ch/download/entropy-php-5.2.4-1-apache2.tar.gz
  3. Unpack the compressed .tar.gz file, but DO NOT USE StuffIt Expander. Instead, use Apple's BOMArchiveHelper or the command line.
  4. Double-click the installer package and follow the directions of the installer application.

That's all! PHP should now be up and running. You can test it by dropping a file named test.php into your Sites folder in your home directory. Into that file, write this line: <?php phpinfo() ?>.

Now open up 127.0.0.1/~your_username/test.php in your web browser. You should see a status table with information about the PHP module.

Compiling for OS X Server
Installation on Windows systems
Installation on Mac OS X


Installation on Windows systems

Содержание

  • Windows Installer (PHP 5.1.0 and earlier)
  • Windows Installer (PHP 5.2 and later)
  • Manual Installation Steps
  • ActiveScript
  • Microsoft IIS / PWS
  • Apache 1.3.x on Microsoft Windows
  • Apache 2.0.x on Microsoft Windows
  • Sun, iPlanet and Netscape servers on Microsoft Windows
  • OmniHTTPd Server
  • Sambar Server on Microsoft Windows
  • Xitami on Microsoft Windows
  • Building from source
  • Installation of extensions on 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 95 is no longer supported as of PHP 4.3.0.

Замечание: 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 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.

Installing for Apache on MacOS X Client
Windows Installer (PHP 5.1.0 and earlier)
Установка и настройка


Windows Installer (PHP 5.1.0 and earlier)

The Windows PHP installer is available from the downloads page at » http://www.php.net/downloads.php. This installs the CGI version of PHP and for IIS, PWS, and Xitami, it configures the web server as well. The installer does not include any extra external PHP extensions (php_*.dll) as you'll only find those in the Windows Zip Package and PECL downloads.

Замечание: While the Windows installer is an easy way to make PHP work, it is restricted in many aspects as, for example, the automatic setup of extensions is not supported. Use of the installer isn't the preferred method for installing PHP.

First, install your selected HTTP (web) server on your system, and make sure that it works.

Run the executable installer and follow the instructions provided by the installation wizard. Two types of installation are supported - standard, which provides sensible defaults for all the settings it can, and advanced, which asks questions as it goes along.

The installation wizard gathers enough information to set up the php.ini file, and configure certain web servers to use PHP. One of the web servers the PHP installer does not configure for is Apache, so you'll need to configure it manually.

Once the installation has completed, the installer will inform you if you need to restart your system, restart the server, or just start using PHP.

Внимание

Be aware, that this setup of PHP is not secure. If you would like to have a secure PHP setup, you'd better go on the manual way, and set every option carefully. This automatically working setup gives you an instantly working PHP installation, but it is not meant to be used on online servers.

Installation on Windows systems
Windows Installer (PHP 5.2 and later)
Installation on Windows systems


Windows Installer (PHP 5.2 and later)

The Windows PHP installer for later versions of PHP is built using MSI technology using the Wix Toolkit (» http://wix.sourceforge.net/). It will install and configure PHP and all the built-in and PECL extensions, as well as configure many of the popular web servers such as IIS, Apache, and Xitami.

First, install your selected HTTP (web) server on your system, and make sure that it works. Then proceed with one of the following install types.

Normal Install

Run the MSI installer and follow the instructions provided by the installation wizard. You will be prompted to select the Web Server you wish to configure first, along with any configuration details needed.

You will then be prompted to select which features and extensions you wish to install and enable. By selecting "Will be installed on local hard drive" in the drop-down menu for each item you can trigger whether to install the feature or not. By selecting "Entire feature will be installed on local hard drive", you will be able to install all sub-features of the included feature ( for example by selecting this options for the feature "PDO" you will install all PDO Drivers ).

Внимание

It is not recommended to install all extensions by default, since many other them require dependencies from outside PHP in order to function properly. Instead, use the Installation Repair Mode that can be triggered thru the 'Add/Remove Programs' control panel to enable or disable extensions and features after installation.

The installer then sets up PHP to be used in Windows and the php.ini file, and configures certain web servers to use PHP. The installer will currently configure IIS, Apache, Xitami, and Sambar Server; if you are using a different web server you'll need to configure it manually.

Silent Install

The installer also supports a silent mode, which is helpful for Systems Administrators to deploy PHP easily. To use silent mode:

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

You can control the install directory by passing it as a parameter to the install. For example, to install to e:\php:

msiexec.exe /i php-VERSION-win32-install.msi /q INSTALLDIR=e:\php
You can also use the same syntax to specify the Apache Configuration Directory (APACHEDIR), the Sambar Server directory (SAMBARDIR), and the Xitami Server directory (XITAMIDIR).

You can also specify what features to install. For example, to install the mysqli extension and the CGI executable:

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

The current list of Features to install is as follows:

MainExecutable - php.exe executable
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

For more information on installing MSI installers from the command line, visit » http://msdn.microsoft.com/en-us/library/aa367988.aspx

Upgrading PHP with the Install

To upgrade, run the installer either graphically or from the command line as normal. The installer will read your current install options, remove your old installation, and reinstall PHP with the same options as before. It is recommended that you use this method of keeping PHP updated instead of manually replacing the files in the installation directory.

Windows Installer (PHP 5.1.0 and earlier)
Manual Installation Steps
Installation on Windows systems


Manual Installation Steps

This install guide will help you manually install and configure PHP with a web server on Microsoft Windows. To get started you'll need to download the zip binary distribution from the downloads page at » http://www.php.net/downloads.php.

Although there are many all-in-one installation kits, and we also distribute a PHP installer for Microsoft Windows, we recommend you take the time to setup PHP yourself as this will provide you with a better understanding of the system, and enables you to install PHP extensions easily when needed.

Замечание: Upgrading from a previous PHP version
Previous editions of the manual suggest moving various ini and DLL files into your SYSTEM (i.e. C:\WINDOWS) folder and while this simplifies the installation procedure it makes upgrading difficult. We advise you remove all of these files (like php.ini and PHP related DLLs from the Windows SYSTEM folder) before moving on with a new PHP installation. Be sure to backup these files as you might break the entire system. The old php.ini might be useful in setting up the new PHP as well. And as you'll soon learn, the preferred method for installing PHP is to keep all PHP related files in one directory and have this directory available to your systems PATH.

Замечание: MDAC requirements
If you use Microsoft Windows 98/NT4 download the latest version of the Microsoft Data Access Components (MDAC) for your platform. MDAC is available at » http://msdn.microsoft.com/data/. This requirement exists because ODBC is built into the distributed Windows binaries.

The following steps should be completed on all installations before any server specific instructions are performed:

Extract the distribution file into a directory of your choice. If you are installing PHP 4, extract to C:\, as the zip file expands to a foldername like php-4.3.7-Win32. If you are installing PHP 5, extract to C:\php as the zip file doesn't expand as in PHP 4. You may choose a different location but do not have spaces in the path (like C:\Program Files\PHP) as some web servers will crash if you do.

The directory structure extracted from the zip is different for PHP versions 4 and 5 and look like as follows:

Пример #1 PHP 4 package structure

c:\php
   |
   +--cli
   |  |
   |  |-php.exe           -- CLI executable - ONLY for command line scripting
   |
   +--dlls                -- support DLLs required by some extensions
   |  |
   |  |-expat.dll
   |  |
   |  |-fdftk.dll
   |  |
   |  |-...
   |
   +--extensions          -- extension DLLs for PHP
   |  |
   |  |-php_bz2.dll
   |  |
   |  |-php_cpdf.dll
   |  |
   |  |-...
   |
   +--mibs                -- support files for SNMP
   |
   +--openssl             -- support files for Openssl
   |
   +--pdf-related         -- support files for PDF
   |
   +--sapi                -- SAPI (server module support) DLLs
   |  |
   |  |-php4apache.dll
   |  |
   |  |-php4apache2.dll
   |  |
   |  |-...
   |
   +--PEAR                -- initial copy of PEAR
   |
   |
   |-go-pear.bat          -- PEAR setup script
   |
   |-...
   |
   |-php.exe              -- CGI executable
   |
   |-...
   |
   |-php.ini-dist         -- default php.ini settings
   |
   |-php.ini-recommended  -- recommended php.ini settings
   |
   |-php4ts.dll           -- core PHP DLL
   |
   |-...

Or:

Пример #2 PHP 5 package structure

c:\php
   |
   +--dev
   |  |
   |  |-php5ts.lib
   |
   +--ext                 -- extension DLLs for PHP
   |  |
   |  |-php_bz2.dll
   |  |
   |  |-php_cpdf.dll
   |  |
   |  |-...
   |
   +--extras
   |  |
   |  +--mibs             -- support files for SNMP
   |  |
   |  +--openssl          -- support files for Openssl
   |  |
   |  +--pdf-related      -- support files for PDF
   |  |
   |  |-mime.magic
   |
   +--pear                -- initial copy of PEAR
   |
   |
   |-go-pear.bat          -- PEAR setup script
   |
   |-fdftk.dll
   |
   |-...
   |
   |-php-cgi.exe          -- CGI executable
   |
   |-php-win.exe          -- executes scripts without an opened command prompt
   |
   |-php.exe              -- CLI executable - ONLY for command line scripting
   |
   |-...
   |
   |-php.ini-dist         -- default php.ini settings
   |
   |-php.ini-recommended  -- recommended php.ini settings
   |
   |-php5activescript.dll
   |
   |-php5apache.dll
   |
   |-php5apache2.dll
   |
   |-...
   |
   |-php5ts.dll           -- core PHP DLL
   |
   |-...

Notice the differences and similarities. Both PHP 4 and PHP 5 have a CGI executable, a CLI executable, and server modules, but they are located in different folders and/or have different names. While PHP 4 packages have the server modules in the sapi folder, PHP 5 distributions have no such directory and instead they're in the PHP folder root. The supporting DLLs for the PHP 5 extensions are also not in a seperate directory.

Замечание: In PHP 4, you should move all files located in the dll and sapi folders to the main folder (e.g. C:\php).

Here is a list of server modules shipped with PHP 4 and PHP 5:

  • sapi/php4activescript.dll (php5activescript.dll) - ActiveScript engine, allowing you to embed PHP in your Windows applications.

  • sapi/php4apache.dll (php5apache.dll) - Apache 1.3.x module.

  • sapi/php4apache2.dll (php5apache2.dll) - Apache 2.0.x module.

  • sapi/php5apache2_2.dll - Apache 2.2.x module.

  • sapi/php4isapi.dll (php5isapi.dll) - ISAPI Module for ISAPI compliant web servers like IIS 4.0/PWS 4.0 or newer.

  • sapi/php4nsapi.dll (php5nsapi.dll) - Sun/iPlanet/Netscape server module.

  • sapi/php4pi3web.dll (no equivalent in PHP 5) - Pi3Web server module.

Server modules provide significantly better performance and additional functionality compared to the CGI binary. The CLI version is designed to let you use PHP for command line scripting. More information about CLI is available in the chapter about using PHP from the command line.

Внимание

The SAPI modules have been significantly improved as of the 4.1 release, however, in older systems you may encounter server errors or other server modules failing, such as ASP.

The CGI and CLI binaries, and the web server modules all require the php4ts.dll (php5ts.dll) file to be available to them. You have to make sure that this file can be found by your PHP installation. The search order for this DLL is as follows:

  • The same directory from where php.exe is called, or in case you use a SAPI module, the web server's directory (e.g. C:\Program Files\Apache Group\Apache2\bin).

  • Any directory in your Windows PATH environment variable.

To make php4ts.dll / php5ts.dll available you have three options: copy the file to the Windows system directory, copy the file to the web server's directory, or add your PHP directory, C:\php to the PATH. For better maintenance, we advise you to follow the last option, add C:\php to the PATH, because it will be simpler to upgrade PHP in the future. Read more about how to add your PHP directory to PATH in the corresponding FAQ entry (and then don't forget to restart the computer - logoff isn't enough).

The next step is to set up a valid configuration file for PHP, php.ini. There are two ini files distributed in the zip file, php.ini-dist and php.ini-recommended. We advise you to use php.ini-recommended, because we optimized the default settings in this file for performance, and security. Read this well documented file carefully because it has changes from php.ini-dist that will drastically affect your setup. Some examples are display_errors being off and magic_quotes_gpc being off. In addition to reading these, study the ini settings and set every element manually yourself. If you would like to achieve the best security, then this is the way for you, although PHP works fine with these default ini files. Copy your chosen ini-file to a directory that PHP is able to find and rename it to php.ini. PHP searches for php.ini in the locations described in The configuration file section.

If you are running Apache 2, the simpler option is to use the PHPIniDir directive (read the installation on Apache 2 page), otherwise your best option is to set the PHPRC environment variable. This process is explained in the following FAQ entry.

Замечание: If you're using NTFS on Windows NT, 2000, XP or 2003, make sure that the user running the web server has read permissions to your php.ini (e.g. make it readable by Everyone).

The following steps are optional:

  • Edit your new php.ini file. If you plan to use OmniHTTPd, do not follow the next step. Set the doc_root to point to your web servers document_root. For example:

    doc_root = c:\inetpub\wwwroot // for IIS/PWS

doc_root = c:\apache\htdocs // for Apache

  • Choose the extensions you would like to load when PHP starts. See the section about Windows extensions, about how to set up one, and what is already built in. Note that on a new installation it is advisable to first get PHP working and tested without any extensions before enabling them in php.ini.
  • On PWS and IIS, you can set the browscap configuration setting to point to: c:\windows\system\inetsrv\browscap.ini on Windows 9x/Me, c:\winnt\system32\inetsrv\browscap.ini on NT/2000, and c:\windows\system32\inetsrv\browscap.ini on XP. For an up-to-date browscap.ini, read the following FAQ.

PHP is now setup on your system. The next step is to choose a web server, and enable it to run PHP. Choose a web server from the table of contents.

Windows Installer (PHP 5.2 and later)
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 со страницы » PHP Downloads или » http://snaps.php.net/.

Замечание: 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.

Manual Installation Steps
Microsoft IIS / PWS
Installation on Windows systems


Microsoft IIS / PWS

This section contains notes and hints specific to IIS (Microsoft Internet Information Server).

Внимание

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

General considerations for all installations of PHP with IIS or PWS

  • First, read the Manual Installation Instructions. Do not skip this step as it provides crucial information for installing PHP on Windows.
  • CGI users must set the cgi.force_redirect PHP directive to 0 inside php.ini. Read the faq on cgi.force_redirect for important details. Also, CGI users may want to set the cgi.redirect_status_env directive. When using directives, be sure these directives aren't commented out inside php.ini.
  • The PHP 4 CGI is named php.exe while in PHP 5 it's php-cgi.exe. In PHP 5, php.exe is the CLI, and not the CGI.
  • Modify the Windows PATH environment variable to include the PHP directory. This way the PHP DLL files and PHP executables can all remain in the PHP directory without cluttering up the Windows system directory. For more details, see the FAQ on Setting the PATH.
  • The IIS user (usually IUSR_MACHINENAME) needs permission to read various files and directories, such as php.ini, docroot, and the session tmp directory.
  • Be sure the extension_dir and doc_root PHP directives are appropriately set in php.ini. These directives depend on the system that PHP is being installed on. In PHP 4, the extension_dir is extensions while with PHP 5 it's ext. So, an example PHP 5 extensions_dir value is "c:\php\ext" and an example IIS doc_root value is "c:\Inetpub\wwwroot".
  • PHP extension DLL files, such as php_mysql.dll and php_curl.dll, are found in the zip package of the PHP download (not the PHP installer). In PHP 5, many extensions are part of PECL and can be downloaded in the "Collection of PECL modules" package. Files such as php_zip.dll and php_ssh2.dll. » Download PHP files here.
  • When defining the executable, the 'check that file exists' box may also be checked. For a small performance penalty, the IIS (or PWS) will check that the script file exists and sort out authentication before firing up PHP. This means that the web server will provide sensible 404 style error messages instead of CGI errors complaining that PHP did not output any data.
  • The PHP executable is distributed as a 32bit application. If you are running a 64bit version of Windows you will either need to rebuild the binary yourself, or make sure IIS is configured to also run 32bit extensions. You can usually turn this on by using the IIS Administration script as follows: Cscript.exe adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1

Windows NT/200x/XP and IIS 4 or newer

PHP may be installed as a CGI binary, or with the ISAPI module. In either case, you need to start the Microsoft Management Console (may appear as 'Internet Services Manager', either in your Windows NT 4.0 Option Pack branch or the Control Panel=>Administrative Tools under Windows 2000/XP). Then right click on your Web server node (this will most probably appear as 'Default Web Server'), and select 'Properties'.

If you want to use the CGI binary, do the following:

  • Under 'Home Directory', 'Virtual Directory', or 'Directory', do the following:
  • Change the Execute Permissions to 'Scripts only'
  • Click on the 'Configuration' button, and choose the Application Mappings tab. Click Add and set the Executable path to the appropriate CGI file. An example PHP 5 value is: C:\php\php-cgi.exe Supply .php as the extension. Leave 'Method exclusions' blank, and check the 'Script engine' checkbox. Now, click OK a few times.
  • Set up the appropriate security. (This is done in Internet Service Manager), and if your NT Server uses NTFS file system, add execute rights for I_USR_ to the directory that contains php.exe / php-cgi.exe.

To use the ISAPI module, do the following:

  • If you don't want to perform HTTP Authentication using PHP, you can (and should) skip this step. Under ISAPI Filters, add a new ISAPI filter. Use PHP as the filter name, and supply a path to the php4isapi.dll / php5isapi.dll.
  • Under 'Home Directory', 'Virtual Directory', or 'Directory', do the following:
  • Change the Execute Permissions to 'Scripts only'
  • Click on the 'Configuration' button, and choose the Application Mappings tab. Click Add and set the Executable path to the appropriate ISAPI DLL. An example PHP 5 value is: C:\php\php5isapi.dll Supply .php as the extension. Leave 'Method exclusions' blank, and check the 'Script engine' checkbox. Now, click OK a few times.
  • Stop IIS completely (NET STOP iisadmin)
  • Start IIS again (NET START w3svc)

With IIS 6 (2003 Server), open up the IIS Manager, go to Web Service Extensions, choose "Add a new Web service extension", enter in a name such as PHP, choose the Add button and for the value browse to either the ISAPI file (php4isapi.dll or php5isapi.dll) or CGI (php.exe or php-cgi.exe) then check "Set extension status to Allowed" and click OK.

In order to use index.php as a default content page, do the following: From within the Documents tab, choose Add. Type in index.php and click OK. Adjust the order by choosing Move Up or Move Down. This is similar to setting DirectoryIndex with Apache.

The steps above must be repeated for each extension that is to be associated with PHP scripts. .php is the most common although .php3 may be required for legacy applications.

If you experience 100% CPU usage after some time, turn off the IIS setting Cache ISAPI Application.

Windows and PWS 4

PWS 4 does not support ISAPI, only PHP CGI should be used.

  • Edit the enclosed pws-php4cgi.reg / pws-php5cgi.reg file (look into the SAPI folder for PHP 4, or in the main folder for PHP 5) to reflect the location of your php.exe / php-cgi.exe. Backslashes should be escaped, for example: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters\Script Map] ".php"="C:\\php\\php.exe" (change to C:\\php\\php-cgi.exe if you are using PHP 5) Now merge this registery file into your system; you may do this by double-clicking it.
  • In the PWS Manager, right click on a given directory you want to add PHP support to, and select Properties. Check the 'Execute' checkbox, and confirm.

Windows and PWS/IIS 3

The recommended method for configuring these servers is to use the REG file included with the distribution (pws-php4cgi.reg in the SAPI folder for PHP 4, or pws-php5cgi.reg in the main folder for PHP 5). You may want to edit this file and make sure the extensions and PHP install directories match your configuration. Or you can follow the steps below to do it manually.

Внимание

These steps involve working directly with the Windows registry. One error here can leave your system in an unstable state. We highly recommend that you back up your registry first. The PHP Development team will not be held responsible if you damage your registry.

  • Run Regedit.
  • Navigate to: HKEY_LOCAL_MACHINE /System /CurrentControlSet /Services /W3Svc /Parameters /ScriptMap.
  • On the edit menu select: New->String Value.
  • Type in the extension you wish to use for your php scripts. For example .php
  • Double click on the new string value and enter the path to php.exe in the value data field. ex: C:\php\php.exe "%s" %s for PHP 4, or C:\php\php-cgi.exe "%s" %s for PHP 5.
  • Repeat these steps for each extension you wish to associate with PHP scripts.

The following steps do not affect the web server installation and only apply if you want your PHP scripts to be executed when they are run from the command line (ex. run C:\myscripts\test.php) or by double clicking on them in a directory viewer window. You may wish to skip these steps as you might prefer the PHP files to load into a text editor when you double click on them.

  • Navigate to: HKEY_CLASSES_ROOT
  • On the edit menu select: New->Key.
  • Name the key to the extension you setup in the previous section. ex: .php
  • Highlight the new key and in the right side pane, double click the "default value" and enter phpfile.
  • Repeat the last step for each extension you set up in the previous section.
  • Now create another New->Key under HKEY_CLASSES_ROOT and name it phpfile.
  • Highlight the new key phpfile and in the right side pane, double click the "default value" and enter PHP Script.
  • Right click on the phpfile key and select New->Key, name it Shell.
  • Right click on the Shell key and select New->Key, name it open.
  • Right click on the open key and select New->Key, name it command.
  • Highlight the new key command and in the right side pane, double click the "default value" and enter the path to php.exe. ex: c:\php\php.exe -q %1. (don't forget the %1).
  • Exit Regedit.
  • If using PWS on Windows, reboot to reload the registry.

PWS and IIS 3 users now have a fully operational system. IIS 3 users can use a nifty » tool from Steven Genusa to configure their script maps.

ActiveScript
Apache 1.3.x on Microsoft Windows
Installation on Windows systems


Apache 1.3.x on Microsoft Windows

This section contains notes and hints specific to Apache 1.3.x installs of PHP on Microsoft Windows systems. There are also instructions and notes for Apache 2 on a separate page.

Замечание: Please read the manual installation steps first!

There are two ways to set up PHP to work with Apache 1.3.x on Windows. One is to use the CGI binary (php.exe for PHP 4 and php-cgi.exe for PHP 5), the other is to use the Apache Module DLL. In either case you need to edit your httpd.conf to configure Apache to work with PHP, and then restart the server.

It is worth noting here that now the SAPI module has been made more stable under Windows, we recommend it's use above the CGI binary, since it is more transparent and secure.

Although there can be a few variations of configuring PHP under Apache, these are simple enough to be used by the newcomer. Please consult the Apache Documentation for further configuration directives.

After changing the configuration file, remember to restart the server, for example, NET STOP APACHE followed by NET START APACHE, if you run Apache as a Windows Service, or use your regular shortcuts.

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

Installing as an Apache module

You should add the following lines to your Apache httpd.conf file:

Пример #1 PHP as an Apache 1.3.x module

This assumes PHP is installed to c:\php. Adjust the path if this is not the case.

For 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

For 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

For both:

# 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

Installing as a CGI binary

If you unzipped the PHP package to C:\php\ as described in the Manual Installation Steps section, you need to insert these lines to your Apache configuration file to set up the CGI binary:

Пример #2 PHP and Apache 1.3.x as 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

Note that the second line in the list above can be found in the actual versions of httpd.conf, but it is commented out. Remember also to substitute the c:/php/ for your actual path to PHP.

Внимание

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

If you would like to present PHP source files syntax highlighted, there is no such convenient option as with the module version of PHP. If you chose to configure Apache to use PHP as a CGI binary, you will need to use the highlight_file() function. To do this simply create a PHP script file and add this code: <?php highlight_file('some_php_script.php'); ?>.

Microsoft IIS / PWS
Apache 2.0.x on Microsoft Windows
Installation on Windows systems


Apache 2.0.x on Microsoft Windows

This section contains notes and hints specific to Apache 2.0.x installs of PHP on Microsoft Windows systems. We also have instructions and notes for Apache 1.3.x users on a separate page.

Замечание: You should read the manual installation steps first!

Замечание: Apache 2.2.x Support
Users of Apache 2.2.x may use the documentation below except the appropriate DLL file is named php5apache2_2.dll and it only exists as of PHP 5.2.0. See also » http://snaps.php.net/

Внимание

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

You are highly encouraged to take a look at the » Apache Documentation to get a basic understanding of the Apache 2.0.x Server. Also consider to read the » Windows specific notes for Apache 2.0.x before reading on here.

Замечание: Совместимость PHP и Apache 2.0.x
Следующие версии PHP признаны совместимыми с веб-сервером Apache 2.0.x

  • PHP 4.3.0 и более поздние, доступны на странице » http://www.php.net/downloads.php.
  • Последняя стабильная разрабатываемая версия. Скачать исходные коды можно здесь:» http://snaps.php.net/php5-latest.tar.gz, а бинарные сборки для Windows здесь: » http://snaps.php.net/win32/php5-win32-latest.zip.
  • Версии в разработке: » http://qa.php.net/.
  • Вы всегда можете получить PHP с помощью » анонимного CVS.

Эти версии PHP совместимы с Apache 2.0.40 и более поздними релизами сервера.
Apache 2.0 SAPI поддерживается начиная с версии PHP 4.2.0. PHP 4.2.3 работает с версией Apache 2.0.39, не используйте другие версии Apache с PHP 4.2.3. Все же рекомендуется устанавливать PHP 4.3.0 или более позднюю версию и самую последнюю версию Apache2.
Все упомянутые версии PHP продолжают работать с Apache 1.3.x.

Внимание

Apache 2.0.x is designed to run on Windows NT 4.0, Windows 2000 or Windows XP. At this time, support for Windows 9x is incomplete. Apache 2.0.x is not expected to work on those platforms at this time.

Download the most recent version of » Apache 2.0.x and a fitting PHP version. Follow the Manual Installation Steps and come back to go on with the integration of PHP and Apache.

There are two ways to set up PHP to work with Apache 2.0.x on Windows. One is to use the CGI binary the other is to use the Apache module DLL. In either case you need to edit your httpd.conf to configure Apache to work with PHP and then restart the server.

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

Installing as a CGI binary

You need to insert these three lines to your Apache httpd.conf configuration file to set up the CGI binary:

Пример #1 PHP and Apache 2.0 as 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"

Внимание

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

Installing as an Apache module

You need to insert these two lines to your Apache httpd.conf configuration file to set up the PHP module for Apache 2.0:

Пример #2 PHP and Apache 2.0 as Module

# For PHP 4 do something like this:
LoadModule php4_module "c:/php/php4apache2.dll"
# Don't forget to copy the php4apache2.dll file from the sapi directory!
AddType application/x-httpd-php .php

# For PHP 5 do something like this:
LoadModule php5_module "c:/php/php5apache2.dll"
AddType application/x-httpd-php .php

# configure the path to php.ini
PHPIniDir "C:/php"

Замечание: Remember to substitute your actual path to PHP for the c:/php/ in the above examples. Take care to use either php4apache2.dll or php5apache2.dll in your LoadModule directive and not php4apache.dll or php5apache.dll as the latter ones are designed to run with Apache 1.3.x.

Замечание: If you want to use content negotiation, read related FAQ.

Внимание

Don't mix up your installation with DLL files from different PHP versions. You have the only choice to use the DLL's and extensions that ship with your downloaded PHP version.

Apache 1.3.x on 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.0.x on Microsoft Windows
OmniHTTPd Server
Installation on Windows systems


OmniHTTPd Server

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

Замечание: You should read the manual installation steps first!

Внимание

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

You need to complete the following steps to make PHP work with OmniHTTPd. This is a CGI executable setup. SAPI is supported by OmniHTTPd, but some tests have shown that it is not so stable to use PHP as an ISAPI module.

Замечание: Important for CGI users
Read the faq on cgi.force_redirect for important details. This directive needs to be set to 0.

  1. Install OmniHTTPd server.

  2. Right click on the blue OmniHTTPd icon in the system tray and select Properties

  3. Click on Web Server Global Settings

  4. On the 'External' tab, enter: virtual = .php | actual = c:\php\php.exe (use php-cgi.exe if installing PHP 5), and use the Add button.

  5. On the Mime tab, enter: virtual = wwwserver/stdcgi | actual = .php, and use the Add button.

  6. Click OK

Repeat steps 2 - 6 for each extension you want to associate with PHP.

Замечание: Some OmniHTTPd packages come with built in PHP support. You can choose at setup time to do a custom setup, and uncheck the PHP component. We recommend you to use the latest PHP binaries. Some OmniHTTPd servers come with PHP 4 beta distributions, so you should choose not to set up the built in support, but install your own. If the server is already on your machine, use the Replace button in Step 4 and 5 to set the new, correct information.

Sun, iPlanet and Netscape servers on Microsoft Windows
Sambar Server on Microsoft Windows
Installation on Windows systems


Sambar Server on Microsoft Windows

This section contains notes and hints specific to the » Sambar Server for Windows.

Замечание: You should read the manual installation steps first!

This list describes how to set up the ISAPI module to work with the Sambar server on Windows.

  • Find the file called mappings.ini (in the config directory) in the Sambar install directory.

  • Open mappings.ini and add the following line under [ISAPI]:

    Пример #1 ISAPI configuration of Sambar

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

#for PHP 5
*.php = c:\php\php5isapi.dll

    (This line assumes that PHP was installed in c:\php.)

  • Now restart the Sambar server for the changes to take effect.

Замечание: If you intend to use PHP to communicate with resources which are held on a different computer on your network, then you will need to alter the account used by the Sambar Server Service. The default account used for the Sambar Server Service is LocalSystem which will not have access to remote resources. The account can be amended by using the Services option from within the Windows Control Panel Administation Tools.

OmniHTTPd Server
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 on 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 системы.

This chapter is outdated therefore it's temporarily been removed from the manual. For now, consider the following:

  • Follow this guide: » here
  • See also: » the Windows wiki

Xitami on Microsoft Windows
Installation of extensions on Windows
Installation on Windows systems


Installation of extensions on Windows

After installing PHP and a web server on Windows, you will probably want to install some extensions for added functionality. You can choose which extensions you would like to load when PHP starts by modifying your php.ini. You can also load a module dynamically in your script using dl().

The DLLs for PHP extensions are prefixed with php_.

Many extensions are built into the Windows version of PHP. This means additional DLL files, and the extension directive, are not used to load these extensions. The Windows PHP Extensions table lists extensions that require, or used to require, additional PHP DLL files. Here's a list of built in extensions:

In PHP 4 (updated PHP 4.3.11): BCMath, Caledar, COM, Ctype, FTP, MySQL, ODBC, Overload, PCRE, Session, Tokenizer, WDDX, XML и Zlib

In PHP 5 (updated PHP 5.0.4), the following changes exist. Built in: DOM, LibXML, Iconv, SimpleXML, SPL и SQLite. And the following are no longer built in: MySQL and Overload.

The default location PHP searches for extensions is C:\php4\extensions in PHP 4 and C:\php5 in PHP 5. To change this setting to reflect your setup of PHP edit your php.ini file:

  • You will need to change the extension_dir setting to point to the directory where your extensions lives, or where you have placed your php_*.dll files. For example:

    extension_dir = C:\php\extensions

  • Enable the extension(s) in php.ini you want to use by uncommenting the extension=php_*.dll lines in php.ini. This is done by deleting the leading ; from the extension you want to load.

    Пример #1 Enable Bzip2 extension for PHP-Windows

    // change the following line from ...
;extension=php_bz2.dll

// ... to
extension=php_bz2.dll

  • Some of the extensions need extra DLLs to work. Couple of them can be found in the distribution package, in the C:\php\dlls\ folder in PHP 4 or in the main folder in PHP 5, but some, for example Oracle (php_oci8.dll) require DLLs which are not bundled with the distribution package. If you are installing PHP 4, copy the bundled DLLs from C:\php\dlls folder to the main C:\php folder. Don't forget to include C:\php in the system PATH (this process is explained in a separate FAQ entry).

  • Some of these DLLs are not bundled with the PHP distribution. See each extensions documentation page for details. Also, read the manual section titled Installation of PECL extensions for details on PECL. An increasingly large number of PHP extensions are found in PECL, and these extensions require a separate download.

Замечание: If you are running a server module version of PHP remember to restart your web server to reflect your changes to php.ini.

The following table describes some of the extensions available and required additional dlls.

PHP Extensions
Extension | Description | Notes
php_bz2.dll | bzip2 compression functions | None
php_calendar.dll | Calendar conversion functions | Built in since PHP 4.0.3
php_crack.dll | Crack functions | None
php_ctype.dll | ctype family functions | Built in since PHP 4.3.0
php_curl.dll | CURL, Client URL library functions | Requires: libeay32.dll, ssleay32.dll (bundled)
php_dba.dll | DBA: DataBase (dbm-style) Abstraction layer functions | None
php_dbase.dll | dBase functions | None
php_dbx.dll | dbx functions |
php_domxml.dll | DOM XML functions | PHP <= 4.2.0 requires: libxml2.dll (bundled) PHP >= 4.3.0 requires: iconv.dll (bundled)
php_dotnet.dll | .NET functions | PHP <= 4.1.1
php_exif.dll | EXIF functions | php_mbstring.dll. And, php_exif.dll must be loaded after php_mbstring.dll in php.ini.
php_fbsql.dll | FrontBase functions | PHP <= 4.2.0
php_fdf.dll | FDF: Forms Data Format functions. | Requires: fdftk.dll (bundled)
php_filepro.dll | filePro functions | Read-only access
php_ftp.dll | FTP functions | Built-in since PHP 4.0.3
php_gd.dll | GD library image functions | Removed in PHP 4.3.2. Also note that truecolor functions are not available in GD1, instead, use php_gd2.dll.
php_gd2.dll | GD library image functions | GD2
php_gettext.dll | Gettext functions | PHP <= 4.2.0 requires gnu_gettext.dll (bundled), PHP >= 4.2.3 requires libintl-1.dll, iconv.dll (bundled).
php_hyperwave.dll | HyperWave functions | None
php_iconv.dll | ICONV characterset conversion | Requires: iconv-1.3.dll (bundled), PHP >=4.2.1 iconv.dll
php_ifx.dll | Informix functions | Requires: Informix libraries
php_iisfunc.dll | IIS management functions | None
php_imap.dll | IMAP POP3 and NNTP functions | None
php_ingres.dll | Ingres functions | Requires: Ingres libraries
php_interbase.dll | InterBase functions | Requires: gds32.dll (bundled)
php_java.dll | Java functions | PHP <= 4.0.6 requires: jvm.dll (bundled)
php_ldap.dll | LDAP functions | PHP <= 4.2.0 requires libsasl.dll (bundled), PHP >= 4.3.0 requires libeay32.dll, ssleay32.dll (bundled)
php_mbstring.dll | Multi-Byte String functions | None
php_mcrypt.dll | Mcrypt Encryption functions | Requires: libmcrypt.dll
php_mhash.dll | Mhash functions | PHP >= 4.3.0 requires: libmhash.dll (bundled)
php_mime_magic.dll | Mimetype functions | Requires: magic.mime (bundled)
php_ming.dll | Ming functions for Flash | None
php_msql.dll | mSQL functions | Requires: msql.dll (bundled)
php_mssql.dll | MSSQL functions | Requires: ntwdblib.dll (bundled)
php_mysql.dll | MySQL functions | PHP >= 5.0.0, requires libmysql.dll (bundled)
php_mysqli.dll | MySQLi functions | PHP >= 5.0.0, requires libmysql.dll (libmysqli.dll in PHP <= 5.0.2) (bundled)
php_oci8.dll | Oracle 8 functions | Requires: Oracle 8.1+ client libraries
php_openssl.dll | OpenSSL functions | Requires: libeay32.dll (bundled)
php_overload.dll | Object overloading functions | Built in since PHP 4.3.0
php_pdf.dll | PDF functions | None
php_pgsql.dll | PostgreSQL functions | None
php_printer.dll | Printer functions | None
php_shmop.dll | Shared Memory functions | None
php_snmp.dll | SNMP get and walk functions | NT only!
php_soap.dll | SOAP functions | PHP >= 5.0.0
php_sockets.dll | Socket functions | None
php_sybase_ct.dll | Sybase functions | Requires: Sybase client libraries
php_tidy.dll | Tidy functions | PHP >= 5.0.0
php_tokenizer.dll | Tokenizer functions | Built in since PHP 4.3.0
php_w32api.dll | W32api functions | None
php_xmlrpc.dll | XML-RPC functions | PHP >= 4.2.1 requires: iconv.dll (bundled)
php_xslt.dll | XSLT functions | PHP <= 4.2.0 requires sablot.dll, expat.dll (bundled). PHP >= 4.2.1 requires sablot.dll, expat.dll, iconv.dll (bundled).
php_yaz.dll | YAZ functions | Requires: yaz.dll (bundled)
php_zip.dll | Zip File functions | Read only access
php_zlib.dll | ZLib compression functions | Built in since PHP 4.3.0

Building from source
Установка расширений PECL
Installation on Windows systems


Установка расширений PECL

Содержание

  • Введение в установку PECL
  • Загрузка расширений PECL
  • PECL для пользователей Windows
  • Компиляция общих расширений с помощью команды pecl
  • Компиляция общих расширений с помощью phpize
  • Компиляция расширений PECL статически в PHP
Installation of extensions on Windows
Введение в установку PECL
Установка и настройка


Введение в установку PECL

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

Эти инструкции подразумевают, что /your/phpsrcdir/ является путем к каталогу с дистрибутивом исходного кода PHP, а extname - это имя расширения PECL. Поэтому, приведем в соответствие. Эти инструкции также подразумевают знакомство с » командой pear. Информация в руководстве PEAR для команды pear также применима для команды pecl.

Для того, чтобы расширение можно было использовать, оно должно быть собрано, установлено и загружено. Методы, описанные ниже, предоставляют вам различные рекомендации по поводу того, как собрать и установить расширения, но сами они не будут автоматически загружены. Расширения могут быть загружены через добавление директивы extension в файл php.ini, или путем использования функции dl().

В процессе сборки модулей PHP важно, чтобы у вас были правильные версии необходимых утилит (autoconf, automake, libtool и т.д.). Информацию об этих утилитах и их версиях можно посмотреть тут » Anonymous CVS Instructions.

Установка расширений PECL
Загрузка расширений PECL
Установка расширений PECL


Загрузка расширений PECL

Есть несколько вариантов для загрузки расширений PECL, в том числе:

  • » http://pecl.php.net/ Вебсайт PECL содержит информацию о различных расширениях, которые предоставлены PHP Development Team. Информация, доступная на этом вебсайте, включает в себя: лог изменений, новости релизов, требования и другие подобные детали.
  • pecl download extname Расширения PECL, которые были опубликованы на сайте PECL, доступны для скачивания и установки через » команду pecl. Также, могут быть также указаны особые ревизии.
  • CVS Большинство расширений PECL, также, находятся в CVS. Веб-интерфейс для просмотра доступен по адресу » http://cvs.php.net/pecl/. Для загрузки напрямую из CVS используется следующая последовательность команд. Стоит отметить, что пользователь cvsread имеет пароль phpfi:

    $ cvs -d:pserver:cvsread@cvs.php.net:/repository login
    $ cvs -d:pserver:cvsread@cvs.php.net:/repository co pecl/extname

  • Загрузка для Windows Пользователи Windows могут найти скомпилированные расширения PECL путем скачивания Collection of PECL modules со страницы » PHP Downloads, либо через » PECL Snapshot, либо расширения DLL на странице » PECL4WIN. Для компиляции PHP под Windows прочитайте соответствующий раздел.
Введение в установку PECL
PECL для пользователей Windows
Установка расширений PECL


PECL для пользователей Windows

Как и в случае DLL расширения PHP, установка проста и заключается в копировании файла DLL расширения PECL в директорию extension_dir и подключением затем его через php.ini. Например, добавьте следующую строку в ваш php.ini:

extension=php_extname.dll

После выполнения этих действий, перезапустите web-сервис.

Загрузка расширений PECL
Компиляция общих расширений с помощью команды pecl
Установка расширений PECL


Компиляция общих расширений с помощью команды pecl

PECL позволяет легко создавать общие расширения PHP. Используя » команду pecl, выполните следующее:

$ pecl install extname

Эта команда загрузит исходный код для расширения extname, скомпилирует и установит extname.so в вашу директорию extension_dir. Файл extname.so может быть затем загружен в php.ini

По умолчанию, команда pecl не будет устанавливать пакеты, отмеченные состоянием alpha или beta. Если нет доступных стабильных версий пакетов, вы можете установить beta версию пакета, используя следующую команду:

$ pecl install extname-beta

Также, вы можете установить определенную версию используя такой вариант:

$ pecl install extname-0.1

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

PECL для пользователей Windows
Компиляция общих расширений с помощью phpize
Установка расширений PECL


Компиляция общих расширений с помощью phpize

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

Команда phpize используется для подготовки окружения для расширения PHP. В следующем примере директория, где находятся исходные коды расширения, называется extname:

$ cd extname
$ phpize
$ ./configure
$ make
# make install

В случае успешной установки будет создан файл extname.so и помещен в PHP extensions directory. Вам будет необходимо добавить строку extension=extname.so в php.ini перед тем, как вы станете использовать это расширение.

Если в системе отсутствует phpize, но существует возможность установки заранее скомпилированных пакетов (типа RPM), убедитесь, что установлена соответствующая devel версия пакета PHP, так как они часто содержат команду phpize с подходящими файлами заголовоков для сборки PHP и его расширений.

Используйте phpize --help для просмотра дополнительной информации.

Компиляция общих расширений с помощью команды pecl
Компиляция расширений 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

Компиляция общих расширений с помощью phpize
Проблемы?
Установка расширений 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/. Пожалуйста не шлите сообщения об ошибках в лист рассылки или как персональное сообщение. Система отслеживания ошибок так же пригодна для для запроса нововведений.

Прочитайте: » Как сообщать об ошибках перед тем как сообщать о них.

Другие проблемы
Runtime Configuration
Проблемы?


Runtime Configuration

Содержание

  • The configuration file
  • Where a configuration setting may be set
  • How to change configuration settings
Bug reports
The configuration file
Установка и настройка


The configuration file

The configuration file (php.ini) is read when PHP starts up. For the server module versions of PHP, this happens only once when the web server is started. For the CGI and CLI version, it happens on every invocation.

php.ini is searched in these locations (in order):

  • SAPI module specific location (PHPIniDir directive in Apache 2, -c command line option in CGI and CLI, php_ini parameter in NSAPI, PHP_INI_PATH environment variable in THTTPD)

  • The PHPRC environment variable. Before PHP 5.2.0 this was checked after the registry key mentioned below.

  • As of PHP 5.2.0, the location of the php.ini file can be set for different versions of PHP. The following registry keys are examined in order: [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y.z], [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y] and [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x], where x, y and z mean the PHP major, minor and release versions. If there is a value for IniFilePath in these keys, then the first one found will be used as the location of the php.ini (Windows only).

  • [HKEY_LOCAL_MACHINE\SOFTWARE\PHP], value of IniFilePath (Windows only).

  • Current working directory (except CLI)

  • The web server's directory (for SAPI modules), or directory of PHP (otherwise in Windows)

  • Windows directory (C:\windows or C:\winnt) (for Windows), or --with-config-file-path compile time option

If php-SAPI.ini exists (where SAPI is used SAPI, so the filename is e.g. php-cli.ini or php-apache.ini), it's used instead of php.ini. SAPI name can be determined by php_sapi_name().

Замечание: The Apache web server changes the directory to root at startup causing PHP to attempt to read php.ini from the root filesystem if it exists.

The php.ini directives handled by extensions are documented respectively on the pages of the extensions themselves. The list of the core directives is available in the appendix. Probably not all PHP directives are documented in the manual though. For a complete list of directives available in your PHP version, please read your well commented php.ini file. Alternatively, you may find the » the latest php.ini from CVS helpful too.

Пример #1 php.ini example

; any text on a line after an unquoted semicolon (;) is ignored
[php] ; section markers (text within square brackets) are also ignored
; Boolean values can be set to either:
;    true, on, yes
; or false, off, no, none
register_globals = off
track_errors = yes

; you can enclose strings in double-quotes
include_path = ".:/usr/local/lib/php"

; backslashes are treated the same as any other character
include_path = ".;c:\php\lib"

Since PHP 5.1.0, it is possible to refer to existing .ini variables from within .ini files. Example: open_basedir = ${open_basedir} ":/new/dir".

Runtime Configuration
Where a configuration setting may be set
Runtime Configuration


Where a configuration setting may be set

These modes determine when and where a PHP directive may or may not be set, and each directive within the manual refers to one of these modes. For example, some settings may be set within a PHP script using ini_set(), whereas others may require php.ini or httpd.conf.

For example, the output_buffering setting is PHP_INI_PERDIR therefore it may not be set using ini_set(). However, the display_errors directive is PHP_INI_ALL therefore it may be set anywhere, including with ini_set().

Definition of PHP_INI_* modes
Mode | Meaning
PHP_INI_USER | Entry can be set in user scripts (like with ini_set()) or in the Windows registry
PHP_INI_PERDIR | Entry can be set in php.ini, .htaccess or httpd.conf
PHP_INI_SYSTEM | Entry can be set in php.ini or httpd.conf
PHP_INI_ALL | Entry can be set anywhere

The configuration file
How to change configuration settings
Runtime Configuration


How to change configuration settings

Running PHP as an Apache module

When using PHP as an Apache module, you can also change the configuration settings using directives in Apache configuration files (e.g. httpd.conf) and .htaccess files. You will need "AllowOverride Options" or "AllowOverride All" privileges to do so.

There are several Apache directives that allow you to change the PHP configuration from within the Apache configuration files. For a listing of which directives are PHP_INI_ALL, PHP_INI_PERDIR, or PHP_INI_SYSTEM, have a look at the List of php.ini directives appendix.

php_value name value

Sets the value of the specified directive. Can be used only with PHP_INI_ALL and PHP_INI_PERDIR type directives. To clear a previously set value use none as the value.

Замечание: Don't use php_value to set boolean values. php_flag (see below) should be used instead.

php_flag name on|off

Used to set a boolean configuration directive. Can be used only with PHP_INI_ALL and PHP_INI_PERDIR type directives.

php_admin_value name value

Sets the value of the specified directive. This can not be used in .htaccess files. Any directive type set with php_admin_value can not be overridden by .htaccess or ini_set(). To clear a previously set value use none as the value.

php_admin_flag name on|off

Used to set a boolean configuration directive. This can not be used in .htaccess files. Any directive type set with php_admin_flag can not be overridden by .htaccess.

Пример #1 Apache configuration example

<IfModule mod_php5.c>
  php_value include_path ".:/usr/local/lib/php"
  php_admin_flag safe_mode on
</IfModule>
<IfModule mod_php4.c>
  php_value include_path ".:/usr/local/lib/php"
  php_admin_flag safe_mode on
</IfModule>

Предостережение

PHP constants do not exist outside of PHP. For example, in httpd.conf you can not use PHP constants such as E_ALL or E_NOTICE to set the error_reporting directive as they will have no meaning and will evaluate to 0. Use the associated bitmask values instead. These constants can be used in php.ini

Changing PHP configuration via the Windows registry

When running PHP on Windows, the configuration values can be modified on a per-directory basis using the Windows registry. The configuration values are stored in the registry key HKLM\SOFTWARE\PHP\Per Directory Values, in the sub-keys corresponding to the path names. For example, configuration values for the directory c:\inetpub\wwwroot would be stored in the key HKLM\SOFTWARE\PHP\Per Directory Values\c\inetpub\wwwroot. The settings for the directory would be active for any script running from this directory or any subdirectory of it. The values under the key should have the name of the PHP configuration directive and the string value. PHP constants in the values are not parsed. However, only configuration values changeable in PHP_INI_USER can be set this way, PHP_INI_PERDIR values can not.

Other interfaces to PHP

Regardless of how you run PHP, you can change certain values at runtime of your scripts through ini_set(). See the documentation on the ini_set() page for more information.

If you are interested in a complete list of configuration settings on your system with their current values, you can execute the phpinfo() function, and review the resulting page. You can also access the values of individual configuration directives at runtime using ini_get() or get_cfg_var().

Where a configuration setting may be set
Справочник языка
Runtime Configuration


Справочник языка

  • Основы синтаксиса
    • Вставка в HTML
    • Разделение инструкций
    • Комментарии
  • Типы
    • Введение
    • Булев
    • Целые
    • Числа с плавающей точкой
    • Строки
    • Массивы
    • Объекты
    • Ресурс
    • NULL
    • Псевдо-типы, используемые в этой документации
    • Манипуляции с типами
  • Переменные
    • Основы
    • Предопределенные переменные
    • Область видимости переменной
    • Переменные переменные
    • Переменные извне PHP
  • Константы
    • Синтаксис
    • Предопределенные константы
  • Выражения
  • Операторы
    • Приоритет выполнения операторов
    • Арифметические операторы
    • Оператор присвоения
    • Побитовые операторы
    • Операторы сравнения
    • Оператор управления ошибками
    • Операторы исполнения
    • Операторы инкремента и декремента
    • Логические операторы
    • Строковые операторы
    • Операторы, работающие с массивами
    • Оператор проверки принадлежности к классу
  • Управляющие конструкции
    • Введение
    • if
    • else
    • elseif/else if
    • Alternative syntax for control structures
    • while
    • do-while
    • for
    • foreach
    • break
    • continue
    • switch
    • declare
    • return
    • require
    • include
    • require_once
    • include_once
    • goto
  • Функции
    • Функции, определяемые пользователем
    • Аргументы функции
    • Возврат значений
    • Обращение к функциям через переменные
    • Встроенные функции
  • 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 5)
    • Введение
    • Основы
    • Автоматическая загрузка объектов
    • Конструкторы и деструкторы
    • Область видимости
    • ::
    • Ключевое слово "static"
    • Константы в объектах
    • Абстрактные классы
    • Интерфейсы объектов
    • Перегрузка
    • Итераторы объектов
    • Шаблоны проектирования
    • Магические методы
    • Ключевое слово "final"
    • Клонирование объектов
    • Сравнение объектов
    • Reflection
    • Контроль типа
    • Late Static Bindings
  • Пространства имён
    • Обзор пространств имён
    • Определение пространства имён
    • Использование пространств имён
    • Глобальное пространство имён
    • __NAMESPACE__
    • Правила разбора имён
  • Исключения
    • Наследование исключений
  • Ссылки. Разъяснения
    • Что такое ссылки
    • Что делают ссылки
    • Чем ссылки не являются
    • Передача по ссылке
    • Возвращение по ссылке
    • Сброс переменных-ссылок
    • Неявное использование механизма ссылок
  • Предопределённые переменные
    • Суперглобальные переменные — Суперглобальные переменные - это встроенные переменные, которые доступны по всех областях видимости
    • $GLOBALS — References all variables available in global scope
    • $_SERVER — Server and execution environment information
    • $_GET — HTTP GET variables
    • $_POST — HTTP POST variables
    • $_FILES — HTTP File Upload variables
    • $_REQUEST — Данные HTTP-запроса
    • $_SESSION — Session variables
    • $_ENV — Environment variables
    • $_COOKIE — HTTP Cookies
    • $php_errormsg — The previous error message
    • $HTTP_RAW_POST_DATA — Raw POST data
    • $http_response_header — HTTP response headers
    • $argc — The number of arguments passed to script
    • $argv — Array of arguments passed to script
  • Предопределённые исключения
    • Exception
    • ErrorException
  • Predefined Interfaces
    • Traversable — The Traversable interface
    • Iterator — The Iterator interface
    • IteratorAggregate — The IteratorAggregate interface
    • ArrayAccess — The ArrayAccess interface
    • Serializable — The Serializable interface
  • Context options and parameters
    • Socket context options — Socket context option listing
    • HTTP context options — HTTP context option listing
    • FTP context options — FTP context option listing
    • SSL context options — SSL context option listing
    • CURL context options — CURL context option listing
    • Phar context options — Phar context option listing
    • Context parameters — Context parameter listing
How to change configuration settings
Основы синтаксиса
Руководство по PHP


Основы синтаксиса

Содержание

  • Вставка в HTML
  • Разделение инструкций
  • Комментарии
Справочник языка
Вставка в HTML
Справочник языка


Вставка в HTML

Когда PHP обрабатывает файл, он просто передаёт его текст, пока не встретит один из специальных тегов, который сообщает ему о необходимости начать интерпретацию текста как кода PHP. Затем он выполняет весь найденный код до закрывающего тега, говорящего интерпретатору, что далее снова идет просто текст. Этот механизм позволяет вам внедрять PHP-код в HTML - все за пределами тегов PHP остается неизменным, тогда как внутри - интерпретируется как код.

Существует четыре набора тегов, которые могут быть использованы для обозначения PHP-кода. Из них только два (<?php. . .?> и <script language="php">. . .</script>) всегда доступны; другие могут быть включены или выключены в конфигурационном файле php.ini. Хотя короткие теги и теги в стиле ASP могут быть удобны, они не так переносимы, как длинные версии. Кроме того, если вы намереваетесь вставлять PHP-код в XML или XHTML, чтобы соответствовать XML, вам следует использовать форму <?php. . .?>.

Теги, поддерживаемые PHP:

Пример #1 Способы вставки в HTML

1.  <?php echo("если вы хотите работать с документами XHTML или XML, делайте так\n"); ?>

2.  <? echo ("это простейшая инструкция обработки SGML\n"); ?>
    <?= выражение ?> Это синоним для "<? echo выражение ?>"

3.  <script language="php">
        echo ("некоторые редакторы (например, FrontPage) не
              любят инструкции обработки");
    </script>

4.  <% echo ("Вы можете по выбору использовать теги в стиле ASP"); %>
    <%= $variable; # Это синоним для "<% echo . . ." %>

Первый способ, <?php. . .?>, наиболее предпочтительный, так как он позволяет использовать PHP в коде, соответствующем правилам XML, таком как XHTML.

Второй способ не всегда доступен. Короткие теги доступны только когда они включены. Это можно сделать, используя функцию short_tags() (только в PHP 3), включив установку short_open_tag в конфигурационном файле PHP, либо скомпилировав PHP с параметром --enable-short-tags для configure. Даже если оно включено по умолчанию в php.ini-dist, использование коротких тегов не рекомендуется.

Четвертый способ доступен только если теги в стиле ASP были включены, используя конфигурационную установку asp_tags.

Замечание: Поддержка тегов в стиле ASP была добавлена в версии 3.0.4.

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

Закрывающий тег блока PHP-кода включает сразу следующий за ним перевод строки, если он имеется. Кроме того, закрывающий тег автоматически подразумевает точку с запятой; вам не нужно заканчивать последнюю строку кода в блоке точкой с запятой. Закрывающий тег PHP-блока в конце файла не является обязательным.

PHP позволяет использовать такие структуры:

Пример #2 Профессиональная вставка

<?php
if ($expression) {
    ?>
    <strong>Это истина.</strong>
    <?php
} else {
    ?>
    <strong>Это ложь.</strong>
    <?php
}
?>

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

Основы синтаксиса
Разделение инструкций
Основы синтаксиса


Разделение инструкций

Инструкции разделяются также как и в C или Perl - каждое выражение заканчивается точкой с запятой.

Закрывающий тег (?>) также подразумевает конец инструкции, поэтому два следующих фрагмента кода эквиваленты:

<?php
    echo "Это тест";
?>

<?php echo "Это тест" ?>

Вставка в HTML
Комментарии
Основы синтаксиса


Комментарии

PHP поддерживает комметарии в стиле 'C', 'C++' и оболочки Unix. Например:

<?php
    echo "Это тест"; // Это однострочный комментарий в стиле c++
    /* Это многострочный комментарий
       еще одна строка комментария */
    echo "Это еще один тест";
    echo "Последний тест"; # Это комментарий в стиле оболочки Unix
?>

Однострочные комментарии идут только до конца строки или текущего блока PHP-кода, в зависимости от того, что идет перед ними.

<h1>Это <?php # echo "простой";?> пример.</h1>
<p>Заголовок вверху выведет 'Это пример'.

Будьте внимательны, следите за отсутствием вложенных 'C'-комментариев, они могут появиться во время комментирования больших блоков.

<?php
 /*
    echo "Это тест"; /* Этот комментарий вызовет проблему */
 */
?>

Однострочные комментарии идут только до конца строки или текущего блока PHP-кода, в зависимости от того, что идет перед ними. Это означает, что HTML-код после // ?> БУДЕТ напечатан: ?> выводит из режима PHP и возвращает в режим HTML, но // не позволяет этого сделать. Если включена конфигурационная директива asp_tags, то же самое происходит и при // %>.

Разделение инструкций
Типы
Основы синтаксиса


Типы

Содержание

  • Введение
  • Булев
  • Целые
  • Числа с плавающей точкой
  • Строки
  • Массивы
  • Объекты
  • Ресурс
  • NULL
  • Псевдо-типы, используемые в этой документации
  • Манипуляции с типами
Комментарии
Введение
Справочник языка


Введение

PHP поддерживает восемь простых типов.

Четыре скалярных типа:

  • boolean
  • integer
  • float (число с плавающей точкой или 'double')
  • string

Два смешанных типа:

  • array
  • object

И, наконец, два специальных типа:

  • resource
  • NULL

Для удобства понимания в этом руководстве используется также несколько псевдо-типов:

  • mixed
  • number
  • callback

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

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

Замечание: Если вы желаете проверить тип и значение определенного выражения, используйте var_dump(). Если же вам для отладки необходимо просто удобочитаемое представление типа, используйте gettype(). Чтобы проверить на определенный тип, не используйте gettype(), применяйте для этого is_type функции. Вот несколько примеров:

<?php
$bool = TRUE;   // логический
$str  = "foo";  // строковый
$int  = 12;     // целочисленный

echo gettype($bool); // выводит "boolean"
echo gettype($str);  // выводит "string"

// Если это целое, увеличить на четыре
if (is_int($int)) {
    $int += 4;
}

// Если $bool - это строка, вывести ее
// (ничего не выводит)
if (is_string($bool)) {
    echo "Строка: $bool";
}
?>

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

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

Типы
Булев
Типы


Булев

Это простейший тип. Он выражает истинность значения - это может быть либо TRUE, либо FALSE.

Замечание: Булев тип был введен в PHP 4.

Синтаксис

Чтобы определить булев тип, используйте ключевое слово TRUE или FALSE. Оба регистро-независимы.

<?php
$foo = True; // присвоить $foo значение TRUE
?>

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

<?php
// == это оператор, который проверяет
// эквивалентность и возвращает булево значение
if ($action == "показать_версию") {
    echo "Версия 1.23";
}

// это не обязательно...
if ($show_separators == TRUE) {
    echo "<hr>\n";
}

// ...потому что вы можете просто написать
if ($show_separators) {
    echo "<hr>\n";
}
?>

Преобразование в булев тип

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

Смотрите также Манипуляции с типами.

При преобразовании в логический тип, следующие значения рассматриваются как FALSE:

  • Сам булев FALSE
  • целое 0 (ноль)
  • число с плавающей точкой 0.0 (ноль)
  • пустая строка и строка "0"
  • пустой массив
  • объект без атрибутов (только в PHP 4)
  • специальный тип NULL (включая неустановленные переменные)

Все остальные значения рассматриваются как TRUE (включая любой ресурс).

Внимание

-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)
?>

Введение
Целые
Типы


Целые

Целое это число из множества Z = {..., -2, -1, 0, 1, 2, ...}.

Смотрите также: Целые произвольной длины / GMP, Числа с плавающей точкой и Произвольная точность / BCMath

Синтаксис

Целые могут быть указаны в десятичной, шестнадцатеричной или восьмеричной системе счисления, по желанию с предшествующим знаком (- или +).

Если вы используете восьмеричную систему счисления, вы должны предварить число 0 (нулем), для использования шестнадцатеричной системы нужно поставить перед числом 0x.

Пример #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]+

целые             : [+-]?десятичные
                  | [+-]?шестнадцатеричные
                  | [+-]?восьмеричные

Размер целого зависит от платформы, хотя, как правило, максимальное значение около двух миллиардов (это 32-битное знаковое). PHP не поддерживает беззнаковые целые.

Превышение размера целого

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

<?php
$large_number =  2147483647;
var_dump($large_number);
// вывод: int(2147483647)

$large_number =  2147483648;
var_dump($large_number);
// вывод: float(2147483648)

// это справедливо и для шестнадцатеричных целых:
var_dump( 0x80000000 );
// вывод: float(2147483648)

$million = 1000000;
$large_number =  50000 * $million;
var_dump($large_number);
// вывод: float(50000000000)
?>

Внимание

К сожалению, в PHP была ошибка, так что это не всегда верно работает, когда используются отрицательные числа. Например: когда вы умножаете -50000 * $million, результатом будет -429496728. Однако, если оба операнда положительны, проблем не возникает.

Эта ошибка устранена в PHP 4.1.0.

в PHP не существует оператора деления целых. Результатом 1/2 будет число с плавающей точкой 0.5. Вы можете привести значение к целому, что всегда округляет его в меньшую сторону, либо использовать функцию round().

<?php
var_dump(25/7);         // float(3.5714285714286)
var_dump((int) (25/7)); // int(3)
var_dump(round(25/7));  // float(4)
?>

Преобразование в целое

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

Смотрите также Манипуляции с типами.

Из булева типа

FALSE преобразуется в 0 (ноль), а TRUE - в 1 (единицу).

Из чисел с плавающей точкой

При преобразовании из числа с плавающей точкой в целое, число будет округлено в сторону нуля.

Если число с плавающей точкой превышает пределы целого (как правило, это +/- 2.15e+9 = 2^31), результат будет неопределенным, так как целое не имеет достаточной точности, чтобы вернуть верный результат. В этом случае не будет выведено ни предупреждения, ни даже замечания!

Внимание

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

<?php
echo (int) ( (0.1+0.7) * 10 ); // выводит 7!
?>

Смотрите более подробно: предупреждение о точности чисел с плавающей точкой.

Из строк

Смотрите Преобразование строк в числа

Из других типов

Предостережение

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

Булев
Числа с плавающей точкой
Типы


Числа с плавающей точкой

Числа с плавающей точкой (они же числа двойной точности или действительные числа) могут быть определены при помощи любого из следующих синтаксисов:

<?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-формат).

Внимание

Точность числа с плавающей точкой

Довольно часто простые десятичные дроби вроде 0.1 или 0.7 не могут быть преобразованы в свои внутренние двоичные аналоги без небольшой потери точности. Это может привести к неожиданным результатам: например, floor((0.1+0.7)*10) скорее всего возвратит 7 вместо ожидаемой 8 как результат внутреннего представления числа, являющегося в действительности чем-то вроде 7.9999999999....

Это связано с невозможностью точно выразить некоторые дроби в десятичной системе счисления конечным числом цифр. Например, 1/3 в десятичной форме принимает вид 0.3333333. . ..

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

Преобразование в число с плавающей точкой

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

Целые
Строки
Типы


Строки

Строка - это набор символов. В PHP символ это то же самое, что и байт, это значит, что возможно ровно 256 различных символов. Это также означает, что PHP не имеет встроенной поддержки Unicode'а. Некоторую поддержку Unicode'а обеспечивают функции utf8_encode() и utf8_decode().

Замечание: Нет никаких проблем, если строка очень велика. Практически не существует ограничений на размер строк, налагаемых PHP, так что нет абсолютно никаких причин беспокоиться об их длине.

Синтаксис

Строка может быть определена тремя различными способами.

  • одинарными кавычками
  • двойными кавычками
  • heredoc-синтаксисом

Одинарные кавычки

Простейший способ определить строку - это заключить ее в одинарные кавычки (символ ').

Чтобы использовать одинарную кавычку внутри строки, как и во многих других языках, ее необходимо предварить символом обратной косой черты (\), т. е. экранировать ее. Если обратная косая черта должна идти перед одинарной кавычкой либо быть в конце строки, вам необходимо продублировать ее. Обратите внимание, что если вы попытаетесь экранировать любой другой символ, обратная косая черта также будет напечатана! Так что, как правило, нет необходимости экранировать саму обратную косую черту.

Замечание: В PHP 3 в данном случае будет выдано сообщение уровня E_NOTICE.

Замечание: В отличие от двух других синтаксисов, переменные и экранирующие последовательности для специальных символов, встречающиеся в строках, заключенных в одинарные кавычки, не обрабатываются.

<?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)
\\ | обратная косая черта
\$ | знак доллара
\" | двойная кавычка
\[0-7]{1,3} | последовательность символов, соответствующая регулярному выражению, символ в восьмеричной системе счисления
\x[0-9A-Fa-f]{1,2} | последовательность символов, соответствующая регулярному выражению, символ в шестнадцатеричной системе счисления

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

Но самым важным свойством строк в двойных кавычках является обработка переменных. Смотрите более подробно: обработка строк.

Heredoc

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

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

Внимание

Очень важно отметить, что строка с закрывающим идентификатором не содержит других символов, за исключением, возможно, точки с запятой (;). Это означает, что идентификатор не должен вводиться с отступом и что не может быть никаких пробелов или знаков табуляции до или после точки с запятой. Важно также понимать, что первым символом перед закрывающим идентификатором должен быть символ новой строки, определенный в вашей операционной системе. Например, на Macintosh это \r.

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

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

Пример #1 Пример определения 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;
?>

Замечание: Поддержка heredoc была добавлена в PHP 4.

Обработка переменных

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

Существует два типа синтаксиса: простой и сложный. Простой синтаксис более легок и удобен. Он дает возможность обработки переменной, значения массива (array) или свойства объекта (object).

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

Простой синтаксис

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

<?php
$beer = 'Heineken';
echo "$beer's taste is great"; // работает, "'" это неверный символ для имени переменной
echo "He drank some $beers";   // не работает, 's' это верный символ для имени переменной
echo "He drank some ${beer}s"; // работает
echo "He drank some {$beer}s"; // работает
?>

Точно также могут быть обработаны элемент массива (array) или свойство объекта (object). В индексах массива закрывающая квадратная скобка (]) обозначает конец определения индекса. Для свойств объекта применяются те же правила, что и для простых переменных, хотя с ними невозможен трюк, как с переменными.

<?php
// Эти примеры специфически об использовании массивов внутри
// строк. Вне строк всегда заключайте строковые ключи вашего
// массива в кавычки и не используйте вне строк {скобки}.

// Давайте покажем все ошибки
error_reporting(E_ALL);

$fruits = array('strawberry' => 'red', 'banana' => 'yellow');

// Работает, но заметьте, что вне кавычек строки это работает по-другому
echo "A banana is $fruits[banana].";

//Работает
echo "A banana is {$fruits['banana']}.";

// Работает, но PHP, как описано ниже, сначала ищет
// константу banana.
echo "A banana is {$fruits[banana]}.";

// Не работает, используйте фигурные скобки. Это вызовет ошибку обработки.
echo "A banana is $fruits['banana'].";

// Работает
echo "A banana is " . $fruits['banana'] . ".";

// Работает
echo "This square is $square->width meters broad.";

// Не работает. Для решения см. сложный синтаксис.
echo "This square is $square->width00 centimeters broad.";
?>

Для чего-либо более сложного вы должны использовать сложный синтаксис.

Сложный (фигурный) синтаксис

Он называется сложным не потому, что труден в понимании, а потому что позволяет использовать сложные выражения.

Фактически, вы можете включить любое значение, находящееся в пространстве имени в строке с этим синтаксисом. Вы просто записываете выражение таким же образом, как и вне строки, а затем заключаете его в { и }. Поскольку вы не можете экранировать '{', этот синтаксис будет распознаваться только когда $ следует непосредственно за {. (Используйте "{\$" или "\{$" чтобы отобразить "{$"). Несколько поясняющих примеров:

<?php
// Давайте покажем все ошибки
error_reporting(E_ALL);

$great = 'fantastic';

// Не работает, выведет: This is { fantastic}
echo "This is { $great}";

// Работает, выведет: This is fantastic
echo "This is {$great}";
echo "This is ${great}";

// Работает
echo "Этот квадрат шириной {$square->width}00 сантиметров.";

// Работает
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}}";
?>

Доступ к символу в строке и его изменение

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

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

Пример #2 Несколько примеров строк

<?php
// Получение первого символа строки
$str = 'Это тест.';
$first = $str{0};

// Получение третьего символа строки
$third = $str{2};

// Получение последнего символа строки
$str = 'Это все еще тест.';
$last = $str{strlen($str)-1};

// Изменение последнего символа строки
$str = 'Посмотри на море';
$str{strlen($str)-1} = 'я';

?>

Полезные функции и операторы

Строки могут быть объединены при помощи оператора '.' (точка). Обратите внимание, оператор сложения '+' здесь не работает. Дополнительную информацию смотрите в разделе Строковые операторы.

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

Основные функции описаны в разделе строковых функций, функции регулярных выражений для расширенного поиска и замены (в двух частях: Perl и POSIX расширенный).

Также существуют функции для URL-строк, и функции для шифрования/дешифрования строк (mcrypt и mhash).

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

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

Вы можете преобразовать значение в строку, используя приведение (string), либо функцию strval(). В выражениях, где необходима строка, преобразование происходит автоматически. Это происходит, когда вы используете функции echo() или print(), либо когда вы сравниваете значение переменной со строкой. Прочтение разделов руководства Типы и Манипуляции с типами сделает следующее более понятным. Смотрите также settype().

Булево (boolean) значение TRUE преобразуется в строку "1", а значение FALSE представляется как "" (пустая строка). Этим способом вы можете преобразовывать значения в обе стороны - из булева типа в строковый и наоборот.

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

Массивы всегда преобразуются в строку "Array", так что вы не можете отобразить содержимое массива (array), используя echo() или print(), чтобы узнать, что он содержит. Чтобы просмотреть один элемент, вам нужно сделать что-то вроде echo $arr['foo']. Смотрите ниже советы о том, как отобразить/просмотреть все содержимое.

Объекты всегда преобразуются в строку "Object". Если вы хотите вывести значение переменной-члена объекта (object) с целью отладки, прочтите следующие абзацы. Если вы хотите получить имя класса требуемого объекта, используйте get_class().

Ресурсы всегда преобразуются в строки со структурой "Resource id #1", где 1 - это уникальный номер ресурса (resource), присвоенный ему PHP во время выполнения. Если вы хотите получить тип ресурса, используйте get_resource_type().

NULL всегда преобразуется в пустую строку.

Как вы могли видеть выше, вывод массивов, объектов или ресурсов не предоставляет вам никакой полезной информации о самих значениях. Более подходящий способ вывода значений для отладки - использовать функции print_r() и var_dump().

Вы также можете преобразовать значения PHP в строки для постоянного хранения. Этот метод называется сериализацией и может быть выполнен при помощи функции serialize(). Кроме того, если в вашей установке PHP есть поддержка WDDX, вы можете сериализовать значения PHP в структуры XML.

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

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

Строка будет распознана как float, если она содержит любой из символов '.', 'e', или 'E'. Иначе она будет определена как целое.

Значение определяется по начальной части строки. Если строка начинается с верного числового значения, будет использовано это значение. Иначе значением будет 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). Для преобразования символов в их коды и обратно используйте функции ord() и chr().

Числа с плавающей точкой
Массивы
Типы


Массивы

На самом деле массив в 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"). В PHP нет разницы между индексными и ассоциативными массивами; существует только один тип массива, который может содержать и числовые, и строковые индексы.

Значение может быть любого имеющегося в PHP типа.

<?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, вышеописанное поведение генерации индекса изменено. Теперь, если вы будете использовать массив, в котором максимальным в настоящий момент является отрицательный ключ, то следующий созданный ключ будет нулевым (0). Раньше новым индексом становился самый большой существующий ключ + 1, так же как и у положительных индексов.

Используя в качестве ключа TRUE вы получите ключ 1 типа integer. Используя в качестве ключа FALSE вы получите ключ 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 4.3.0, вышеописанное поведение генерации индекса изменено. Теперь, если вы будете использовать массив, в котором максимальным в настоящий момент является отрицательный ключ, то следующий созданный ключ будет нулевым (0). Раньше новым индексом становился самый большой существующий ключ + 1, так же как и у положительных индексов.

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

<?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 => 'один', 3 => 'три');
   а НЕ так:
   $a = array(1 => 'один', 2 =>'три');
*/

$b = array_values($a);
// Теперь $b это array(0 => 'один', 1 =>'три')
?>

Управляющая конструкция foreach существует специально для массивов. Она предоставляет возможность легко пройтись по массиву.

Массив делает и не делает

Почему $foo[bar] это неверно?

Вы всегда должны заключать индекс ассоциативного массива в кавычки. К примеру, пишите $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 известны также и константы, как вы, возможно, видели упоминание E_* раньше.

<?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 и т. д.

Как мы уже объяснили в вышеприведенных примерах, $foo[bar] по-прежнему работает, но это неверно. Это работает, поскольку в соответствии со своим синтаксисом bar ожидается как константа. Однако, в данном случае константы с именем bar не существует. В таком случае PHP предполагает, что, написав bar, вы имели ввиду строку "bar", но забыли указать кавычки.

Так что же в этом плохого?

Когда-нибудь в будущем команда разработчиков PHP возможно пожелает добавить еще одну константу или ключевое слово, либо вы можете ввести в ваше приложение еще одну константу и тогда у вас могут возникнуть проблемы. Например, вы уже не можете использовать таким образом слова empty и default, поскольку они являются зарезервированными ключевыми словами.

Замечание: Повторим, внутри строки (string), заключенной в двойные кавычки правильным является не окружать индексы массива кавычками, поэтому "$foo[bar]" является верным. Более подробно почему - смотрите вышеприведенные примеры, а также раздел обработка переменных в строках.

Преобразование в массив

Для любого из типов: integer, float, string, boolean и resource, если вы преобразуете значение в массив, вы получите массив с одним элементом (с индексом 0), являющимся скалярным значением, с которого вы начали.

Если вы преобразуете в массив объект (object), вы получите в качестве элементов массива свойства (переменные-члены) этого объекта. Ключами будут имена переменных-членов.

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

Сравнение

Массивы можно сравнивать при помощи функции array_diff() и Операторов массивов.

Примеры

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

<?php
// это
$a = array( 'color' => 'red',
            'taste' => 'sweet',
            'shape' => 'round',
            'name'  => 'apple',
                       4        // ключом будет 0
          );

// полностью соответствует
$a['color'] = 'red';
$a['taste'] = 'sweet';
$a['shape'] = 'round';
$a['name']  = 'apple';
$a[]        = 4;        // ключом будет 0

$b[] = 'a';
$b[] = 'b';
$b[] = 'c';
// создаст массив 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('красный', 'синий', 'зеленый', 'желтый');

foreach ($colors as $color) {
    echo "Вам нравится $color?\n";
}
?>

Результат работы приведенного скрипта будет следующий:

Вам нравится красный?
Вам нравится синий?
Вам нравится зеленый?
Вам нравится желтый?

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

Пример #3 Коллекция

<?php
foreach ($colors as $key => $color) {
    // не будет работать:
    //$color = strtoupper($color);

    // работает:
    $colors[$key] = strtoupper($color);
}
print_r($colors);

?>

Результат работы приведенного скрипта будет следующий:

Array
(
    [0] => КРАСНЫЙ
    [1] => СИНИЙ
    [2] => ЗЕЛЕНЫЙ
    [3] => ЖЕЛТЫЙ
)

Следующий пример создает начинающийся с единицы массив.

Пример #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["яблоко"]["зеленое"] = "хорошее";
?>

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

<?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();
?>

Полное рассмотрение производится в разделе Классы и Объекты.

Преобразование в объект

Если объект преобразуется в объект, он не изменяется. Если же в объект преобразуется значение любого иного типа, создается новый экземпляр встроенного класса stdClass. Если значение было пустым, новый экземпляр также будет пустым. При любом другом значении оно будет содержатся в переменной-члене scalar.

<?php
$obj = (object) 'ciao';
echo $obj->scalar;  // выведет 'ciao'
?>

Массивы
Ресурс
Типы


Ресурс

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

Замечание: Тип ресурс был введен в PHP 4

Преобразование в ресурс

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

Освобождение ресурсов

В связи с системой подсчета ссылок, введенной в движке Zend PHP 4 автоматически определяется, что ресурс больше никуда не ссылается (как в Java). Когда это происходит, все ресурсы, которые использовались для данного ресурса, освобождаются сборщиком мусора. По этой причине маловероятно, что когда-либо будет необходимо освобождать память вручную, используя какую-нибудь free_result функцию.

Замечание: Постоянные ссылки базы данных являются особыми, они не уничтожаются сборщиком мусора. Смотрите также раздел о постоянных соединениях.

Объекты
NULL
Типы


NULL

Специальное значение NULL говорит о том, что эта переменная не имеет значения. NULL - это единственно возможное значение типа NULL.

Замечание: Пустой тип был введен в PHP 4

Переменная считается NULL если

  • ей была присвоена константа NULL.

  • ей еще не было присвоено какое-либо значение.

  • она была удалена с помощью unset().

Синтаксис

Существует только одно значение типа NULL - регистро-независимое ключевое слово NULL.

<?php
$var = NULL;
?>

Смотрите также is_null() и unset().

Ресурс
Псевдо-типы, используемые в этой документации
Типы


Псевдо-типы, используемые в этой документации

mixed

mixed говорит о том, что параметр может принимать множество (но не обязательно все) типов.

gettype(), например, принимает все типы PHP, тогда как str_replace() принимает строки и массивы.

number

number говорит о том, что параметр может быть либо integer, либо float.

callback

Некоторые функции, такие как call_user_func() или usort() принимают в качестве параметра определенные пользователем callback-функции. Callback-функции могут быть не только простыми функциями, но также методами объектов, включая статические методы классов.

PHP-функция передается просто как строка ее имени. Вы можете передать
любую встроенную или определенную пользователем функцию за
исключением
array(),
echo(),
empty(),
eval(),
exit(),
isset(),
list(),
print() и
unset().

Метод созданного объекта передается как массив, содержащий объект в элементе с индексом 0 и имя метода в элементе с индексом 1.

Методы статических классов также могут быть переданы без создания экземпляра объекта передачей имени класса вместо имени объекта в элементе с индексом 0.

Пример #1 Примеры callback-функций

<?php

// простой пример callback
function my_callback_function() {
    echo 'hello world!';
}
call_user_func('my_callback_function');

// примеры callback-метода
class MyClass {
    function myCallbackMethod() {
        echo 'Hello World!';
    }
}

// вызов метода статического класса без создания объекта
call_user_func(array('MyClass', 'myCallbackMethod'));

// вызов метода объекта
$obj = new MyClass();
call_user_func(array(&$obj, 'myCallbackMethod'));
?>

NULL
Манипуляции с типами
Типы


Манипуляции с типами

PHP не требует (и не поддерживает) явного определения типа при объявлении переменной; тип переменной определяется по контексту, в котором она используется. То есть, если вы присвоите строковое значение переменной $var , $var станет строкой. Если вы затем присвоите $var целочисленное значение, она станет целым числом.

Примером автоматического преобразования типа является оператор сложения '+'. Если любой из операндов является числом с плавающей точкой, то все операнды интерпретируются как числа с плавающей точкой, результатом будет также число с плавающей точкой. В противном случае операнды будут интерпретироваться как целые числа и результат также будет целочисленным. Обратите внимание, что это НЕ меняет типы самих операндов; меняется только то, как они вычисляются.

<?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
$a = "1";     // $a это строка
$a[0] = "f";  // А как же смещение строки? Что произойдет?
?>

Поскольку PHP (по историческим причинам) поддерживает индексирование в строках с использованием такого же синтаксиса, как и при индексировании массива, вышеприведенный пример приводит к проблеме: следует ли $a стать массивом, первым элементом которого будет "f" или "f" должна стать первым символом строки $a?
Текущая версия PHP воспринимает второе присваивание как определение смещения строки, поэтому $a станет "f", результат же этого автоматического преобразования следует, однако, рассматривать как неопределенный. В PHP 4 для доступа к символам строки был введен новый синтаксис фигурных скобок, используйте этот синтаксис вместо вышеприведенного:

<?php
$a    = "abc"; // $a это строка
$a{1} = "f";   // $a теперь содержит "afc"
?>

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

Приведение типов

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

<?php
$foo = 10;   // $foo это целое число
$bar = (boolean) $foo;   // $bar это булев тип
?>

Допускаются следующие приведения типов:

  • (int), (integer) - приведение к целому числу
  • (bool), (boolean) - приведение к булеву типу
  • (float), (double), (real) - приведение к числу с плавающей точкой (float)
  • (string) - приведение к строке
  • (array) - приведение к массиву
  • (object) - приведение к объекту

Обратите внимание, что внутри скобок допускаются пробелы и символы табуляции, поэтому следующее равносильно по своему действию:

<?php
$foo = (int) $bar;
$foo = ( int ) $bar;
?>

Замечание: Вместо приведения переменной к строке, вы можете заключить ее в двойные кавычки.

<?php
$foo = 10;            // $foo это целое число
$str = "$foo";        // $str это строка
$fst = (string) $foo; // $fst это также строка

// Это напечатает "они одинаковы"
if ($fst === $str) {
    echo "они одинаковы";
}
?>

Возможно, вам не совсем ясно, что происходит при приведении между типами. Для дополнительной информации смотрите разделы:

  • Преобразование в булев тип
  • Преобразование в целое число
  • Преобразование в число с плавающей точкой
  • Преобразование в строку
  • Преобразование в массив
  • Преобразование в объект
  • Преобразование в ресурс
  • Таблицы сравнения типов

Псевдо-типы, используемые в этой документации
Переменные
Типы


Переменные

Содержание

  • Основы
  • Предопределенные переменные
  • Область видимости переменной
  • Переменные переменные
  • Переменные извне PHP
Манипуляции с типами
Основы
Справочник языка


Основы

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

Имена переменных соответствуют тем же правилам, что и остальные наименования в PHP. Правильное имя переменной должно начинаться с буквы или символа подчеркивания с последующими в любом количестве буквами, цифрами или символами подчеркивания Это можно отобразить регулярным выражением: '[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'

Замечание: Для наших целей буквы здесь - это a-z, A-Z, и ASCII-символы со 127 по 255 (0x7f-0xff).

<?php
$var = "Bob";
$Var = "Joe";
echo "$var, $Var";      // выведет "Bob, Joe"

$4site = 'not yet';     // неверно; начинается с цифры
$_4site = 'not yet';    // верно; начинается с символа подчеркивания
$tдyte = 'mansikka';    // верно; 'д' это (Дополнительный) ASCII 228.
?>

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

PHP 4 предлагает иной способ присвоения значений переменным: присвоение по ссылке. Это означает, что новая переменная просто ссылается (иначе говоря, "становится псевдонимом" или "указывает") на оригинальную переменную. Изменения в одной переменной отражаются на оригинале, и наоборот. Это также означает, что копирования не происходит; таким образом, присвоение осуществляется быстрее. Однако, любое увеличение скорости будет хорошо заметно только в сжатых циклах или при присвоении больших массивов или объектов.

Для присвоения по ссылке, просто добавьте амперсанд (&) к началу имени присваиваемой (исходной) переменной. Например, следующий фрагмент кода дважды выводит 'My name is Bob':

<?php
$foo = 'Bob';              // Присваивает $foo значение 'Bob'
$bar = &$foo;              // Ссылка на $foo через $bar.
$bar = "My name is $bar";  // Изменение $bar...
echo $bar;
echo $foo;                 // меняет и $foo.
?>

Важно отметить, что по ссылке могут быть присвоены только именованные переменные.

<?php
$foo = 25;
$bar = &$foo;      // Это верное присвоение.
$bar = &(24 * 7);  // Неверно; ссылка на неименованное выражение.

function test()
{
   return 25;
}

$bar = &test();    // Неверно.
?>

Переменные
Предопределенные переменные
Переменные


Предопределенные переменные

Любому запускаемому скрипту 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.

Замечание: Переменные переменных
Суперглобальные переменные не могут быть переменными переменных.

Если некоторые из переменных в 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 существует в любой области видимости, это объясняется тем, что этот массив является суперглобальным. Ниже приведен пример, демонстрирующий возможности суперглобальных переменных:

Пример #3 Суперглобальные переменные и область видимости

<?php
function test_global()
{
    // Большинство предопределенных переменных не являются
    // "супер" и чтобы быть доступными в локальной области
    // видимости функции требуют указания 'global'.
    global $HTTP_POST_VARS;

    echo $HTTP_POST_VARS['name'];

    // Суперглобальные переменные доступны в любой области
    // видимости и не требуют указания 'global'.
    // Суперглобальные переменные доступны, начиная с PHP 4.1.0
    echo $_POST['name'];
}
?>

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

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

Пример #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++;
}
?>

Теперь при каждом вызове функция 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;
}
?>

Ссылки с глобальными и статическими переменными

Движок Zend 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 "Static object: ";
    var_dump($obj);
    if (!isset($obj)) {
        // Присвоить ссылку статической переменной
        $obj = &new stdclass;
    }
    $obj->property++;
    return $obj;
}

function &get_instance_noref() {
    static $obj;

    echo "Static object: ";
    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();
?>

Выполнение этого примера сгенерирует следующий вывод:

Static object: NULL
Static object: NULL

Static object: NULL
Static object: 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] для второго.

Внимание

Пожалуйста, обратите внимание, что переменные переменные не могут использоваться с Суперглобальными массивами PHP. Это означает, что вы не можете делать что-то вроде ${$_GET}. Если вы ищете способ использовать суперглобальные переменные и старые HTTP_*_VARS, вы можете попробовать ссылаться на них.

Область видимости переменной
Переменные извне 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 3. Начиная с 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

Как уже говорилось, до PHP 4.2.0 значением register_globals по умолчанию было on (включено). А в PHP 3 оно всегда было включено. Сообщество PHP рекомендует всем не полагаться на эту директиву, поскольку предпочтительно присвоить ей значение off и писать программы исходя из этого.

Замечание: Конфигурационная директива magic_quotes_gpc влияет на значения Get, Post и Cookie. Если она включена, значение (It's "PHP!") автоматически станет (It\'s \"PHP!\"). Мнемонизация необходима при добавлении в базу данных. Смотрите также addslashes(), stripslashes() и magic_quotes_sybase.

PHP также понимает массивы в контексте переменных формы (смотрите соответствующие ЧАВО). К примеру, вы можете сгруппировать связанные переменные вместе или использовать эту возможность для получения значений списка множественного выбора select. Например, давайте отправим форму самой себе, а после отправки отобразим данные:

Пример #3 Более сложные переменные формы

<?php
if (isset($_POST['action']) && $_POST['action'] == 'submitted') {
    echo '<pre>';
    print_r($_POST);
    echo '<a href="'. $_SERVER['PHP_SELF'] .'">Попробуйте еще раз</a>';

    echo '</pre>';
} else {
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" 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="hidden" name="action" value="submitted" />
    <input type="submit" name="submit" value="Отправь меня!" />
</form>
<?php
}
?>

В PHP 3 использование массивов в переменных формы ограничено одномерными массивами. В PHP 4 таких ограничений нет.

Имена переменных кнопки-изображения

При отправке формы вместо стандартной кнопки можно использовать изображение с помощью тега такого вида:

<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]", "Тест 1", time()+3600);
  setcookie("MyCookie[bar]", "Тест 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]*

Замечание: Понятие "буквы" здесь - это символы a-z, A-Z, и другие символы с ASCII-кодами от 127 до 255 (0x7f-0xff).

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

Переменные извне PHP
Синтаксис
Справочник языка


Синтаксис

Вы можете определить константу с помощью функции define(). После того, как константа определена, ее значение не может быть изменено или аннулировано.

Константы могут содержать только скалярные данные (логического, целого, плавающего и строкового типов).

Получить значение константы можно, указав ее имя. В отличие от переменных, вам не потребуется предварять имя константы символом $. Также вы можете использовать функцию constant() для получения значения константы, если вы формируете имя константы динамически. Используйте функцию get_defined_constants() для получения списка всех объявленных констант.

Замечание: Константы и (глобальные) переменные находятся в разном пространстве имен. Это означает, что, например, TRUE и $TRUE являются совершенно разными вещами.

Если вы используете неопределенную константу, PHP предполагает, что вы имеете ввиду само имя константы, как если бы вы указали переменную типа строка (CONSTANT и "CONSTANT"). При этом будет сгенерирована ошибка типа E_NOTICE. Смотрите также главу руководства, которая разъясняет, почему $foo[bar] - это неправильно (конечно, если вы перед этим не объявили bar как константу с помощью define()). Если вы просто хотите проверить, определена ли константа, используйте функцию defined().

Различия между константами и переменными:

  • У констант нет приставки в виде знака доллара ($);
  • Константы можно определить только с помощью функции define(), а не присваиванием значения;
  • Константы могут быть определены и доступны в любом месте без учета области видимости;
  • Константы не могут быть определены или аннулированы после первоначального объявления; и
  • Константы могут иметь только скалярные значения.

Пример #1 Определение констант

<?php
define("CONSTANT", "Здравствуй, мир.");
echo CONSTANT; // выводит "Здравствуй, мир."
echo Constant; // выводит "Constant" и выводит предупреждениее.
?>

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


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

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

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

Некоторые "волшебные" константы PHP
Имя | Описание
__LINE__ | Текущая строка в файле.
__FILE__ | Полный путь и имя текущего файла.
__FUNCTION__ | Имя функции. (Добавлена в PHP 4.3.0.)
__CLASS__ | Имя класса. (Добавлена в PHP 4.3.0.)
__METHOD__ | Имя метода класса. (Добавлена в PHP 5.0.0)

С полным списком предопределенных констант можно ознакомиться в соответствующем разделе.

Синтаксис
Выражения
Константы


Выражения

Выражения - это краеугольный камень 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 поддерживает три типа скалярных значений: целочисленные, с плавающей точкой и строковые значения (скалярными являются значения, которые вы не можете 'разбить' на меньшие части, в отличие, например, от массивов). PHP поддерживает также два комбинированных (не скалярных) типа: массивы и объекты. Каждый из этих типов значений может присваиваться переменной или возвращаться функцией.

До сих пор пользователи PHP/FI 2 не должны были почувствовать каких-либо изменений. Однако PHP, как и многие другие языки, понимает гораздо больше выражений. PHP - это язык, ориентированный на выражения и рассматривающий почти все как выражение. Вернемся к примеру, с которым мы уже имели дело: '$a = 5'. Легко заметить, что здесь присутствуют два значения - значение целочисленной константы '5' и значение переменной $a, также принимающей значение 5. Но на самом деле здесь присутствует и еще одно значение - значение самого присвоения. Само присвоение вычисляется в присвоенное значение, в данном случае - в 5. На практике это означает, что '$a = 5', независимо от того, что оно делает, является выражением со значением 5. Таким образом, запись '$b = ($a = 5)' равносильна записи '$a = 5; $b = 5;' (точка с запятой обозначает конец выражения). Поскольку операции присвоения анализируются справа налево, вы также можете написать '$b = $a = 5'.

Другой хороший пример ориентированности на выражения - пре- и постфиксный инкремент и декремент. Пользователи PHP/FI 2 и многих других языков возможно уже знакомы с формой записи переменная++ и переменная--. Это операторы инкремента и декремента. В PHP/FI 2 операция '$a++' не имеет значения (это не выражение), и, таким образом, вы не можете присвоить ее или каким-либо образом использовать. PHP увеличивает возможности инкремента/декремента, также сделав их выражениями, как в C. Также как и C, PHP поддерживает два типа инкремента - префиксный и постфиксный. Они оба инкрементируют значение переменной и эффект их действия на нее одинаков. Разница состоит в значении выражения инкремента. Префиксный инкремент, записываемый как '++$variable', вычисляется в инкрементированное значение (PHP инкрементирует переменную перед тем как прочесть ее значение, отсюда название 'пре-инкремент'). Постфиксный инкремент, записываемый как '$variable++', вычисляется в первоначальное значение переменной $variable перед ее приращением (PHP инкрементирует переменную после прочтения ее значения, отсюда название 'пост-инкремент').

Очень распространенным типом выражений являются выражения сравнения. Они вычисляются в 0 или 1, означающих соответственно 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. */
?>

Некоторые выражения могут рассматриваться как инструкции. В данном случае инструкция имеет вид 'выражение' ';' - выражение с последующей точкой с запятой. В записи '$b=$a=5;', $a=5 - это верное выражение, но само по себе не инструкция. Тогда как '$b=$a=5;' является верной инструкцией.

Последнее, что стоит упомянуть, это истинность значения выражений. Во многих случаях, как правило, в условных операторах и циклах, вас может интересовать не конкретное значение выражения, а только значат ли они TRUE или FALSE. Константы TRUE и FALSE (регистро-независимые) - это два возможных булевых значения. При необходимости выражение автоматически преобразуется в булев тип. Подробнее о том, как это происходит, смотрите в разделе о приведении типов.

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

Предопределенные константы
Операторы
Справочник языка


Операторы

Содержание

  • Приоритет выполнения операторов
  • Арифметические операторы
  • Оператор присвоения
  • Побитовые операторы
  • Операторы сравнения
  • Оператор управления ошибками
  • Операторы исполнения
  • Операторы инкремента и декремента
  • Логические операторы
  • Строковые операторы
  • Операторы, работающие с массивами
  • Оператор проверки принадлежности к классу

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

Операторы бывают трех видов. Во-первых, это унарные операторы, которые работают только с одним аргументом, например, ! (оператор отрицания) или ++ (инкримент). Вторую группу составляют бинарные операторы: в нее входят большинство поддерживаемых в PHP операторов, полный список которых вы можете найти в разделе Порядок выполнения операторов.

И последнюю, третью группу составляет тернарный оператор ?:. Он используется для условного выбора между двумя операторами, в зависимости от результата вычисления третьего оператора. Говоря другими словами, он позволяет определить две альтернативные ветви дальнейшего выполнения. Тернарный оператор рекомендуется заключать в круглые скобки.

Выражения
Приоритет выполнения операторов
Справочник языка


Приоритет выполнения операторов

Приоритет операторов определяет, насколько "тесно" связанны между собой два выражения. Например, выражение 1 + 5 * 3 вычисляется как 16, а не 18, поскольку операция умножения ("*") имеет более высокий приоритет, чем операция сложения ("+"). В случае, если операторы имеют одинаковый приоритет, они будут выполняться слева направо. Круглые скобки могут использоваться для принудительного указания необходимого порядка выполнения операторов. Например, выражение (1 + 5) * 3 вычисляется как 18.

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

Порядок выполнения операторов
Ассоциативность | Оператор
неассоциативна | new
правая | [
неассоциативна | ++ --
неассоциативна | ! ~ - (int) (float) (string) (array) (object) @
левая | * / %
левая | + - .
левая | << >>
неассоциативна | < <= > >=
неассоциативна | == != === !==
левая | &
левая | ^
левая | |
левая | &&
левая | ||
левая | ? :
правая | = += -= *= /= .= %= &= |= ^= <<= >>=
левая | 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
  ?>

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

Замечание: Несмотря на то, что оператор ! имеет более высокий приоритет чем =, 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.

Также вы можете ознакомиться с разделом документации Математические функции.

Приоритет выполнения операторов
Оператор присвоения
Операторы


Оператор присвоения

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

Результатом выполнения оператора присвоения является само присвоенное значение. Таким образом, результат выполнения $a = 3 будет равен 3. Это позволяет использовать конструкции вида:

<?php

$a = ($b = 4) + 5; // результат: $a установлена значением 9, переменной $b присвоено 4.

?>

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

<?php

$a = 3;
$a += 5; // устанавливает $a значением 8, аналогично записи: $a = $a + 5;
$b = "Hello ";
$b .= "There!"; // устанавливает $b строкой "Hello There!",  как и $b = $b . "There!";

?>

Обратите внимание, что присвоение копирует оригинальную переменную в новую (присвоение по значению), таким образом все последующие изменения одной из переменных на другой никак не отражаются. Начиная с PHP 4, также поддерживается присваивание по ссылке, используя синтаксис $var = &$othervar;, но в PHP 3 такая возможность отсутствует. 'Присвоение по ссылке' означает, что обе переменные указывают на одни и те же данные и никакого копирования не происходит. Для получения более полной информации об этой возможности, обратитесь к разделу документации Подробно об указателях.

Арифметические операторы
Побитовые операторы
Операторы


Побитовые операторы

Побитовые операторы позволяют устанавливать конкретные биты в 0 или 1 для целочисленных значений. В случае если и левый, и правый операнды строки, побитовые операции будут работать с их ASCII-представлениями.

<?php
echo 12 ^ 9; // Выведет '5'

echo "12" ^ "9"; // Отобразит симовол возврата каретки (ascii 8)
                 // ('1' (ascii 49)) ^ ('9' (ascii 57)) = #8

echo "hallo" ^ "hello"; // Выведет следующие ASCII-значения: #0 #4 #0 #0 #0
                        // 'a' ^ 'e' = #4
?>

Побитовые операторы
Пример | Название | Результат
$a & $b | Побитовое 'и' | Устанавливаются только те биты, которые установлены и в $a, и в $b.
$a | $b | Побитовое 'или' | Устанавливаются те биты, которые установлены либо в $a, либо в $b.
$a ^ $b | Исключающее или | Устанавливаются только те биты, которые установлены либо только в $a, либо только в $b
~ $a | Отрицание | Устанавливаются те биты, которые в $a не установлены, и наоборот.
$a << $b | Сдвиг влево | Все биты переменной $a сдвигаються на $b позиций влево (каждая позиция подразумевает 'умножение на 2')
$a >> $b | Сдвиг вправо | Все биты переменной $a сдвигаються на $b позиций вправо (каждая позиция подразумевает 'деление на 2')
Внимание

Не используйте сдвиг вправо более чем на 32 бита на тридцатидвухразрядных системах. Не используйте сдвиг вправо для получения чисел, требующих для записи более ридцатидвух бит.

Оператор присвоения
Операторы сравнения
Операторы


Операторы сравнения

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

Операторы сравнения
Пример | Название | Результат
$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 is меньше или равно $b.
$a >= $b | Больше или равно | TRUE если $a больше или равно $b.

В случае, если вы сравниваете целое со строкой, строка будет преобразована к числу. В случае, если вы сравниваете две числовые строки, они сравниваются как целые числа. Эти правила также распространяются на оператор switch.

<?php
  var_dump(0 == "a"); // 0 == 0 -> true
  var_dump("1" == "01"); // 1 == 1 -> true

  switch ("a") {
  case 0:
      echo "0";
      break;
  case "a": // Эта ветка никогда не будет достигнута, так как "a" уже сопоставленно с 0
      echo "a";
      break;
  }
  ?>

Еще одним условным оператором является тернарный оператор "?:".

<?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.

Также ознакомьтесь с описаниями функций strcasecmp(), strcmp(), и разделом документации Типы и Операторы, работающие с массивами.

Побитовые операторы
Оператор управления ошибками
Операторы


Оператор управления ошибками

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

В случае, если установлена опция track_errors, все генерируемые сообщения об ошибках будут сохраняться в переменной $php_errormsg. Эта переменная будет перезаписываться при возникновении каждой новой ошибки, поэтому в случае необходимости проверяйте ее сразу же.

<?php
// Преднамеренная ошибка при работе с файлами
$my_file = @file ('non_existent_file') or
    die ("Failed opening file: error was '$php_errormsg'");

// работает для любых выражений, а не только для функций
$value = @$cache[$key];
// В случае если ключа $key нет, сообщение об ошибке не будет отображено

?>

Замечание: Оператор @ работает только с выражениями. Есть простое правило: если произвольная языковая конструкция возвращает значение, значит вы можете использовать предшествующий ей оператор @. Например, вы можете использовать @ перед именем переменной, произвольной функцией или вызовом 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, поддерживает префиксные и постфиксные операторы инкремента и декремента.

Операторы инкремента и декремента
Пример | Название | Действие
++$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 (в отличие от С) касательно выполнения арифметических операций с символьными переменными. Например в Perl 'Z'+1 будет вычислено как 'AA', в то время как в C 'Z'+1 будет вычислено как '[' ( ord('Z') == 90, ord('[') == 91 ). Следует учесть, что к символьным переменным можно применять операцию инкремента, в то время как операцию декремента применять нельзя.

Пример #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" в том, что они работают с различными приоритетами (смотрите таблицу Приоритет выполнения операторов).

Операторы инкремента и декремента
Строковые операторы
Операторы


Строковые операторы

В PHP есть два оператора для работы со строками. Первый - оператор конкатенации ('.'), который возвращает объединение левого и правого аргумента. Второй - оператор присвоения с конкатенацией, который присоединяет правый аргумент к левому. Для получения более полной информации ознакомтесь с разделом Оператор присвоения.

<?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 используется для определения того, является ли текущий объект экземпляром указанного класса .

Оператор instanceof был добавлен в PHP 5. До этого использовалась конструкция is_a(), которая на данный момент не рекомендуется к применению, более предпочтительно использовать оператор instanceof .

<?php
class A { }
class B { }

$thing = new A;

if ($thing instanceof A) {
    echo 'A';
}
if ($thing instanceof B) {
    echo 'B';
}
?>

Поскольку объект $thing является экземпляром класса A, и никак не B, то будет выполнен только первый, опирающийся на класс A, блок:

A

Ознакомьтесь также с описанием функций get_class() и is_a().

Операторы, работающие с массивами
Управляющие конструкции
Операторы


Управляющие конструкции

Содержание

  • Введение
  • if
  • else
  • elseif/else if
  • Alternative syntax for control structures
  • while
  • do-while
  • for
  • foreach
  • break
  • continue
  • switch
  • declare
  • return
  • require
  • include
  • require_once
  • include_once
  • goto
Оператор проверки принадлежности к классу
Введение
Справочник языка


Введение

Любой сценарий PHP состоит из последовательности инструкций. Инструкцией может быть присваивание, вызов функции, повтор кода (цикл), сравнение, или даже инструкция, которая ничего не делает (пустой оператор). После инструкции обычно ставится точка с запятой. Кроме того, инструкции могут быть объединены в блоки заключением их в фигурные скобки. Блок инструкций также сам по себе является инструкцией. В этом разделе описываются различные типы инструкций.

Управляющие конструкции
if
Управляющие конструкции


if

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

if (выражение)
    инструкция

Как описано в разделе про выражения, выражение вычисляется в булево значение. Если выражение принимает значение TRUE, PHP выполнит инструкцию, а если оно принимает значение FALSE - проигнорирует. Информацию о том, какие значения считаются равнозначными значению FALSE, можно найти в разделе Преобразование в булев тип.

Следующий пример выведет a больше чем b если значение переменной $a больше чем $b:

<?php
if ($a > $b)
    echo "a больше чем b";
?>

Часто необходимо, чтобы условно выполнялось более одной инструкции. Для этого можно объединить несколько инструкций в блок. Например, следующий код выведет a больше чем b, если значение переменной $a больше чем $b, и затем присвоит значение переменной $a переменной $b:

<?php
if ($a > $b) {
    echo "a больше, чем b";
    $b = $a;
}
?>

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

Введение
else
Управляющие конструкции


else

Often you'd want to execute a statement if a certain condition is met, and a different statement if the condition is not met. This is what else is for. else extends an if statement to execute a statement in case the expression in the if statement evaluates to FALSE. For example, the following code would display a is greater than b if $a is greater than $b, and a is NOT greater than b otherwise:

<?php
if ($a > $b) {
  echo "a is greater than b";
} else {
  echo "a is NOT greater than b";
}
?>

The else statement is only executed if the if expression evaluated to FALSE, and if there were any elseif expressions - only if they evaluated to FALSE as well (see elseif).

if
elseif/else if
Управляющие конструкции


elseif/else if

elseif, as its name suggests, is a combination of if and else. Like else, it extends an if statement to execute a different statement in case the original if expression evaluates to FALSE. However, unlike else, it will execute that alternative expression only if the elseif conditional expression evaluates to TRUE. For example, the following code would display a is bigger than b, a equal to b or a is smaller than b:

<?php
if ($a > $b) {
    echo "a is bigger than b";
} elseif ($a == $b) {
    echo "a is equal to b";
} else {
    echo "a is smaller than b";
}
?>

There may be several elseifs within the same if statement. The first elseif expression (if any) that evaluates to TRUE would be executed. In PHP, you can also write 'else if' (in two words) and the behavior would be identical to the one of 'elseif' (in a single word). The syntactic meaning is slightly different (if you're familiar with C, this is the same behavior) but the bottom line is that both would result in exactly the same behavior.

The elseif statement is only executed if the preceding if expression and any preceding elseif expressions evaluated to FALSE, and the current elseif expression evaluated to TRUE.

Замечание: Note that elseif and else if will only be considered exactly the same when using curly brackets as in the above example. When using a colon to define your if/elseif conditions, you must not separate else if into two words, or PHP will fail with a parse error.

<?php

/* Incorrect Method: */
if($a > $b):
    echo $a." is greater than ".$b;
else if($a == $b): // Will not compile.
    echo "The above line causes a parse error.";
endif;

/* Correct Method: */
if($a > $b):
    echo $a." is greater than ".$b;
elseif($a == $b): // Note the combination of the words.
    echo $a." equals ".$b;
else:
    echo $a." is neither greater than or equal to ".$b;
endif;

?>

else
Alternative syntax for control structures
Управляющие конструкции


Alternative syntax for control structures

PHP offers an alternative syntax for some of its control structures; namely, if, while, for, foreach, and switch. In each case, the basic form of the alternate syntax is to change the opening brace to a colon (:) and the closing brace to endif;, endwhile;, endfor;, endforeach;, or endswitch;, respectively.

<?php if ($a == 5): ?>
A is equal to 5
<?php endif; ?>

In the above example, the HTML block "A is equal to 5" is nested within an if statement written in the alternative syntax. The HTML block would be displayed only if $a is equal to 5.

The alternative syntax applies to else and elseif as well. The following is an if structure with elseif and else in the alternative format:

<?php
if ($a == 5):
    echo "a equals 5";
    echo "...";
elseif ($a == 6):
    echo "a equals 6";
    echo "!!!";
else:
    echo "a is neither 5 nor 6";
endif;
?>

See also while, for, and if for further examples.

elseif/else if
while
Управляющие конструкции


while

while loops are the simplest type of loop in PHP. They behave just like their C counterparts. The basic form of a while statement is:

while (expr)
    statement

The meaning of a while statement is simple. It tells PHP to execute the nested statement(s) repeatedly, as long as the while expression evaluates to TRUE. The value of the expression is checked each time at the beginning of the loop, so even if this value changes during the execution of the nested statement(s), execution will not stop until the end of the iteration (each time PHP runs the statements in the loop is one iteration). Sometimes, if the while expression evaluates to FALSE from the very beginning, the nested statement(s) won't even be run once.

Like with the if statement, you can group multiple statements within the same while loop by surrounding a group of statements with curly braces, or by using the alternate syntax:

while (expr):
    statement
    ...
endwhile;

The following examples are identical, and both print the numbers 1 through 10:

<?php
/* example 1 */

$i = 1;
while ($i <= 10) {
    echo $i++;  /* the printed value would be
                   $i before the increment
                   (post-increment) */
}

/* example 2 */

$i = 1;
while ($i <= 10):
    echo $i;
    $i++;
endwhile;
?>

Alternative syntax for control structures
do-while
Управляющие конструкции


do-while

do-while loops are very similar to while loops, except the truth expression is checked at the end of each iteration instead of in the beginning. The main difference from regular while loops is that the first iteration of a do-while loop is guaranteed to run (the truth expression is only checked at the end of the iteration), whereas it may not necessarily run with a regular while loop (the truth expression is checked at the beginning of each iteration, if it evaluates to FALSE right from the beginning, the loop execution would end immediately).

There is just one syntax for do-while loops:

<?php
$i = 0;
do {
    echo $i;
} while ($i > 0);
?>

The above loop would run one time exactly, since after the first iteration, when truth expression is checked, it evaluates to FALSE ($i is not bigger than 0) and the loop execution ends.

Advanced C users may be familiar with a different usage of the do-while loop, to allow stopping execution in the middle of code blocks, by encapsulating them with do-while (0), and using the break statement. The following code fragment demonstrates this:

<?php
do {
    if ($i < 5) {
        echo "i is not big enough";
        break;
    }
    $i *= $factor;
    if ($i < $minimum_limit) {
        break;
    }
   echo "i is ok";

    /* process i */

} while (0);
?>

Don't worry if you don't understand this right away or at all. You can code scripts and even powerful scripts without using this 'feature'.

while
for
Управляющие конструкции


for

for loops are the most complex loops in PHP. They behave like their C counterparts. The syntax of a for loop is:

for (expr1; expr2; expr3)
    statement

The first expression (expr1) is evaluated (executed) once unconditionally at the beginning of the loop.

In the beginning of each iteration, expr2 is evaluated. If it evaluates to TRUE, the loop continues and the nested statement(s) are executed. If it evaluates to FALSE, the execution of the loop ends.

At the end of each iteration, expr3 is evaluated (executed).

Each of the expressions can be empty or contain multiple expressions separated by commas. In expr2, all expressions separated by a comma are evaluated but the result is taken from the last part. expr2 being empty means the loop should be run indefinitely (PHP implicitly considers it as TRUE, like C). This may not be as useless as you might think, since often you'd want to end the loop using a conditional break statement instead of using the for truth expression.

Consider the following examples. All of them display the numbers 1 through 10:

<?php
/* example 1 */

for ($i = 1; $i <= 10; $i++) {
    echo $i;
}

/* example 2 */

for ($i = 1; ; $i++) {
    if ($i > 10) {
        break;
    }
    echo $i;
}

/* example 3 */

$i = 1;
for (; ; ) {
    if ($i > 10) {
        break;
    }
    echo $i;
    $i++;
}

/* example 4 */

for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i, $i++);
?>

Of course, the first example appears to be the nicest one (or perhaps the fourth), but you may find that being able to use empty expressions in for loops comes in handy in many occasions.

PHP also supports the alternate "colon syntax" for for loops.

for (expr1; expr2; expr3):
    statement
    ...
endfor;

Its a common thing to many users to iterate though arrays like in the example below.

<?php
/*
* This is an array with some data we want to modify
* when running through the for loop.
*/
$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);
}
?>

The problem lies in the second for expression. This code can be slow because it has to calculate the size of the array on each iteration. Since the size never change, it can be optimized easily using an intermediate variable to store the size and use in the loop instead of sizeof. The example below illustrates this:

<?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 introduced a foreach construct, much like Perl and some other languages. This simply gives an easy way to iterate over arrays. foreach works only on arrays, and will issue an error when you try to use it on a variable with a different data type or an uninitialized variable. There are two syntaxes; the second is a minor but useful extension of the first:

foreach (array_expression as $value)
    statement
foreach (array_expression as $key => $value)
    statement

The first form loops over the array given by array_expression. On each loop, the value of the current element is assigned to $value and the internal array pointer is advanced by one (so on the next loop, you'll be looking at the next element).

The second form does the same thing, except that the current element's key will be assigned to the variable $key on each loop.

As of PHP 5, it is possible to iterate objects too.

Замечание: When foreach first starts executing, the internal array pointer is automatically reset to the first element of the array. This means that you do not need to call reset() before a foreach loop.

Замечание: Unless the array is referenced, foreach operates on a copy of the specified array and not the array itself. foreach has some side effects on the array pointer. Don't rely on the array pointer during or after the foreach without resetting it.

As of PHP 5, you can easily modify array's elements by preceding $value with &. This will assign reference instead of copying the value.

<?php
$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
    $value = $value * 2;
}
// $arr is now array(2, 4, 6, 8)
unset($value); // break the reference with the last element
?>

This is possible only if iterated array can be referenced (i.e. is variable), that means the following code won't work:

<?php
foreach (array(1, 2, 3, 4) as &$value) {
    $value = $value * 2;
}

?>

Внимание

Reference of a $value and the last array element remain even after the foreach loop. It is recommended to destroy it by unset().

Замечание: foreach does not support the ability to suppress error messages using '@'.

You may have noticed that the following are functionally identical:

<?php
$arr = array("one", "two", "three");
reset($arr);
while (list(, $value) = each($arr)) {
    echo "Value: $value<br />\n";
}

foreach ($arr as $value) {
    echo "Value: $value<br />\n";
}
?>

The following are also functionally identical:

<?php
$arr = array("one", "two", "three");
reset($arr);
while (list($key, $value) = each($arr)) {
    echo "Key: $key; Value: $value<br />\n";
}

foreach ($arr as $key => $value) {
    echo "Key: $key; Value: $value<br />\n";
}
?>

Some more examples to demonstrate usages:

<?php
/* foreach example 1: value only */

$a = array(1, 2, 3, 17);

foreach ($a as $v) {
    echo "Current value of \$a: $v.\n";
}

/* foreach example 2: value (with its manual access notation printed for illustration) */

$a = array(1, 2, 3, 17);

$i = 0; /* for illustrative purposes only */

foreach ($a as $v) {
    echo "\$a[$i] => $v.\n";
    $i++;
}

/* foreach example 3: key and value */

$a = array(
    "one" => 1,
    "two" => 2,
    "three" => 3,
    "seventeen" => 17
);

foreach ($a as $k => $v) {
    echo "\$a[$k] => $v.\n";
}

/* foreach example 4: multi-dimensional arrays */
$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";
    }
}

/* foreach example 5: dynamic arrays */

foreach (array(1, 2, 3, 4, 5) as $v) {
    echo "$v\n";
}
?>

for
break
Управляющие конструкции


break

break ends execution of the current for, foreach, while, do-while or switch structure.

break accepts an optional numeric argument which tells it how many nested enclosing structures are to be broken out of.

<?php
$arr = array('one', 'two', 'three', 'four', 'stop', 'five');
while (list(, $val) = each($arr)) {
    if ($val == 'stop') {
        break;    /* You could also write 'break 1;' here. */
    }
    echo "$val<br />\n";
}

/* Using the optional argument. */

$i = 0;
while (++$i) {
    switch ($i) {
    case 5:
        echo "At 5<br />\n";
        break 1;  /* Exit only the switch. */
    case 10:
        echo "At 10; quitting<br />\n";
        break 2;  /* Exit the switch and the while. */
    default:
        break;
    }
}
?>

foreach
continue
Управляющие конструкции


continue

continue is used within looping structures to skip the rest of the current loop iteration and continue execution at the condition evaluation and then the beginning of the next iteration.

Замечание: Note that in PHP the switch statement is considered a looping structure for the purposes of continue.

continue accepts an optional numeric argument which tells it how many levels of enclosing loops it should skip to the end of.

<?php
while (list($key, $value) = each($arr)) {
    if (!($key % 2)) { // skip odd members
        continue;
    }
    do_something_odd($value);
}

$i = 0;
while ($i++ < 5) {
    echo "Outer<br />\n";
    while (1) {
        echo "&nbsp;&nbsp;Middle<br />\n";
        while (1) {
            echo "&nbsp;&nbsp;Inner<br />\n";
            continue 3;
        }
        echo "This never gets output.<br />\n";
    }
    echo "Neither does this.<br />\n";
}
?>

Omitting the semicolon after continue can lead to confusion. Here's an example of what you shouldn't do.

<?php
for ($i = 0; $i < 5; ++$i) {
    if ($i == 2)
        continue
    print "$i\n";
}
?>

One can expect the result to be :

0
1
3
4

but this script will output :

2

because the return value of the print() call is int(1), and it will look like the optional numeric argument mentioned above.

break
switch
Управляющие конструкции


switch

The switch statement is similar to a series of IF statements on the same expression. In many occasions, you may want to compare the same variable (or expression) with many different values, and execute a different piece of code depending on which value it equals to. This is exactly what the switch statement is for.

Замечание: Note that unlike some other languages, the continue statement applies to switch and acts similar to break. If you have a switch inside a loop and wish to continue to the next iteration of the outer loop, use continue 2.

Замечание: Note that switch/case does loose comparision.

The following two examples are two different ways to write the same thing, one using a series of if and elseif statements, and the other using the switch statement:

Пример #1 switch structure

<?php
if ($i == 0) {
    echo "i equals 0";
} elseif ($i == 1) {
    echo "i equals 1";
} elseif ($i == 2) {
    echo "i equals 2";
}

switch ($i) {
    case 0:
        echo "i equals 0";
        break;
    case 1:
        echo "i equals 1";
        break;
    case 2:
        echo "i equals 2";
        break;
}
?>

Пример #2 switch structure allows usage of strings

<?php
switch ($i) {
    case "apple":
        echo "i is apple";
        break;
    case "bar":
        echo "i is bar";
        break;
    case "cake":
        echo "i is cake";
        break;
}
?>

It is important to understand how the switch statement is executed in order to avoid mistakes. The switch statement executes line by line (actually, statement by statement). In the beginning, no code is executed. Only when a case statement is found with a value that matches the value of the switch expression does PHP begin to execute the statements. PHP continues to execute the statements until the end of the switch block, or the first time it sees a break statement. If you don't write a break statement at the end of a case's statement list, PHP will go on executing the statements of the following case. For example:

<?php
switch ($i) {
    case 0:
        echo "i equals 0";
    case 1:
        echo "i equals 1";
    case 2:
        echo "i equals 2";
}
?>

Here, if $i is equal to 0, PHP would execute all of the echo statements! If $i is equal to 1, PHP would execute the last two echo statements. You would get the expected behavior ('i equals 2' would be displayed) only if $i is equal to 2. Thus, it is important not to forget break statements (even though you may want to avoid supplying them on purpose under certain circumstances).

In a switch statement, the condition is evaluated only once and the result is compared to each case statement. In an elseif statement, the condition is evaluated again. If your condition is more complicated than a simple compare and/or is in a tight loop, a switch may be faster.

The statement list for a case can also be empty, which simply passes control into the statement list for the next case.

<?php
switch ($i) {
case 0:
case 1:
case 2:
    echo "i is less than 3 but not negative";
    break;
case 3:
    echo "i is 3";
}
?>

A special case is the default case. This case matches anything that wasn't matched by the other cases. For example:

<?php
switch ($i) {
    case 0:
        echo "i equals 0";
        break;
    case 1:
        echo "i equals 1";
        break;
    case 2:
        echo "i equals 2";
        break;
    default:
       echo "i is not equal to 0, 1 or 2";
}
?>

The case expression may be any expression that evaluates to a simple type, that is, integer or floating-point numbers and strings. Arrays or objects cannot be used here unless they are dereferenced to a simple type.

The alternative syntax for control structures is supported with switches. For more information, see Alternative syntax for control structures.

<?php
switch ($i):
    case 0:
        echo "i equals 0";
        break;
    case 1:
        echo "i equals 1";
        break;
    case 2:
        echo "i equals 2";
        break;
    default:
        echo "i is not equal to 0, 1 or 2";
endswitch;
?>

Its possible to use a semicolon instead of a colon after a case like:

<?php
switch($beer)
{
    case 'tuborg';
    case 'carlsberg';
    case 'heineken';
        echo 'Good choice';
    break;
    default;
        echo 'Please make a new selection...';
    break;
}
?>

continue
declare
Управляющие конструкции


declare

The declare construct is used to set execution directives for a block of code. The syntax of declare is similar to the syntax of other flow control constructs:

declare (directive)
    statement

The directive section allows the behavior of the declare block to be set. Currently only two directives are recognized: the ticks directive (See below for more information on the ticks directive) and the encoding directive (See below for more information on the encoding directive).

Замечание: The encoding directive was added in PHP 5.3.0

The statement part of the declare block will be executed - how it is executed and what side effects occur during execution may depend on the directive set in the directive block.

The declare construct can also be used in the global scope, affecting all code following it (however if the file with declare was included then it does not affect the parent file).

<?php
// these are the same:

// you can use this:
declare(ticks=1) {
    // entire script here
}

// or you can use this:
declare(ticks=1);
// entire script here
?>

Ticks

A tick is an event that occurs for every N low-level tickable statements executed by the parser within the declare block. The value for N is specified using ticks=N within the declare blocks's directive section.

Not all statements are tickable. Typically, condition expressions and argument expressions are not tickable.

The event(s) that occur on each tick are specified using the register_tick_function(). See the example below for more details. Note that more than one event can occur for each tick.

Пример #1 Tick usage example

<?php

declare(ticks=1);

// A function called on each tick event
function tick_handler()
{
     echo "tick_handler() called\n";
}

register_tick_function('tick_handler');

$a = 1;

if ($a > 0) {
      $a += 2;
      print($a);
}

?>

Пример #2 Ticks usage example

<?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();

?>

See also register_tick_function() and unregister_tick_function().

Encoding

A script's encoding can be specified per-script using the encoding directive.

Пример #3 Declaring an encoding for the script.

<?php
declare(encoding='ISO-8859-1');
// code here
?>

Предостережение

When combined with namespaces, the only legal syntax for declare is declare(encoding='...'); where ... is the encoding value. declare(encoding='...') {} will result in a parse error when combined with namespaces.

The encoding declare value is ignored in PHP 5.3 unless php is compiled with --enable-zend-multibyte. In PHP 6.0, the encoding directive will be used to inform the scanner what encoding the file is created in. Legal values are encoding names such as UTF-8.

switch
return
Управляющие конструкции


return

If called from within a function, the return() statement immediately ends execution of the current function, and returns its argument as the value of the function call. return() will also end the execution of an eval() statement or script file.

If called from the global scope, then execution of the current script file is ended. If the current script file was include()ed or require()ed, then control is passed back to the calling file. Furthermore, if the current script file was include()ed, then the value given to return() will be returned as the value of the include() call. If return() is called from within the main script file, then script execution ends. If the current script file was named by the auto_prepend_file or auto_append_file configuration options in php.ini, then that script file's execution is ended.

For more information, see Returning values.

Замечание: Note that since return() is a language construct and not a function, the parentheses surrounding its arguments are not required. It is common to leave them out, and you actually should do so as PHP has less work to do in this case.

Замечание: You should never use parentheses around your return variable when returning by reference, as this will not work. You can only return variables by reference, not the result of a statement. If you use return ($a); then you're not returning a variable, but the result of the expression ($a) (which is, of course, the value of $a).

declare
require
Управляющие конструкции


require

return
include
Управляющие конструкции
PHP Manual

require()

require() is identical to include() except upon failure it will produce a fatal E_ERROR level error. In other words, it will halt the script whereas include() only emits a warning (E_WARNING) which allows the script to continue.

See the include() documentation for how this works.

return
include
Управляющие конструкции


include

require
require_once
Управляющие конструкции
PHP Manual

include()

The include() statement includes and evaluates the specified file.

The documentation below also applies to require(). The two constructs are identical in every way except how they handle failure. They both produce a Warning, but require() results in a Fatal Error. In other words, use require() if you want a missing file to halt processing of the page. include() does not behave this way, the script will continue regardless. Be sure to have an appropriate include_path setting as well. Be warned that parse error in included file doesn't cause processing halting in PHP versions prior to PHP 4.3.5. Since this version, it does.

Files for including are first looked for in each include_path entry relative to the current working directory, and then in the directory of current script. E.g. if your include_path is libraries, current working directory is /www/, you included include/a.php and there is include "b.php" in that file, b.php is first looked in /www/libraries/ and then in /www/include/. If filename begins with ./ or ../, it is looked for only in the current working directory or parent of the current working directory, respectively.

When a file is included, the code it contains inherits the variable scope of the line on which the include occurs. Any variables available at that line in the calling file will be available within the called file, from that point forward. However, all functions and classes defined in the included file have the global scope.

Пример #1 Basic include() example

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

?>

If the include occurs inside a function within the calling file, then all of the code contained in the called file will behave as though it had been defined inside that function. So, it will follow the variable scope of that function. An exception to this rule are magic constants which are evaluated by the parser before the include occurs.

Пример #2 Including within functions

<?php

function foo()
{
    global $color;

    include 'vars.php';

    echo "A $color $fruit";
}

/* vars.php is in the scope of foo() so     *
* $fruit is NOT available outside of this  *
* scope.  $color is because we declared it *
* as global.                               */

foo();                    // A green apple
echo "A $color $fruit";   // A green

?>

When a file is included, parsing drops out of PHP mode and into HTML mode at the beginning of the target file, and resumes again at the end. For this reason, any code inside the target file which should be executed as PHP code must be enclosed within valid PHP start and end tags.

If "URL fopen wrappers" are enabled in PHP (which they are in the default configuration), you can specify the file to be included using a URL (via HTTP or other supported wrapper - see List of Supported Protocols/Wrappers for a list of protocols) instead of a local pathname. If the target server interprets the target file as PHP code, variables may be passed to the included file using a URL request string as used with HTTP GET. This is not strictly speaking the same thing as including the file and having it inherit the parent file's variable scope; the script is actually being run on the remote server and the result is then being included into the local script.

Внимание

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

Пример #3 include() through HTTP

<?php

/* This example assumes that www.example.com is configured to parse .php
* files and not .txt files. Also, 'Works' here means that the variables
* $foo and $bar are available within the included file. */

// Won't work; file.txt wasn't handled by www.example.com as PHP
include 'http://www.example.com/file.txt?foo=1&bar=2';

// Won't work; looks for a file named 'file.php?foo=1&bar=2' on the
// local filesystem.
include 'file.php?foo=1&bar=2';

// Works.
include 'http://www.example.com/file.php?foo=1&bar=2';

$foo = 1;
$bar = 2;
include 'file.txt';  // Works.
include 'file.php';  // Works.

?>

Внимание

Security warning

Remote file may be processed at the remote server (depending on the file extension and the fact if the remote server runs PHP or not) but it still has to produce a valid PHP script because it will be processed at the local server. If the file from the remote server should be processed there and outputted only, readfile() is much better function to use. Otherwise, special care should be taken to secure the remote script to produce a valid and desired code.

See also Remote files, fopen() and file() for related information.

Handling Returns: It is possible to execute a return() statement inside an included file in order to terminate processing in that file and return to the script which called it. Also, it's possible to return values from included files. You can take the value of the include call as you would a normal function. This is not, however, possible when including remote files unless the output of the remote file has valid PHP start and end tags (as with any local file). You can declare the needed variables within those tags and they will be introduced at whichever point the file was included.

Because include() is a special language construct, parentheses are not needed around its argument. Take care when comparing return value.

Пример #4 Comparing return value of include

<?php
// won't work, evaluated as include(('vars.php') == 'OK'), i.e. include('')
if (include('vars.php') == 'OK') {
    echo 'OK';
}

// works
if ((include 'vars.php') == 'OK') {
    echo 'OK';
}
?>

Пример #5 include() and the return() statement

return.php
<?php

$var = 'PHP';

return $var;

?>

noreturn.php
<?php

$var = 'PHP';

?>

testreturns.php
<?php

$foo = include 'return.php';

echo $foo; // prints 'PHP'

$bar = include 'noreturn.php';

echo $bar; // prints 1

?>

$bar is the value 1 because the include was successful. Notice the difference between the above examples. The first uses return() within the included file while the other does not. If the file can't be included, FALSE is returned and E_WARNING is issued.

If there are functions defined in the included file, they can be used in the main file independent if they are before return() or after. If the file is included twice, PHP 5 issues fatal error because functions were already declared, while PHP 4 doesn't complain about functions defined after return(). It is recommended to use include_once() instead of checking if the file was already included and conditionally return inside the included file.

Another way to "include" a PHP file into a variable is to capture the output by using the Output Control Functions with include(). For example:

Пример #6 Using output buffering to include a PHP file into a string

<?php
$string = get_include_contents('somefile.php');

function get_include_contents($filename) {
    if (is_file($filename)) {
        ob_start();
        include $filename;
        $contents = ob_get_contents();
        ob_end_clean();
        return $contents;
    }
    return false;
}

?>

In order to automatically include files within scripts, see also the auto_prepend_file and auto_append_file configuration options in php.ini.

Замечание: Поскольку это языковая конструкция, а не функция, она не может вызываться при помощи переменных функций

See also require(), require_once(),
include_once(), get_included_files(),
readfile(), virtual(), and
include_path.

require
require_once
Управляющие конструкции


require_once

include
include_once
Управляющие конструкции
PHP Manual

require_once()

The require_once() statement is identical to require() except PHP will check if the file has already been included, and if so, not include (require) it again.

See the include_once() documentation for information about the _once behaviour, and how it differs from its non _once siblings.

include
include_once
Управляющие конструкции


include_once

require_once
goto
Управляющие конструкции
PHP Manual

include_once()

The include_once() statement includes and evaluates the specified file during the execution of the script. This is a behavior similar to the include() statement, with the only difference being that if the code from a file has already been included, it will not be included again. As the name suggests, it will be included just once.

include_once() may be used in cases where the same file might be included and evaluated more than once during a particular execution of a script, so in this case it may help avoid problems such as function redefinitions, variable value reassignments, etc.

See the include() documentation for information about how this function works.

Замечание: With PHP 4, _once functionality differs with case-insensitive operating systems (like Windows) so for example:

Пример #1 include_once() with a case insensitive OS in PHP 4

<?php
include_once "a.php"; // this will include a.php
include_once "A.php"; // this will include a.php again! (PHP 4 only)
?>

This behaviour changed in PHP 5, so for example with Windows the path is normalized first so that C:\PROGRA~1\A.php is realized the same as C:\Program Files\a.php and the file is included just once.

require_once
goto
Управляющие конструкции


goto

The goto operator can be used to jump to another section in the program. The target point is specified by a label followed by a colon, and the instruction is given as goto followed by the desired target label.

Пример #1 goto example

<?php
goto a;
echo 'Foo';

a:
echo 'Bar';
?>

Результат выполнения данного примера:

Bar

Замечание: The goto operator is available as of PHP 5.3.

Внимание

It is not allowed to jump into a loop or switch statement. A fatal error is issued in such cases.

Image courtesy of » xkcd

include_once
Функции
Управляющие конструкции


Функции

Содержание

  • Функции, определяемые пользователем
  • Аргументы функции
  • Возврат значений
  • Обращение к функциям через переменные
  • Встроенные функции
goto
Функции, определяемые пользователем
Справочник языка


Функции, определяемые пользователем

Приведем пример синтаксиса, используемого для описания функций:

Пример #1 Псевдокод для демонстрации использования функций

<?php
function foo($arg_1, $arg_2, /* ..., */ $arg_n)
{
    echo "Example function.\n";
    return $retval;
}
?>

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

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

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

Пример #2 Функции, зависящие от условий

<?php

$makefoo = true;

/* Мы не можем вызвать функцию foo() в этом месте,
   поскольку она еще не определена, но мы можем
   обратиться к bar() */

bar();

if ($makefoo) {
  function foo()
  {
    echo "I don't exist until program execution reaches me.\n";
  }
}

/* Теперь мы благополучно можем вызывать foo(),
   поскольку $makefoo была интерпретирована как true */

if ($makefoo) foo();

function bar()
{
  echo "I exist immediately upon program start.\n";
}

?>

Пример #3 Вложенные функции

<?php
function foo()
{
  function bar()
  {
    echo "I don't exist until foo() is called.\n";
  }
}

/* Мы пока не можем обратиться к bar(),
   поскольку она еще не определена. */

foo();

/* Теперь мы можем вызвать функцию bar(),
   обработка foo() сделала ее доступной. */

bar();

?>

PHP не поддерживает перегрузку функции, также отсутствует возможность переопределить или удалить объявленную ранее функцию.

Замечание: Имена функций регистронезависимы, тем не менее, более предпочтительно вызывать функции так, как они были объявлены.

PHP 3 не поддерживает переменное количество аргументов функции, хотя поддержка значений по умолчанию для аргументов присутствует (смотрите раздел Значения аргументов по умолчанию). Начиная с 4-й версии PHP поддерживает и то, и другое: смотрите раздел Списки аргументов переменной длины и описания функций func_num_args(), func_get_arg(), и func_get_args() для более детальной информации.

Функции
Аргументы функции
Функции


Аргументы функции

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

PHP поддерживает передачу аргументов по значению (по умолчанию), передачу аргументов по ссылке, и значения по умолчанию. Списки аргументов переменной длины поддерживаются, начиная с PHP 4: смотрите раздел Списки аргументов переменной длины и описания функций func_num_args(), func_get_arg() и func_get_args() для более детальной информации. Подобного эффекта можно достичь в PHP 3, передавая функции массив аргументов:

Пример #1 Передача массива в функцию

<?php
function takes_array($input)
{
    echo "$input[0] + $input[1] = ", $input[0]+$input[1];
}
?>

Передача аргументов по ссылке

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

Если вы хотите, что бы аргумент всегда передавался по ссылке, вы можете указать амперсанд (&) перед именем аргумента в описании функции:

Пример #2 Передача аргументов по ссылке

<?php
function add_some_extra(&$string)
{
    $string .= 'and something extra.';
}
$str = 'This is a string, ';
add_some_extra($str);
echo $str;    // Выведет 'This is a string, and something extra.'
?>

Значения аргументов по умолчанию

Функция может определять значения по умолчанию в стиле C++ для скалярных аргументов, например:

Пример #3 Использование значений по умолчанию в определении функции

<?php
function makecoffee($type = "cappuccino")
{
    return "Making a cup of $type.\n";
}
echo makecoffee();
echo makecoffee("espresso");
?>

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

Making a cup of cappuccino.
Making a cup of espresso.

PHP также позволяет использовать массивы и специальный тип NULL в качестве значений по умолчанию, например:

Пример #4 Использование нескалярных типов в качестве значений по умолчанию

<?php
  function makecoffee($types = array("cappuccino"), $coffeeMaker = NULL)
  {
      $device = is_null($coffeeMaker) ? "hands" : $coffeeMaker;
      return "Making a cup of ".join(", ", $types)." with $device.\n";
  }
  echo makecoffee();
  echo makecoffee(array("cappuccino", "lavazza"), "teapot");
  ?>

Значение по умолчанию должно быть константным выражением, а не (к примеру) переменной или вызовом функции/метода класса.

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

Пример #5 Некорректное использование значений по умолчанию

<?php
function makeyogurt($type = "acidophilus", $flavour)
{
    return "Making a bowl of $type $flavour.\n";
}

echo makeyogurt("raspberry");   // Не будет работать так, как мы могли бы ожидать
?>

Результат работы приведенного выше примера будет следующим:

Warning: Missing argument 2 in call to makeyogurt() in
/usr/local/etc/httpd/htdocs/php3test/functest.html on line 41
Making a bowl of raspberry .

Теперь сравним эго со следующим примером:

Пример #6 Некорректное использование значений по умолчанию

<?php
function makeyogurt($flavour, $type = "acidophilus")
{
    return "Making a bowl of $type $flavour.\n";
}

echo makeyogurt("raspberry");   // отрабатывает правильно
?>

Теперь результат работы примера будет выглядеть так:

Making a bowl of acidophilus raspberry.

Замечание: Начиная с PHP 5, значения по умолчанию могут быть переданны по ссылке.

Списки аргументов переменной длины

PHP 4 и выше поддерживает списки аргументов переменной длины для функций,
определяемых пользователем. Реализация этой возможности достаточно прозрачна
и заключается в использовании функций func_num_args(),
func_get_arg() и
func_get_args().

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

Функции, определяемые пользователем
Возврат значений
Функции


Возврат значений

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

Пример #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()

?>

Смотрите также call_user_func(), Переменные переменные и function_exists().

Возврат значений
Встроенные функции
Функции


Встроенные функции

В самом PHP содержится достаточно большое количество встроенных функций и языковых конструкций. Также есть функции, которые требуют, чтобы PHP был собран со специфическими расширениями, в противном случае вы получите сообщение об ошибке, вызванной использованием неизвестной функции. Например, для того чтобы использовать Функции для работы с изображениями, например imagecreatetruecolor(), вам необходимо собрать PHP с поддержкой GD. Или же для того, чтобы воспользоваться функцией mysql_connect(), вам необходима поддержка модуля MySQL. Тем не менее, есть много встроенных функций, которые доступны всегда: например Функции обработки строк и Функции для работы с переменными. Вызвав phpinfo() или get_loaded_extensions(), вы можете узнать, поддержка каких модулей есть в используемом вами PHP. Также следует учесть, что поддержка некоторых дополнительных расширений включена по умолчанию, и что сама документация к PHP разбита по расширениям. Ознакомьтесь с разделами Конфигурация, Установка, а также с документацией непосредственно к дополнительным расширениям для получения более детальной информации о том, как настроить ваш PHP.

Более подробную информацию о том, как следует читать и интерпретировать прототипы функций, вы можете найти в разделе Как правильно читать описания функций. Очень важно понимать, что возвращает функция, или как именно она модифицирует передаваемые аргументы. Например, функция str_replace() возвращает модифицированную строку, в то время как функция usort() работает с фактически переданной переменной. Каждая страница документации также содержит информацию, которая специфична для данной функции, например, информацию о передаваемых параметрах, изменениях в поведении, возвращаемых значениях в случае как удачного, так и неудачного выполнения, доступности функции в различных версиях. Знание и применение этих (порой даже незаметных) нюансов очень важно для написания корректного PHP-кода.

Ознакомьтесь также со Справочником функций и более детальными описаниями функций function_exists(), get_extension_funcs() и dl().

» Anonymous Functions

Обращение к функциям через переменные
Classes and Objects (PHP 4)
Функции


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
Справочник языка


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 5)
Classes and Objects (PHP 4)


Классы и объекты (PHP 5)

Содержание

  • Введение
  • Основы
  • Автоматическая загрузка объектов
  • Конструкторы и деструкторы
  • Область видимости
  • ::
  • Ключевое слово "static"
  • Константы в объектах
  • Абстрактные классы
  • Интерфейсы объектов
  • Перегрузка
  • Итераторы объектов
  • Шаблоны проектирования
  • Магические методы
  • Ключевое слово "final"
  • Клонирование объектов
  • Сравнение объектов
  • Reflection
  • Контроль типа
  • Late Static Bindings
Comparing objects
Введение
Справочник языка


Введение

В PHP 5 новая объектная модель. Управление объектами PHP полностью переписано, более удобное и содержит новые возможности.

Подсказка

See also the Userland Naming Guide.

Классы и объекты (PHP 5)
Основы
Классы и объекты (PHP 5)


Основы

class

Каждое определение класса начинается с ключевого слова class, затем следует имя класса, которое может быть любым именем не входящим в список зарезервированных слов PHP. После идет пара фигурных скобок, в которых находится определение свойств и методов класса. Псевдо-переменная $this доступна в том случае, когда метод был вызван в контексте объекта. $this является ссылкой на вызываемый объект. Обычно это тот объект, которому принадлежит вызванный метод, но может быть и другой объект, если метод был вызван статически из контекста другого объекта. Это показано на следующих примерах:

Пример #1 переменная $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()
    {
        A::foo();
    }
}

$a = new A();
$a->foo();
A::foo();
$b = new B();
$b->bar();
B::bar();
?>

Результат выполнения данного примера:

$this определена (a)
$this не определена.
$this определена (b)
$this не определена.

Пример #2 Определение класса Simple Class

<?php
class SimpleClass
{
    // объявление свойства
    public $var = 'значение по умолчанию';

    // объявление метода
    public function displayVar() {
        echo $this->var;
    }
}
?>

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

Пример #3 Значение свойства класса по умолчанию

<?php
class SimpleClass
{
    // неправильное объявление свойств:
    public $var1 = 'hello '.'world';
    public $var2 = <<<EOD
привет, мир
EOD;
    public $var3 = 1+2;
    public $var4 = self::myStaticMethod();
    public $var5 = $myVar;

    // правильное объявление свойств:
    public $var6 = myConstant;
    public $var7 = self::classConstant;
    public $var8 = array(true, false);

}
?>

Замечание: Тут представлены несколько полезных функций для управления классами и объектами. Возможно, вам будет интересно взглянуть на функции Класса/Объекта.

В отличии от heredocs, nowdocs могут быть использованы как статические данные в любом контексте.

Пример #4 Пример использования nowdocs в контексте статических данных

<?php
class foo {
    // Для PHP 5.3.0
    public $bar = <<<'EOT'
bar
EOT;
}
?>

Замечание: Поддержка nowdocs добавлена в PHP 5.3.0.

new

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

Пример #5 Создание экземпляра класса

<?php
$instance = new SimpleClass();
?>

В контексте класса возможно создать новый объект через new self и new parent.

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

Пример #6 Присваивание объекта

<?php
$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 будет иметь это значение"
}

extends

Класс может наследовать методы и свойства другого класса используя ключевое слово extends при декларации. Невозможно наследовать несколько классов, один класс может наследовать только один базовый класс.

Наследуемые методы и свойства могут быть переопределены (за исключением случаев, когда метод класса объявлен как final) путем объявления их с теми же именами, как и в родительском классе. Существует возможность доступа к переопределенным методам или статическим методам путем обращения к ним через parent::

Пример #7 Простое наследование класса

<?php
class ExtendClass extends SimpleClass
{
    // Переопределение родительского метода
    function displayVar()
    {
        echo "Расширенный класс\n";
        parent::displayVar();
    }
}

$extended = new ExtendClass();
$extended->displayVar();
?>

Результат выполнения данного примера:

Расширенный класс
значение по умолчанию
Введение
Автоматическая загрузка объектов
Классы и объекты (PHP 5)


Автоматическая загрузка объектов

Большинство разработчиков объектно-ориентированных приложений создают для каждого определения класса отдельный файл с кодом PHP. Одной из самых больших неприятностей в этом случае является необходимость писать в начале каждого скрипта длинный список подгружаемых файлов.

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

Замечание: Исключения, вызванные в функции __autoload, не могут быть перехвачены в блоке catch и завершатся с неисправимой ошибкой.

Замечание: Автоматическая загрузка не доступна в случае использования PHP в командной строке в интерактивном режиме.

Замечание: Если имя класса используется, например, для вызова через call_user_func(), то оно может содержать некоторые опасные символы, такие как ../. Поэтому, рекомендуется не использовать данные от пользователей в таких функциях или же, как минимум, проверять значения в __autoload().

Пример #1 Пример автоматической загрузки

В этом примере функция пытается загрузить классы MyClass1 и MyClass2 из файлов MyClass1.php и MyClass2.php соответственно.

<?php
function __autoload($class_name) {
    require_once $class_name . '.php';
}

$obj  = new MyClass1();
$obj2 = new MyClass2();
?>

В этом примере представлена попытка загрузки интерфейса ITest.

<?php

function __autoload($name) {
    var_dump($name);
}

class Foo implements ITest {
}

/*
string(5) "ITest"

Fatal error: Interface 'ITest' not found in ...
*/
?>

Основы
Конструкторы и деструкторы
Классы и объекты (PHP 5)


Конструкторы и деструкторы

Constructor

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 5 предоставляет концепцию деструкторов, сходную с теми, что применяются в других ОО языках, таких, как Java: когда освобождается последняя ссылка на объект, перед высвобождением памяти, занимаемой этим объектом, вызывается метод __destruct(), не принимающий параметров.

Пример #2 Пример использования деструктора

<?php
class MyDestructableClass {
    function __construct() {
        print "Конструктор\n";
        $this->name = "MyDestructableClass";
    }

    function __destruct() {
        print "Уничтожается " . $this->name . "\n";
    }
}

$obj = new MyDestructableClass();
?>

Как и в случае с конструкторами, деструкторы, объявленные в родительском классе, не будут вызваны автоматически. Для вызова деструктора, объявленном в классе-родителе, следует обратиться к методу parent::__destruct().

Автоматическая загрузка объектов
Область видимости
Классы и объекты (PHP 5)


Область видимости

Область видимости свойства или метода может быть определена путем использования следующих ключевых слов в объявлении: public, protected или private. Доступ к свойствам и методам классам, объявленным как public (общедоступный), может происходить из любого места. Модификатор protected (защищенный) позволяет иметь доступ наследуемым и родительским классам (а, также классу, в котором определен сам член класса). Модификатор private (закрытый) ограничивает область видимости так, что только класс, где объявлен сам элемент, имеет к нему доступ.

Область видимости свойств

Свойства класса должны быть определены через модификаторы public, private, или protected.

Пример #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
?>

Конструкторы и деструкторы
::
Классы и объекты (PHP 5)


::

"Paamayim Nekudotayim" или просто "двойное двоеточие". Используя эту лексему, программист может обращаться к константам, статическим или перегруженным свойствам или методам класса.

При обращении к этим элементам извне класса, программист должен использовать имя этого класса.

"Paamayim Nekudotayim" на первый взгляд может показаться странным словосочетанием для обозначения двойного двоеточия. Однако, во время создания Zend Engine версии 0.5 (который входил в PHP3), Andi и Zeev выбрали именно это обозначение. "Paamayim Nekudotayim" действительно значит "двойное двоеточие". На иврите. Просто это обозначение не менялось ни разу в течение всего времени разработки PHP.

Пример #1 Использование :: вне объявления класса

<?php
class MyClass {
  const CONST_VALUE = 'Значение константы';
}
echo MyClass::CONST_VALUE;
?>

Для обращения к свойствам и методам в объявлении класса используются ключевые слова self и parent.

Пример #2 Использование :: в объявлении класса

<?php
class OtherClass extends MyClass {
  public static $my_static = 'статическая переменная';

  public static function doubleColon() {
     echo parent::CONST_VALUE . "\n";
     echo self::$my_static . "\n";
  }
}

OtherClass::doubleColon();
?>

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

Пример #3 Обращение к методу в родительском классе

<?php
class MyClass {

  protected function myFunc() {
    echo "MyClass::myFunc()\n";
  }
}

class OtherClass extends MyClass {

  /* Override parent's definition */
  public function myFunc() {

    /* But still call the parent function */
    parent::myFunc();
    echo "OtherClass::myFunc()\n";
  }
}

$class = new OtherClass();
$class->myFunc();
?>
Область видимости
Ключевое слово "static"
Классы и объекты (PHP 5)


Ключевое слово "static"

Объявление свойств и методов класса статическими позволяет обращаться к ним без создания экземпляра класса. Атрибут класса, объявленный статическим, не можеть быть доступен посредством экземпляра класса (но статический метод может быть вызван).

В целях совместимости с PHP 4, сделано так, что если не использовалось определение области видимости, то член или метод будет рассматриваться, как если бы он был объявлен как public.

Так как статические методы вызываются без создания экземпляра класса, то псевдо-переменная $this не доступна внутри метода, объявленного статическим.

Доступ к статическим свойствам класса не может быть получен через оператор ->.

При попытке вызова нестатических методов статически выводится предупреждение уровня E_STRICT.

Начиная с версии 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";
$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)


Константы в объектах

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

Пример #1 Объявление и использование константы

<?php
class MyClass {
  const constant = 'значение константы';

  function showConstant() {
    echo  self::constant . "\n";
  }
}

echo MyClass::constant . "\n";

$class = new MyClass();
$class->showConstant();
/* echo $class::constant; -  такое использование недопустимо */
?>
Ключевое слово "static"
Абстрактные классы
Классы и объекты (PHP 5)


Абстрактные классы

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

Пример #1 Пример абстрактного класса

<?php

abstract class AbstractClass {

   /* Данный метод должен быть определён в дочернем классе */
   abstract protected function getValue();

   /* Общий метод */
   public function print() {
     print $this->getValue();
   }

}

class ConcreteClass1 extends AbstractClass {

   protected function getValue() {
     return "ConcreteClass1";
   }

}

class ConcreteClass2 extends AbstractClass {

   protected function getValue() {
     return "ConcreteClass2";
   }

}

$class1 = new ConcreteClass1;
$class1->print();

$class2 = new ConcreteClass2;
$class2->print();
?>

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

Константы в объектах
Интерфейсы объектов
Классы и объекты (PHP 5)


Интерфейсы объектов

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

Интерфейсы объявляются так же, как и обычные классы, но с использованием ключевого слова "interface"; тела методов интерфейсов должны быть пустыми. Для включения интерфейса в класс программист должен использовать ключевое слово "implements" и описать функционал методов, перечисленных во включаемом интерфейсе. Если это требуется, классы могут включать более одного интерфейса путём их перечисления через пробел.

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

Пример #1 Пример интерфейса

<?php
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;
  }
}
?>
Абстрактные классы
Перегрузка
Классы и объекты (PHP 5)


Перегрузка

Вызовы методов, как и обращения к свойствам объекта, могут быть перегружены с использованием методов __call, __get и __set. Эти методы будут срабатывать только в том случае, если объект или наследуемый объект не содержат свойства или метода, к которому осуществляется доступ.

Перегрузка свойств

void __set ( string $имя , mixed $значение )
void __get ( mixed $имя )

С помощью этих методов обращения к свойствам класса могут быть перегружены с целью выполнения произвольного кода, описанного в классе. В аргументе имя передаётся имя свойства, к которому производится обращение. Аргумент значение метода __set() должен содержать значение, которое будет присвоено свойству класса с именем имя.

Пример #1 Пример перегрузки с использование __get и __set

<?php
class Setter {
  public $n;
  private $x = array("a" => 1, "b" => 2, "c" => 3);

  function __get($nm) {
    print "ЧИтаем [$nm]\n";

    if (isset($this->x[$nm])) {
      $r = $this->x[$nm];
      print "Получили: $r\n";
      return $r;
    } else {
      print "Ничего!\n";
    }
  }

  function __set($nm, $val) {
    print "Пишем $val в [$nm]\n";

    if (isset($this->x[$nm])) {
      $this->x[$nm] = $val;
      print "OK!\n";
    } else {
      print "Всё плохо!\n";
    }
  }
}

$foo = new Setter();
$foo->n = 1;
$foo->a = 100;
$foo->a++;
$foo->z++;
var_dump($foo);
?>

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

Пишем 100 в [a]
OK!
Читаем [a]
Получили: 100
Пишем 101 в [a]
OK!
Читаем [z]
Ничего!
Пишем 1 в [z]
Всё плохо!
object(Setter)#1 (2) {
  ["n"]=>
  int(1)
  ["x:private"]=>
  array(3) {
    ["a"]=>
    int(101)
    ["b"]=>
    int(2)
    ["c"]=>
    int(3)
  }
}

Перегрузка методов

mixed __call ( string $имя , array $аргументы )

С использованием этого метода, методы класса могут быть перегружены с целью выполнения произвольного кода, описанного в классе. В аргументе имя передаётся имя вызванного метода. Аргументы, которые были переданы методу при обращении, будут возвращены чере аргументы. Значение, возвращённое методом __call(), будет передано вызывающему оператору.

Пример #2 Пример перегрузки с использованием __call

<?php
class Caller {
  private $x = array(1, 2, 3);

  function __call($m, $a) {
    print "Вызван метод $m :\n";
    var_dump($a);
    return $this->x;
  }
}

$foo = new Caller();
$a = $foo->test(1, "2", 3.4, true);
var_dump($a);
?>

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

Вызван метод test:
array(4) {
  [0]=>
  int(1)
  [1]=>
  string(1) "2"
  [2]=>
  float(3.4)
  [3]=>
  bool(true)
}
array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}
Интерфейсы объектов
Итераторы объектов
Классы и объекты (PHP 5)


Итераторы объектов

PHP 5 предоставляет механизм итераторов для получения списка всех свойств какого-либо объекта, например, для использования совместно с оператором foreach. По умолчанию, в итерации будут участвовать все свойства, объявленные как public.

Пример #1 Итерация простого объекта

<?php

class MyClass {
  public $var1 = 'value 1';
  public $var2 = 'value 2';
  public $var3 = 'value 3';

  protected $protected = 'protected';
  private   $private   = 'private';

}

$class = new MyClass();

foreach($class as $key => $value) {
  print "$key => $value\n";
}

Результат:

var1 => value 1
var2 => value 2
var3 => value 3

Как показывает результат, foreach проитерировал все принадлежащие объекту public-свойства. Кроме того, программист может включить (implement) в свой класс один из внутренних Интерфейсы объектов 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() {
    $var = $this->current() !== 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
текущий: 1
ключ: 0
0: 1
следующий: 2
текущий: 2
верный: 1
текущий: 2
ключ: 1
1: 2
следующий: 3
текущий: 3
верный: 1
текущий: 3
ключ: 2
2: 3
следующий:
текущий:
верный:

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

Пример #3 Объект Iteration, включающий интерфейс IteratorAggregate

<?php
class MyCollection implements IteratorAggregate {
  private $items = array();
  private $count = 0;

  /* Required definition of interface 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/value: [$key -> $val]\n\n";
}

?>
</pre>

Результат:

rewinding
current: value 1
valid: 1
current: value 1
key: 0
key/value: [0 -> value 1]

next: value 2
current: value 2
valid: 1
current: value 2
key: 1
key/value: [1 -> value 2]

next: value 3
current: value 3
valid: 1
current: value 3
key: 2
key/value: [2 -> value 3]

next:
current:
valid:
Перегрузка
Шаблоны проектирования
Классы и объекты (PHP 5)


Шаблоны проектирования

Шаблоны - это способ описания оптимальных методов и хороших дизайнов проектирования. Они предоставляют универсальные пути решения общих проблем программирования.

Фабрика (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)

Шаблон проектирования Синглтон применяется в тех ситуациях, когда нужно получить единственный экземпляр класса. Большинство примеров, связанных с этим - это взаимодействие с базой данных. Реализация этого шаблона позволяют программисту создать единственный экземпляр класса, к которому будут иметь доступ остальные объекты.

Пример #2 Функция Синглтон

<?php
class Example
{
    // Содержит экземпляр класса
    private static $instance;

    // Закрытый конструктор; предотвращает прямой доступ к
    // созданию объекта
    private function __construct()
    {
        echo 'Я конструктор';
    }

    // Метод синглтон
    public static function singleton()
    {
        if (!isset(self::$instance)) {
            $c = __CLASS__;
            self::$instance = new $c;
        }

        return self::$instance;
    }

    // Метод для примера
    public function bark()
    {
        echo 'Гав!';
    }

    // Предотвращает клонирование экземпляра класса
    public function __clone()
    {
        trigger_error('Клонирование запрещено.', E_USER_ERROR);
    }

}

?>

Позволяет вернуть единственный экземпляр класса Example

<?php
// Такой вариант завершится неудачей, так как конструктор
// объявлен как private
$test = new Example;

// Это всегда возвращает единственный экземпляр класса
$test = Example::singleton();
$test->bark();

// Это вызовет ошибку E_USER_ERROR.
$test_clone = clone $test;

?>
Итераторы объектов
Магические методы
Классы и объекты (PHP 5)


Магические методы

Имена методов __construct, __destruct (см. Конструкторы и деструкторы), __call, __callStatic, __get, __set, __isset, __unset (см. Перегрузка), __sleep, __wakeup, __toString, __set_state и __clone зарезервированы для "магических" методов в PHP. Не стоит называть свои методы этими именами, если вы не хотите использовать их "магическую" функциональность.

Предостережение

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

__sleep и __wakeup

Функция serialize() проверяет, присутствует ли в вашем классе метод с "магическим" именем __sleep. Если это так, то этот метод выполняется прежде любой операции сериализации. Он может очистить объект и предполагается, что будет возвращен массив с именами всех переменных объекта, который должен быть сериализован. Если метод ничего не возвращает кроме NULL, то это значит, что объект сериализован и выдается предупреждение E_NOTICE.

Обычно __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 позволяет классу решать самостоятельно, как он должен реагировать при преобразовании в строку.

Пример #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

The __invoke method is called when a script tries to call an object as a function.

Замечание: This feature is available since PHP 5.3.0.

Пример #3 Using __invoke

<?php
class CallableClass {
    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"
Классы и объекты (PHP 5)


Ключевое слово "final"

Разместив перед объявлениями методов или свойств класса ключевое слово "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() не может быть переопределён)
?>
Магические методы
Клонирование объектов
Классы и объекты (PHP 5)


Клонирование объектов

Создание копии объекта с абсолютно идентичными свойствами не всегда является приемлемым вариантом. Хорошим примером необходимости копирования конструкторов может послужить ситуация, когда у вас есть объект, представляющий собой окно GTK и содержащий ресурс-идентификатор этого окна; когда вы создаете копию этого объекта, вам может понадобиться, чтобы копия объекта содержала ресурс-идентификатор нового окна. Другим примером может послужить ситуация, когда ваш объект содержит ссылку на какой-либо другой используемый объект и, когда вы создаёте копию ссылающегося объекта, вам нужно также создать новый экземпляр содержащегося объекта, так, чтобы копия объекта содержала собственный отдельный экземпляр содержащегося объекта.

Копия объекта создается с использованием вызова clone (который вызывает метод __clone() объекта, если это возможно). Вызов метода __clone() не может быть осуществлён непосредственно.

$copy_of_object = clone $object;

Когда программист запрашивает создание копии объекта, PHP 5 определит, был ли для этого объекта объявлен метод __clone() или нет. Если нет, будет вызван метод __clone(), объявленный по умолчанию, который скопирует все свойства объекта. Если метод __clone() был объявлен, создание копий свойств в копии объекта полностью возлагается на него. Для удобства, движок обеспечивает программиста функцией, которая импортирует все свойства из объекта-источника, так что программист может осуществить позначное копирование свойств и переопределять только необходимые.

Пример #1 Клонирование объекта

<?php
class MyCloneable {
   static $id = 0;

   function MyCloneable() {
       $this->id = self::$id++;
   }

   function __clone() {
       $this->address = "Москва";
       $this->id = self::$id++;
   }
}

$obj = new MyCloneable();

$obj->name = "Привет";
$obj->address = "Самара";

print $obj->id . "\n";

$obj_cloned = clone $obj;

print $obj_cloned->id . "\n";
print $obj_cloned->name . "\n";
print $obj_cloned->address . "\n";
?>
Ключевое слово "final"
Сравнение объектов
Классы и объекты (PHP 5)


Сравнение объектов

В 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 {
    var $flag;

    function Flag($flag=true) {
            $this->flag = $flag;
    }
}

class OtherFlag {
    var $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

Клонирование объектов
Reflection
Классы и объекты (PHP 5)


Reflection

Содержание

  • Введение
  • Интерфейс Reflector
  • Класс ReflectionException
  • Класс ReflectionFunction
  • Класс ReflectionParameter
  • Класс ReflectionClass
  • Класс ReflectionObject
  • Класс ReflectionMethod
  • Класс ReflectionProperty
  • Класс ReflectionExtension
  • Наследование классов Reflection

Введение

В PHP 5 имеется полный набор Reflection API, который предоставляет возможность проводить реверс-инжиниринг классов, интерфейсов, функций, методов, а также расширений. В дополнение к этому, Reflection API предоставляет средства для извлечения комментариев для функций, классов и методов.

Reflection API - это объектно-ориентированное расширение для Zend Engine, состоящее из следующих классов:

<?php
class Reflection { }
interface Reflector { }
class ReflectionException extends Exception { }
class ReflectionFunction extends ReflectionFunctionAbstract implements Reflector { }
class ReflectionParameter implements Reflector { }
class ReflectionMethod extends ReflectionFunctionAbstract implements Reflector { }
class ReflectionClass implements Reflector { }
class ReflectionObject extends ReflectionClass { }
class ReflectionProperty implements Reflector { }
class ReflectionExtension implements Reflector { }
?>

Замечание: Более подробно эти классы рассматриваются в следующих главах.

Пример #1 Простой пример использования Reflection API

<?php
Reflection::export(new ReflectionClass('Exception'));
?>

Результат выполнения данного примера:

Class [ <internal> class Exception ] {

  - Constants [0] {
  }

  - Static properties [0] {
  }

  - Static methods [0] {
  }

  - Properties [6] {
    Property [ <default> protected $message ]
    Property [ <default> private $string ]
    Property [ <default> protected $code ]
    Property [ <default> protected $file ]
    Property [ <default> protected $line ]
    Property [ <default> private $trace ]
  }

  - Methods [9] {
    Method [ <internal> final private method __clone ] {
    }

    Method [ <internal, ctor> public method __construct ] {

      - Parameters [2] {
        Parameter #0 [ <optional> $message ]
        Parameter #1 [ <optional> $code ]
      }
    }

    Method [ <internal> final public method getMessage ] {
    }

    Method [ <internal> final public method getCode ] {
    }

    Method [ <internal> final public method getFile ] {
    }

    Method [ <internal> final public method getLine ] {
    }

    Method [ <internal> final public method getTrace ] {
    }

    Method [ <internal> final public method getTraceAsString ] {
    }

    Method [ <internal> public method __toString ] {
    }
  }
}

Reflector

Reflector - это интерфейс, который реализуется всеми экспортируемыми классами Reflection.

<?php
interface Reflector
{
    public string __toString()
    public static string export()
}
?>

ReflectionException

ReflectionException наследует стандартный класс Exception и выбрасывается Reflection API, он не реализует никаких специальных методов или свойств.

ReflectionFunction

Класс ReflectionFunction позволяет проводить реверс-инжиниринг функций.

<?php
class ReflectionFunction extends ReflectionFunctionAbstract implements Reflector
{
    final private __clone()
    public void __construct(string name)
    public string __toString()
    public static string export(string name, bool return)
    public string getName()
    public bool isInternal()
    public bool isDisabled()
    public bool isUserDefined()
    public string getFileName()
    public int getStartLine()
    public int getEndLine()
    public string getDocComment()
    public array getStaticVariables()
    public mixed invoke([mixed args [, ...]])
    public mixed invokeArgs(array args)
    public bool returnsReference()
    public ReflectionParameter[] getParameters()
    public int getNumberOfParameters()
    public int getNumberOfRequiredParameters()
}
?>

Родительский класс ReflectionFunctionAbstract имеет такие же методы, за исключением invoke(), invokeArgs(), export() и isDisabled().

Замечание:

     getNumberOfParameters() и
     getNumberOfRequiredParameters() были добавлены в
     PHP 5.0.3, а invokeArgs() был
     добавлен в PHP 5.1.0.

Для анализа функции необходимо создать экземпляр класса ReflectionFunction.

Пример #2 Использование класса ReflectionFunction

<?php
/**
 * Простой счетчик
 *
 * @return    int
 */
function counter()
{
    static $c = 0;
    return $c++;
}

// Создание экземпляра класса ReflectionFunction
$func = new ReflectionFunction('counter');

// Вывод основной информации
printf(
    "===> Функция %s '%s'\n".
    "     объявлена в %s\n".
    "     строки с %d по %d\n",
    $func->isInternal() ? 'internal' : 'user-defined',
    $func->getName(),
    $func->getFileName(),
    $func->getStartLine(),
    $func->getEndline()
);

// Вывод комментария документации
printf("---> Документация:\n %s\n", var_export($func->getDocComment(), 1));

// Вывод статических переменных, если они есть
if ($statics = $func->getStaticVariables())
{
    printf("---> Статическая переменная: %s\n", var_export($statics, 1));
}

// Вызов функции
printf("---> Результат вызова: ");
var_dump($func->invoke());

echo "\nReflectionFunction::export() результат:\n";
echo ReflectionFunction::export('counter');
?>

Замечание: Метод invoke() принимает переменное число аргументов, которые передаются в функцию, также, как в call_user_func().

ReflectionParameter

Класс ReflectionParameter возвращает информацию о параметрах функции или метода.

<?php
class ReflectionParameter implements Reflector
{
    final private __clone()
    public void __construct(string function, string parameter)
    public string __toString()
    public static string export(mixed function, mixed parameter, bool return)
    public string getName()
    public bool isPassedByReference()
    public ReflectionClass getDeclaringClass()
    public ReflectionClass getClass()
    public bool isArray()
    public bool allowsNull()
    public bool isPassedByReference()
    public bool isOptional()
    public bool isDefaultValueAvailable()
    public mixed getDefaultValue()
}
?>

Замечание:

     getDefaultValue(),
     isDefaultValueAvailable() и
     isOptional() были добавлены в PHP 5.0.3,
     а isArray() был добавлен в PHP 5.1.0.
     getDeclaringFunction() и
     getPosition() были добавлены в PHP 5.2.3.

Для анализа параметров функции необходимо создать экземпляр класса ReflectionFunction или ReflectionMethod и затем использовать метод getParameters() для получения массива параметров.

Пример #3 Использование класса ReflectionParameter

<?php
function foo($a, $b, $c) { }
function bar(Exception $a, &$b, $c) { }
function baz(ReflectionFunction $a, $b = 1, $c = null) { }
function abc() { }

// Создание экземпляра класса ReflectionFunction
// с параметром, заданным из командной строки.
$reflect = new ReflectionFunction($argv[1]);

echo $reflect;

foreach ($reflect->getParameters() as $i => $param) {
    printf(
        "-- Параметр #%d: %s {\n".
        "   Класс: %s\n".
        "   Допускать NULL: %s\n".
        "   Передан по ссылке: %s\n".
        "   Обязательный?: %s\n".
        "}\n",
        $i,
        $param->getName(),
        var_export($param->getClass(), 1),
        var_export($param->allowsNull(), 1),
        var_export($param->isPassedByReference(), 1),
        $param->isOptional() ? 'да' : 'нет'
    );
}
?>

ReflectionClass

Класс ReflectionClass позволяет проводить реверс-инжиниринг классов и интерфейсов.

<?php
class ReflectionClass implements Reflector
{
    final private __clone()
    public void __construct(string name)
    public string __toString()
    public static string export(mixed class, bool return)
    public string getName()
    public bool isInternal()
    public bool isUserDefined()
    public bool isInstantiable()
    public bool hasConstant(string name)
    public bool hasMethod(string name)
    public bool hasProperty(string name)
    public string getFileName()
    public int getStartLine()
    public int getEndLine()
    public string getDocComment()
    public ReflectionMethod getConstructor()
    public ReflectionMethod getMethod(string name)
    public ReflectionMethod[] getMethods()
    public ReflectionProperty getProperty(string name)
    public ReflectionProperty[] getProperties()
    public array getConstants()
    public mixed getConstant(string name)
    public ReflectionClass[] getInterfaces()
    public bool isInterface()
    public bool isAbstract()
    public bool isFinal()
    public int getModifiers()
    public bool isInstance(stdclass object)
    public stdclass newInstance(mixed args)
    public stdclass newInstanceArgs(array args)
    public ReflectionClass getParentClass()
    public bool isSubclassOf(ReflectionClass class)
    public array getStaticProperties()
    public mixed getStaticPropertyValue(string name [, mixed default])
    public void setStaticPropertyValue(string name, mixed value)
    public array getDefaultProperties()
    public bool isIterateable()
    public bool implementsInterface(string name)
    public ReflectionExtension getExtension()
    public string getExtensionName()
}
?>

Замечание: hasConstant(), hasMethod(), hasProperty(), getStaticPropertyValue() и setStaticPropertyValue() были добавлены в PHP 5.1.0, а newInstanceArgs() был добавлен в PHP 5.1.3.

Для анализа класса необходимо создать экземпляр класса ReflectionClass.

Пример #4 Использование класса ReflectionClass

<?php
interface Serializable
{
    // ...
}

class Object
{
    // ...
}

/**
 * Класс счетчик
 */
class Counter extends Object implements Serializable
{
    const START = 0;
    private static $c = Counter::START;

    /**
     * Вызвать счетчик
     *
     * @access  public
     * @return  int
     */
    public function count() {
        return self::$c++;
    }
}

// Создание экземпляра класса ReflectionClass
$class = new ReflectionClass('Counter');

// Вывод основной информации
printf(
    "===> %s%s%s %s '%s' [extends %s]\n" .
    "     объявлен в %s\n" .
    "     строки с %d по %d\n" .
    "     имеет модификаторы %d [%s]\n",
        $class->isInternal() ? 'internal' : 'user-defined',
        $class->isAbstract() ? ' abstract' : '',
        $class->isFinal() ? ' final' : '',
        $class->isInterface() ? 'interface' : 'class',
        $class->getName(),
        var_export($class->getParentClass(), 1),
        $class->getFileName(),
        $class->getStartLine(),
        $class->getEndline(),
        $class->getModifiers(),
        implode(' ', Reflection::getModifierNames($class->getModifiers()))
);

// Вывод комментария из документации
printf("---> Документация:\n %s\n", var_export($class->getDocComment(), 1));

// Вывод тех интерфейсов, которые реализует этот класс
printf("---> Интерфейсы:\n %s\n", var_export($class->getInterfaces(), 1));

// Вывод констант класса
printf("---> Константы: %s\n", var_export($class->getConstants(), 1));

// Вывод свойств класса
printf("---> Свойства: %s\n", var_export($class->getProperties(), 1));

// Вывод методов класса
printf("---> Методы: %s\n", var_export($class->getMethods(), 1));

// Если есть возможность создать экземпляр класса, то создаем его
if ($class->isInstantiable()) {
    $counter = $class->newInstance();

    echo '---> $counter инстанцирован? ';
    echo $class->isInstance($counter) ? 'да' : 'нет';

    echo "\n---> new Object() инстанцирован? ";
    echo $class->isInstance(new Object()) ? 'да' : 'нет';
}
?>

Замечание: Метод newInstance() принимает переменное число аргументов, которые передаются в функцию, также, как в call_user_func().

Замечание: $class = new ReflectionClass('Foo'); $class->isInstance($arg) эквивалентно $arg instanceof Foo или is_a($arg, 'Foo').

ReflectionObject

Класс ReflectionObject позволяет проводить реверс-инжиниринг объектов.

<?php
class ReflectionObject extends ReflectionClass
{
    final private __clone()
    public void __construct(mixed object)
    public string __toString()
    public static string export(mixed object, bool return)
}
?>

ReflectionMethod

Класс ReflectionMethod позволяет проводить реверс-инжиниринг методов.

<?php
class ReflectionMethod extends ReflectionFunctionAbstract implements Reflector
{
    public void __construct(mixed class, string name)
    public string __toString()
    public static string export(mixed class, string name, bool return)
    public mixed invoke(stdclass object [, mixed args [, ...]])
    public mixed invokeArgs(stdclass object, array args)
    public bool isFinal()
    public bool isAbstract()
    public bool isPublic()
    public bool isPrivate()
    public bool isProtected()
    public bool isStatic()
    public bool isConstructor()
    public bool isDestructor()
    public int getModifiers()
    public ReflectionClass getDeclaringClass()

    // Унаследовано из ReflectionFunctionAbstract
    final private __clone()
    public string getName()
    public bool isInternal()
    public bool isUserDefined()
    public string getFileName()
    public int getStartLine()
    public int getEndLine()
    public string getDocComment()
    public array getStaticVariables()
    public bool returnsReference()
    public ReflectionParameter[] getParameters()
    public int getNumberOfParameters()
    public int getNumberOfRequiredParameters()
}
?>

Для анализа метода класса необходимо создать экземпляр класса ReflectionMethod.

Пример #5 Использование класса ReflectionMethod

<?php
class Counter
{
    private static $c = 0;

    /**
     * Увеличение счетчика
     *
     * @final
     * @static
     * @access  public
     * @return  int
     */
    final public static function increment()
    {
        return ++self::$c;
    }
}

// Создание экземпляра класса ReflectionMethod
$method = new ReflectionMethod('Counter', 'increment');

// Вывод основной информации
printf(
    "===> %s%s%s%s%s%s%s метод '%s' (which is %s)\n" .
    "     объявлен в %s\n" .
    "     строки с %d по %d\n" .
    "     имеет модификаторы %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()))
);

// Вывод комментария из документации
printf("---> Документация:\n %s\n", var_export($method->getDocComment(), 1));

// Вывод статических переменных, если они есть
if ($statics= $method->getStaticVariables()) {
    printf("---> Статическая переменная: %s\n", var_export($statics, 1));
}

// Вызов метода
printf("---> Результат вызова: ");
var_dump($method->invoke(NULL));
?>

Замечание: Попытка вызова закрытого, защищенного или абстрактного метода приведет к выбросу исключения из метода invoke().

Замечание: При вызове статических методов нужно передать NULL в качестве первого аргумента invoke(). Для нестатических методов нужно передавать экземпляр класса.

ReflectionProperty

Класс ReflectionProperty позволяет проводить реверс-инжиниринг свойств класса.

<?php
class ReflectionProperty implements Reflector
{
    final private __clone()
    public void __construct(mixed class, string name)
    public string __toString()
    public static string export(mixed class, string name, bool return)
    public string getName()
    public bool isPublic()
    public bool isPrivate()
    public bool isProtected()
    public bool isStatic()
    public bool isDefault()
    public int getModifiers()
    public mixed getValue(stdclass object)
    public void setValue(stdclass object, mixed value)
    public ReflectionClass getDeclaringClass()
    public string getDocComment()
}
?>

Замечание: getDocComment() был добавлен в PHP 5.1.0.

Для анализа свойства класса необходимо создать экземпляр класса ReflectionProperty.

Пример #6 Использование класса ReflectionProperty

<?php
class String
{
    public $length  = 5;
}

// Создание экземпляра класса ReflectionProperty
$prop = new ReflectionProperty('String', 'length');

// Вывод основной информации о свойстве класса
printf(
    "===> %s%s%s%s свойство '%s' (которое было %s)\n" .
    "     имеет модификаторы %s\n",
        $prop->isPublic() ? ' public' : '',
        $prop->isPrivate() ? ' private' : '',
        $prop->isProtected() ? ' protected' : '',
        $prop->isStatic() ? ' static' : '',
        $prop->getName(),
        $prop->isDefault() ? 'объявлено во время компиляции' : 'создано во время выполнения',
        var_export(Reflection::getModifierNames($prop->getModifiers()), 1)
);

// Создание экземпляра String
$obj= new String();

// Получение текущего значения
printf("---> Значение: ");
var_dump($prop->getValue($obj));

// Изменение значения
$prop->setValue($obj, 10);
printf("---> Установка значения 10, новое значение равно: ");
var_dump($prop->getValue($obj));

// Дамп объекта
var_dump($obj);
?>

Замечание: Попытка вызова закрытого или защищенного свойства класса приведет к выбросу исключения.

ReflectionExtension

Класс ReflectionExtension позволяет проводить реверс-инжиниринг расширений. Получить список всех загруженных расширений можно при помощи get_loaded_extensions().

<?php
class ReflectionExtension implements Reflector {
    final private __clone()
    public void __construct(string name)
    public string __toString()
    public static string export(string name, bool return)
    public string getName()
    public string getVersion()
    public ReflectionFunction[] getFunctions()
    public array getConstants()
    public array getINIEntries()
    public ReflectionClass[] getClasses()
    public array getClassNames()
    public string info()
}
?>

Для анализа расширения необходимо создать экземпляр класса ReflectionExtension. Затем вы сможете вызвать любой из методов, описанных выше.

Пример #7 Использование класса ReflectionExtension

<?php
// Создание экземпляра класса ReflectionProperty
$ext = new ReflectionExtension('standard');

// Вывод основной информации
printf(
    "Имя           : %s\n" .
    "Версия        : %s\n" .
    "Функции       : [%d] %s\n" .
    "Константы     : [%d] %s\n" .
    "Директивы INI : [%d] %s\n" .
    "Классы        : [%d] %s\n",
        $ext->getName(),
        $ext->getVersion() ? $ext->getVersion() : 'NO_VERSION',
        sizeof($ext->getFunctions()),
        var_export($ext->getFunctions(), 1),

        sizeof($ext->getConstants()),
        var_export($ext->getConstants(), 1),

        sizeof($ext->getINIEntries()),
        var_export($ext->getINIEntries(), 1),

        sizeof($ext->getClassNames()),
        var_export($ext->getClassNames(), 1)
);
?>

Наследование классов Reflection

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

Пример #8 Наследование встроенных классов

<?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'));
?>

Замечание: Внимание! Если вы переписываете конструктор, то не забудьте вызывать конструктор родителя _перед_ любым кодом, который вы затем добавите. В случае невыполнения этого условия результат будет следующим: Fatal error: Internal error: Failed to retrieve the reflection object

Сравнение объектов
Контроль типа
Классы и объекты (PHP 5)


Контроль типа

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 не поддерживается.

Reflection
Late Static Bindings
Классы и объекты (PHP 5)


Late Static Bindings

As of PHP 5.3.0, PHP implements a feature called late static bindings which can be used to reference the called class in a context of static inheritance.

This feature was named "late static bindings" with an internal perspective in mind. "Late binding" comes from the fact that static:: will no longer be resolved using the class where the method is defined but it will rather be computed using runtime information. It was also called a "static binding" as it can be used for (but is not limited to) static method calls.

Limitations of self::

Static references to the current class like self:: or __CLASS__ are resolved using the class in which the function belongs, as in where it was defined:

Пример #1 self:: usage

<?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

Late Static Bindings' usage

Late static bindings tries to solve that limitation by introducing a keyword that references the class that was initially called at runtime. Basically, a keyword that would allow you to reference B from test() in the previous example. It was decided not to introduce a new keyword but rather use static that was already reserved.

Пример #2 static:: simple usage

<?php
class A {
    public static function who() {
        echo __CLASS__;
    }
    public static function test() {
        static::who(); // Here comes Late Static Bindings
    }
}

class B extends A {
    public static function who() {
         echo __CLASS__;
    }
}

B::test();
?>

Результат выполнения данного примера:

B

Замечание: static:: does not work like $this for static methods! $this-> follows the rules of inheritance while static:: doesn't. This difference is detailed later on this manual page.

Пример #3 static:: usage in a non-static context

<?php
class TestChild extends TestParent {
    public function __construct() {
        static::who();
    }

    public function test() {
        $o = new TestParent();
    }

    public static function who() {
        echo __CLASS__."\n";
    }
}

class TestParent {
    public function __construct() {
        static::who();
    }

    public static function who() {
        echo __CLASS__."\n";
    }
}
$o = new TestChild;
$o->test();

?>

Результат выполнения данного примера:

TestChild
TestParent

Замечание: Late static bindings' resolution will stop at a fully resolved static call with no fallback. On the other hand, static calls using keywords like parent:: or self:: will forward the calling information.

Пример #4 Forwarding and non-forwarding calls

<?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

Edge cases

There are lots of different ways to trigger a method call in PHP, like callbacks or magic methods. As late static bindings base their resolution on runtime information, it might give unexpected results in so-called edge cases.

Пример #5 Late static bindings inside magic methods

<?php
class A {

   protected static function who() {
        echo __CLASS__."\n";
   }

   public function __get($var) {
       return static::who();
   }
}

class B extends A {

   protected static function who() {
        echo __CLASS__."\n";
   }
}

$b = new B;
$b->foo;
?>

Результат выполнения данного примера:

B
Контроль типа
Пространства имён
Классы и объекты (PHP 5)


Пространства имён

Содержание

  • Обзор пространств имён
  • Определение пространства имён
  • Использование пространств имён
  • Глобальное пространство имён
  • __NAMESPACE__
  • Правила разбора имён
Late Static Bindings
Обзор пространств имён
Справочник языка


Обзор пространств имён

Пространства имён введены в PHP для решения проблем в больших PHP-библиотеках. В PHP все определения классов глобальны, поэтому авторы библиотек должны выбирать уникальные имена для создаваемых ими классов. Это делается для того, чтобы при использовании библиотеки совместно с другими библиотеками не возникало конфликтов имён. Обычно это достигается введением в имена классов префиксов. Например: если мы будем использовать класс dataBase - велика вероятность, что такое имя класса будет присутствовать и в других библиотеках, а при их совместном использовании возникнет ошибка. Поэтому мы вынуждены использовать для класса другое имя. Например: ourLibraryDataBase Такие действия приводят к черезмерному вырастанию длины имён классов.

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

Пространства имён доступны в PHP начиная с версии 5.3.0. Данная секция экспериментальна и возможно будет подвержена изменениям.

Пространства имён
Определение пространства имён
Пространства имён


Определение пространства имён

Пространство имён определяется посредством ключевого слова namespace, которое должно находиться в самом начале файла. Пример:

Пример #1 Определение пространства имён.

<?php
     namespace MyProject::DB;

     const CONNECT_OK = 1;

     class Connection { /* ... */ }

     function connect() { /* ... */  }

     ?>

Это пространство имён может быть использовано в разных файлах.

Пространства имён могут включать определения классов, констант и функций. Но не должны включать обычного кода.

Определение пространства имён работает так:

  • Внутри пространства имён все имена классов, функций и констант автоматически будут префиксированы именем пространства имён. Имена классов при вызове должны быть полными, так например при вызове класса из примера выше должно использоваться следующее имя MyProject::DB::Connection.
  • Определения констант создают константы, состоящие из имени пространства имён и имени константы. Как и константы классов - константы пространства имён могут содержать данные только скалярного типа.

  • Поиск неквалифицированного имени класса (т.е. не содержащего ::) осуществляется в следующей последовательности:

    1. Попытка найти класс в текущем пространстве имён (т.е. префиксирование класса именем текущего пространства имён) без попытки автозагрузки (autoload).
    2. Попытка найти класс в глобальном пространстве имён без попытки автозагрузки (autoload).
    3. Попытка автозагрузки в текущем пространстве имён.
    4. В случае неудачи предыдущего - отказ.

  • Поиск неквалифицированного имени функции (т.е. не включающего ::) во время выполнения производится сначала в текущем пространстве имён, затем в глобальном пространстве имён.

  • Поиск неквалифицированного имени константы производится сначала в текущем пространстве имён, затем среди глобально объявленных констант.

Смотри так же правила разбора имён.

Обзор пространств имён
Использование пространств имён
Пространства имён


Использование пространств имён

На имена классов и функций, объявленых внутри пространства имён всегда можно сослаться по полному имени: MyProject::DB::Connection или MyProject::DB::connect .

Пример #1 Использование имён, объявленных внутри пространств имён

<?php
     require 'MyProject/Db/Connection.php';
     $x = new MyProject::DB::Connection;
     MyProject::DB::connect();
     ?>

Пространства имён могут быть импортированы в текущий контекст (глобальный или пространство имён) при помощи оператора use. Синтаксис оператора use:

<?php
     /* ... */
     use Some::Name as Othername;

     // Самая простая форма :
     use Foo::Bar;
     // это то же что и :
     use Foo::Bar as Bar;
     ?>

Импортированные пространства имён работают следующим образом: каждый раз, когда компилятор встречает локальное имя Othername (как простое имя или как префикс более длинного, разделенного :: имени), импортированное имя Some::Name заменяется.

Оператор use может быть использован только в глобальном пространстве имён - не внутри класса или функции. Импортированные имена действуют с точки импортирования до конца текущего файла. Рекомендуется импортировать имена в начале файла во избежание путаницы.

Пример #2 Импортирование пространств имён и доступ к ним

<?php
     require 'MyProject/Db/Connection.php';
     use MyProject::DB;
     use MyProject::DB::Connection as DbConnection;

     $x = new MyProject::DB::Connection();
     $y = new DB::connection();
     $z = new DbConnection();
     DB::connect();
     ?>

Замечание: Операция импорта пространств имён выполняется только во время компиляции. Все локальные имена заменяются компилятором на их полные эквиваленты. Заметьте, что это не переводит имена в строки. Таким образом динамический импорт пространств имён невозможен.

Определение пространства имён
Глобальное пространство имён
Пространства имён


Глобальное пространство имён

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

Пример #1 Использование указания на глобальное пространство имён

<?php
     namespace A::B::C;

     /* This function is A::B::C::fopen */
     function fopen() {
     /* ... */
     $f = ::fopen(...); // вызывает глобальную fopen
     return $f;
     }
     ?>

Использование пространств имён
__NAMESPACE__
Пространства имён


__NAMESPACE__

Константа времени компиляции __NAMESPACE__ определяет текущее пространство имён. Вне пространства имён эта константа имеет значение пустой строки. Эта константа используется когда требуется сформировать полное имя класса или функции из текущего пространства имён.

Пример #1 Использование __NAMESPACE__

<?php
     namespace A::B::C;

     function foo() {
     // do stuff
     }

     set_error_handler(__NAMESPACE__ . "::foo");
     ?>

Глобальное пространство имён
Правила разбора имён
Пространства имён


Правила разбора имён

Разбор имён происходит по следующим правилам:

  1. Все квалифицированные имена транслируются во время компиляции в соответствии с текущими импортированными пространствами имён. К примеру, если импортировано постранство имён A::B::C, вызов C::D::e() будет транслирован как A::B::C::D::e().
  2. Неквалифицированные имена классов транслируются во время компиляции в соответствии с текущими импортированными пространствами имён (полные имена заменяют короткие импортированные имена). К примеру, если пространство имён A::B::C импортировано, new C() будет транслировано как new A::B::C().
  3. Внутри пространства имён вызов неквалифицированных функций, определенных в этом же пространстве имён интерпертируется как вызов в данном пространстве имён во время компиляции.
  4. Внутри пространства имён (например A::B) вызов неквалифицированных функций, не определенных в этом пространстве имён будет разрешаться во время выполнения. Вызов функции foo() будет разрешаться следующим образом:
    1. Поиск в текущем пространстве имён: A::B::foo().
    2. Поиск внутренней PHP функции foo().
    В случае неудачи всех предыдущих попыток будет использован вызов определенной в глобальном пространстве имён функции ::foo().
  5. Внутри пространства имён (например A::B), вызов неквалифицированных классов разрешается во время выполнения. Например вызов new C() будет разрешаться следующим образом:
    1. Поиск класса в текущем пространстве имён: A::B::C.
    2. Попытка вызова внутреннего PHP-класса C.
    3. Попытка автозагрузки A::B::C.
    В случае неудачи всех предыдущих, будет использован вызов new ::C().
  6. Вызов квалифицированных функций разрешается во время выполнения. Например вызов A::B::foo() будет разрешаться следующим образом :
    1. Поиск функции foo() в пространстве имён A::B.
    2. Поиск класса A::B и вызов его статического метода foo(). Будет сделана автозагрузка класса, если необходимо.
  7. Квалифицированные имена классов разрешаются во время компиляции, как классы соответствующего пространства имён. К примеру new A::B::C() будет ссылаться на класс C пространства имён A::B.

Пример #1 Примеры разбора имён

<?php
    namespace A;

    // вызовы функций

    foo();      // сначала попытка вызвать "foo" определенную в пространстве имён "A"
    // затем вызов внутренней функции "foo"

    ::foo();    // вызоы функции "foo" определенной глобально

    // class references

    new B();    // сначала попытка создать объект класса "B" определенного в пространстве имён "A"
    // затем создание объекта внутреннего класса "B"

    new ::B();  //  создать объект класса "B" определенного глобально

    // статические методы/функции пространства имён из других (не текущих) пространств имён

    B::foo();   // сначала попытка вызвать функцию "foo" из пространства имён "A::B"
    // затем вызов метода "foo" внутреннего класса "B"

    ::B::foo(); // сначала попытка вызова функции "foo" из пространства имён  "B"
    // затем вызов метода  "foo" класса "B" из глобального пространства имён

    // статические методы/функции пространства имён из текущего пространства имён

    A::foo();   // сначала попытка вызова функции "foo" пространства имён "A::A"
    // затем попытка вызова метода "foo" класса "A" из пространства имён "A"
    // затем попытка вызова функции "foo" пространства имён "A"
    // затем вызов метода "foo" внутреннего класса "A"

    ::A::foo(); // сначала попытка вызова функции  "foo" пространства имён "A"
    // затем вызов метода "foo" класса "A" из глобального пространства имён
    ?>
__NAMESPACE__
Исключения
Пространства имён


Исключения

Содержание

  • Наследование исключений

Модель исключений (exceptions) в PHP 5 проще, чем в других языках программирования Исключение можно сгенерировать (как говорят, "выбросить") при помощи оператора throw, и можно перехватить (или, как говорят, "поймать") оператором catch. Код выбрасывающий исключение, должен быть окружен блоком try, для того чтобы можно было перехватить исключение. Каждый блок try должен иметь как минимум один соответствующий блок catch. Так же можно использовать несколько блоков catch, перехватывающих различные классы исключений. Нормальное выполнение (когда не генерируется исключений в блоках try или когда класс выброшенного исключения не совпадает с классами, объявленными в соответствующих блоках catch) будет продолжено за последним блоком catch. Исключения так же могут быть сгенерированны (или перегерерированы - т.е. выброшены снова) оператором throw внутри блока catch.

При генерации исключения, код следующий ниже оператора throw исполнен не будет, а PHP предпримет попытку найти первый блок catch, перехватывающий исключение данного класса. Если исключение не будет перехвачено, PHP выдаст сообщение об ошибке: "Uncaught Exception ..." (Неперехваченное исключение), если конечно не был определен обработчик ошибок при помощи функции set_exception_handler().

Пример #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
Правила разбора имён
Наследование исключений
Справочник языка


Наследование исключений

Определенный пользователем класс исключения должен быть определен, как класс расширяющий (наследующий) встроенный класс Exception. Ниже приведены методы и свойства класса Exception, доступные дочерним классам.

Пример #1 Встроеный класс Exception

<?php
class Exception
{
    protected $message = 'Unknown exception';   // сообшение
    protected $code = 0;                        // Код исключения,
    определяемый пользователем
    protected $file;                            // файл в котором было
    выброшено исключение
    protected $line;                            // строка в которой было
    выброшено исключение

    function __construct($message = null, $code = 0);

    final function getMessage();                // Возвращает сообшение
    исключения
    final function getCode();                   // Код исключения
    final function getFile();                   // Файл, где выброшено
    исключение
    final function getLine();                   // Строка, выбросившая исключени
    final function getTrace();                  // Массив backtrace()
    final function getTraceAsString();          // Обратная трассировка как
    строка

    /* Overrideable - т.е. то, что можно переопределить */
    function __toString();                       // должен вернуть
    форматированную строку, для отображения
}
?>

Если класс, наследуемый от Exception переопределяет конструктор, необходимо вызвать в конструкторе parent::__construct(), чтобы быть уверенным, что все дынные будут доступны. Метод __toString() может быть переопределен, что бы обеспечить нужный вывод, когда объект преобразуется в строку.

Пример #2 Наследование класса Exception

<?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";
    }
}

/**
 * Создадим класс для тестирования исключения
 */
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);
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);
echo "\n\n";

// Example 3
try {
    $o = new TestException(TestException::THROW_CUSTOM);
} catch (Exception $e) {        // Будет перехвачено.
    echo "Поймано встроенное исключение\n", $e;
}

// Продолжение исполнения программы
var_dump($o);
echo "\n\n";

// Example 4
try {
    $o = new TestException();
} catch (Exception $e) {        // Будет пропущено, т.к. исключение не выкидывается
    echo "Поймано встроенное исключение\n", $e;
}

// Продолжение выполнения программы
var_dump($o);
echo "\n\n";
?>
Исключения
Ссылки. Разъяснения
Исключения


Ссылки. Разъяснения

Содержание

  • Что такое ссылки
  • Что делают ссылки
  • Чем ссылки не являются
  • Передача по ссылке
  • Возвращение по ссылке
  • Сброс переменных-ссылок
  • Неявное использование механизма ссылок
Наследование исключений
Что такое ссылки
Справочник языка


Что такое ссылки

Ссылки в PHP - это средство доступа к содержимому одной переменной под разными именами. Они не похожи на указатели C и не являются псевдонимами таблицы символов. В 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
$bar =& new fooclass();
$foo =& find_var($bar);
?>

Замечание: Если опустить &, это приведёт к копированию объекта. Если вы используете $this в классе, операция проводится над текущим экземпляром этого класса. Присвоение без & приведёт к копированию экземпляра, и $this будет работать с копией, что не всегда желательно. Обычно, вам нужно иметь один экземпляр, из соображений производительности и использования памяти.
Операция @, которая скрывает сообщения об ошибках, например в конструкторе @new, не может быть использована совместно с операцией & (&new). Это ограничение Zend Engine.

Внимание

Если переменной, объявленной внутри функции как 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 - последнее значение, используемое в цикле
?>

Внимание

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

Пример #4 Ссылки и сложные массивы

<?php
$top = array(
    'A' => array(),
    'B' => array(
        'B_b' => array(),
    ),
);

$top['A']['parent'] = &$top;
$top['B']['parent'] = &$top;
$top['B']['B_b']['data'] = 'test';
print_r($top['A']['parent']['B']['B_b']); // array()
?>

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

<?php
function foo(&$var)
{
    $var++;
}

$a=5;
foo($a);
?>

Этот код присвоит $a значение 6. Это происходит, потому что в функции foo переменная $var ссылается на то же содержимое, что и переменная $a. См. также детальное объяснение передачи по ссылке.

Третье, что могут ссылки - возвращение значение по ссылке.

Что такое ссылки
Чем ссылки не являются
Ссылки. Разъяснения


Чем ссылки не являются

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

<?php
function foo(&$var)
{
    $var =& $GLOBALS["baz"];
}
foo($bar);
?>

Переменная $var в фукнции foo будет связана с $bar в вызывателе, но затем она будет перепривязана к $GLOBALS["baz"]. Нет способа связать $bar в области видимости вызывателя с чем-либо ещё путём использования механизма ссылок, поскольку $bar не доступна в функции foo (доступно лишь её значение через $var). Вы можете воспользоваться возвращением ссылок из функции для привязки внешней перменной к другому значению.

Что делают ссылки
Передача по ссылке
Ссылки. Разъяснения


Передача по ссылке

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

<?php
function foo(&$var)
{
    $var++;
}

$a=5;
foo($a);
// $a здесь равно 6
?>

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

По ссылке можно передавать:

  • Переменные, например foo($a)
  • Оператор new, например foo(new foobar())

  • Ссылки, возвращаемые функцией, например:

    <?php
    function &bar()
    {
            $a = 5;
        return     $a;
    }
    foo(bar());
    ?>

    См. также объяснение возвращения по ссылке.

Любое другое выражение не должно передаваться по ссылке, так как результат не определён. Например, следующая передача по ссылке является неправильной:

<?php
function bar() // Операция & отсутствует
{
    $a = 5;
    return $a;
}
foo(bar());

foo($a = 5); // Выражение, а не переменная
foo(5); // Константа, а не переменная
?>

Эти требования для PHP 4.0.4 и позже.

Чем ссылки не являются
Возвращение по ссылке
Ссылки. Разъяснения


Возвращение по ссылке

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

<?php
function &find_var($param)
{
    /* ... код ... */
    return $found_var;
}

$foo =& find_var($bar);
$foo->x = 2;
?>

В этом примере устанавливается свойство объекта, возвращённого функцией find_var, а не его копии, как было бы без использования ссылок.

Замечание: В отличие от передачи параметров по ссылке, & здесь нужно использовать в обоих местах - для указания на то, что вы возвращаете ссылку, а не копию, как обычно, и для указания того, что происходит связывание по ссылке, а не обычное присвоение.

Замечание: Если вы возвращаете ссылку из функции используя следующий синтаксис: return ($this->value);, это не будет работать, так как вы возвращаете по ссылке результат выражения, а не переменную. По ссылке можно возвращать только переменные, ничего больше. Начиная с PHP 4.4.0 и PHP 5.1.0, если код пытается вернуть по ссылке динамическое выражение или результат оператора new, будет выброжено предупреждение E_NOTICE.

Передача по ссылке
Сброс переменных-ссылок
Ссылки. Разъяснения


Сброс переменных-ссылок

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

<?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 — References all variables available in global scope
  • $_SERVER — Server and execution environment information
  • $_GET — HTTP GET variables
  • $_POST — HTTP POST variables
  • $_FILES — HTTP File Upload variables
  • $_REQUEST — Данные HTTP-запроса
  • $_SESSION — Session variables
  • $_ENV — Environment variables
  • $_COOKIE — HTTP Cookies
  • $php_errormsg — The previous error message
  • $HTTP_RAW_POST_DATA — Raw POST data
  • $http_response_header — HTTP response headers
  • $argc — The number of arguments passed to script
  • $argv — Array of arguments passed to script
Неявное использование механизма ссылок
Суперглобальные переменные
Справочник языка


Суперглобальные переменные - это встроенные переменные, которые доступны по всех областях видимости

Предопределённые переменные
$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 включена, содержание суперглобальных массивов становится доступно в виде отдельных переменных. Например, $_POST['foo'] будет также доступна в виде $foo.
За дополнительной информацией смотрите ЧАВО под названием "Как register_globals касаются меня?"

Замечание: Переменные переменных
Суперглобальные переменные не могут быть использованы как переменные переменных внутри функций и методов.

Смотрите также

  • variable scope
  • Директива variables_order
  • Функции фильтрации данных

Предопределённые переменные
$GLOBALS
Предопределённые переменные


References all variables available in global scope

Суперглобальные переменные
$_SERVER
Предопределённые переменные
PHP Manual

$GLOBALS

$GLOBALS — References all variables available in global scope

Описание

An associative array containing references to all variables which are currently defined in the global scope of the script. The variable names are the keys of the array.

Примеры

Пример #1 $GLOBALS example

<?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

Примечания

Замечание: This is a 'superglobal', or automatic global, variable. This simply means that it is available in all scopes throughout a script. There is no need to do global $variable; to access it within functions or methods.

Замечание: Variable availability
Unlike all of the other superglobals, $GLOBALS has essentially always been available in PHP.

Суперглобальные переменные
$_SERVER
Предопределённые переменные


Server and execution environment information

$GLOBALS
$_GET
Предопределённые переменные
PHP Manual

$_SERVER

$HTTP_SERVER_VARS [deprecated]

$_SERVER -- $HTTP_SERVER_VARS [deprecated] — Server and execution environment information

Описание

$_SERVER is an array containing information such as headers, paths, and script locations. The entries in this array are created by the web server. There is no guarantee that every web server will provide any of these; servers may omit some, or provide others not listed here. That said, a large number of these variables are accounted for in the » CGI 1.1 specification, so you should be able to expect those.

$HTTP_SERVER_VARS contains the same initial information, but is not a superglobal. (Note that $HTTP_SERVER_VARS and $_SERVER are different variables and that PHP handles them as such)

Indices

You may or may not find any of the following elements in $_SERVER. Note that few, if any, of these will be available (or indeed have any meaning) if running PHP on the command line.

'PHP_SELF'
The filename of the currently executing script, relative to the document root. For instance, $_SERVER['PHP_SELF'] in a script at the address http://example.com/test.php/foo.bar would be /test.php/foo.bar. The __FILE__ constant contains the full path and filename of the current (i.e. included) file. If PHP is running as a command-line processor this variable contains the script name since PHP 4.3.0. Previously it was not available.
'argv'
Array of arguments passed to the script. When the script is run on the command line, this gives C-style access to the command line parameters. When called via the GET method, this will contain the query string.
'argc'
Contains the number of command line parameters passed to the script (if run on the command line).
'GATEWAY_INTERFACE'
What revision of the CGI specification the server is using; i.e. 'CGI/1.1'.
'SERVER_ADDR'
The IP address of the server under which the current script is executing.
'SERVER_NAME'
The name of the server host under which the current script is executing. If the script is running on a virtual host, this will be the value defined for that virtual host.
'SERVER_SOFTWARE'
Server identification string, given in the headers when responding to requests.
'SERVER_PROTOCOL'
Name and revision of the information protocol via which the page was requested; i.e. 'HTTP/1.0';
'REQUEST_METHOD'
Which request method was used to access the page; i.e. 'GET', 'HEAD', 'POST', 'PUT'.

Замечание: PHP script is terminated after sending headers (it means after producing any output without output buffering) if the request method was HEAD.

'REQUEST_TIME'
The timestamp of the start of the request. Available since PHP 5.1.0.
'QUERY_STRING'
The query string, if any, via which the page was accessed.
'DOCUMENT_ROOT'
The document root directory under which the current script is executing, as defined in the server's configuration file.
'HTTP_ACCEPT'
Contents of the Accept: header from the current request, if there is one.
'HTTP_ACCEPT_CHARSET'
Contents of the Accept-Charset: header from the current request, if there is one. Example: 'iso-8859-1,*,utf-8'.
'HTTP_ACCEPT_ENCODING'
Contents of the Accept-Encoding: header from the current request, if there is one. Example: 'gzip'.
'HTTP_ACCEPT_LANGUAGE'
Contents of the Accept-Language: header from the current request, if there is one. Example: 'en'.
'HTTP_CONNECTION'
Contents of the Connection: header from the current request, if there is one. Example: 'Keep-Alive'.
'HTTP_HOST'
Contents of the Host: header from the current request, if there is one.
'HTTP_REFERER'
The address of the page (if any) which referred the user agent to the current page. This is set by the user agent. Not all user agents will set this, and some provide the ability to modify HTTP_REFERER as a feature. In short, it cannot really be trusted.
'HTTP_USER_AGENT'
Contents of the User-Agent: header from the current request, if there is one. This is a string denoting the user agent being which is accessing the page. A typical example is: Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586). Among other things, you can use this value with get_browser() to tailor your page's output to the capabilities of the user agent.
'HTTPS'
Set to a non-empty value if the script was queried through the HTTPS protocol.

Замечание: Note that when using ISAPI with IIS, the value will be off if the request was not made through the HTTPS protocol.

'REMOTE_ADDR'
The IP address from which the user is viewing the current page.
'REMOTE_HOST'
The Host name from which the user is viewing the current page. The reverse dns lookup is based off the REMOTE_ADDR of the user.

Замечание: Your web server must be configured to create this variable. For example in Apache you'll need HostnameLookups On inside httpd.conf for it to exist. See also gethostbyaddr().

'REMOTE_PORT'
The port being used on the user's machine to communicate with the web server.
'SCRIPT_FILENAME'

The absolute pathname of the currently executing script.

Замечание: If a script is executed with the CLI, as a relative path, such as file.php or ../file.php, $_SERVER['SCRIPT_FILENAME'] will contain the relative path specified by the user.

'SERVER_ADMIN'
The value given to the SERVER_ADMIN (for Apache) directive in the web server configuration file. If the script is running on a virtual host, this will be the value defined for that virtual host.
'SERVER_PORT'
The port on the server machine being used by the web server for communication. For default setups, this will be '80'; using SSL, for instance, will change this to whatever your defined secure HTTP port is.
'SERVER_SIGNATURE'
String containing the server version and virtual host name which are added to server-generated pages, if enabled.
'PATH_TRANSLATED'
Filesystem- (not document root-) based path to the current script, after the server has done any virtual-to-real mapping.

Замечание: As of PHP 4.3.2, PATH_TRANSLATED is no longer set implicitly under the Apache 2 SAPI in contrast to the situation in Apache 1, where it's set to the same value as the SCRIPT_FILENAME server variable when it's not populated by Apache. This change was made to comply with the CGI specification that PATH_TRANSLATED should only exist if PATH_INFO is defined. Apache 2 users may use AcceptPathInfo = On inside httpd.conf to define PATH_INFO.

'SCRIPT_NAME'
Contains the current script's path. This is useful for pages which need to point to themselves. The __FILE__ constant contains the full path and filename of the current (i.e. included) file.
'REQUEST_URI'
The URI which was given in order to access this page; for instance, '/index.html'.
'PHP_AUTH_DIGEST'
When running under Apache as module doing Digest HTTP authentication this variable is set to the 'Authorization' header sent by the client (which you should then use to make the appropriate validation).
'PHP_AUTH_USER'
When running under Apache or IIS (ISAPI on PHP 5) as module doing HTTP authentication this variable is set to the username provided by the user.
'PHP_AUTH_PW'
When running under Apache or IIS (ISAPI on PHP 5) as module doing HTTP authentication this variable is set to the password provided by the user.
'AUTH_TYPE'
When running under Apache as module doing HTTP authenticated this variable is set to the authentication type.

Список изменений

Версия | Описание
4.1.0 | Introduced $_SERVER that deprecated $HTTP_SERVER_VARS.

Примеры

Пример #1 $_SERVER example

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

Результатом выполнения данного примера будет что-то подобное:

www.example.com

Примечания

Замечание: This is a 'superglobal', or automatic global, variable. This simply means that it is available in all scopes throughout a script. There is no need to do global $variable; to access it within functions or methods.

Смотрите также

  • The filter extension

$GLOBALS
$_GET
Предопределённые переменные


HTTP GET variables

$_SERVER
$_POST
Предопределённые переменные
PHP Manual

$_GET

$HTTP_GET_VARS [deprecated]

$_GET -- $HTTP_GET_VARS [deprecated] — HTTP GET variables

Описание

An associative array of variables passed to the current script via the URL parameters.

$HTTP_GET_VARS contains the same initial information, but is not a superglobal. (Note that $HTTP_GET_VARS and $_GET are different variables and that PHP handles them as such)

Список изменений

Версия | Описание
4.1.0 | Introduced $_GET that deprecated $HTTP_GET_VARS.

Примеры

Пример #1 $_GET example

<?php
echo 'Hello ' . htmlspecialchars($_GET["name"]) . '!';
?>

Assuming the user entered http://example.com/?name=Hannes

Результатом выполнения данного примера будет что-то подобное:

Hello Hannes!

Примечания

Замечание: This is a 'superglobal', or automatic global, variable. This simply means that it is available in all scopes throughout a script. There is no need to do global $variable; to access it within functions or methods.

Смотрите также

  • Handling external variables
  • The filter extension

$_SERVER
$_POST
Предопределённые переменные


HTTP POST variables

$_GET
$_FILES
Предопределённые переменные
PHP Manual

$_POST

$HTTP_POST_VARS [deprecated]

$_POST -- $HTTP_POST_VARS [deprecated] — HTTP POST variables

Описание

An associative array of variables passed to the current script via the HTTP POST method.

$HTTP_POST_VARS contains the same initial information, but is not a superglobal. (Note that $HTTP_POST_VARS and $_POST are different variables and that PHP handles them as such)

Список изменений

Версия | Описание
4.1.0 | Introduced $_POST that deprecated $HTTP_POST_VARS.

Примеры

Пример #1 $_POST example

<?php
echo 'Hello ' . htmlspecialchars($_POST["name"]) . '!';
?>

Assuming the user POSTed name=Hannes

Результатом выполнения данного примера будет что-то подобное:

Hello Hannes!

Примечания

Замечание: This is a 'superglobal', or automatic global, variable. This simply means that it is available in all scopes throughout a script. There is no need to do global $variable; to access it within functions or methods.

Смотрите также

  • Handling external variables
  • The filter extension

$_GET
$_FILES
Предопределённые переменные


HTTP File Upload variables

$_POST
$_REQUEST
Предопределённые переменные
PHP Manual

$_FILES

$HTTP_POST_FILES [deprecated]

$_FILES -- $HTTP_POST_FILES [deprecated] — HTTP File Upload variables

Описание

An associative array of items uploaded to the current script via the HTTP POST method.

$HTTP_POST_FILES contains the same initial information, but is not a superglobal. (Note that $HTTP_POST_FILES and $_FILES are different variables and that PHP handles them as such)

Список изменений

Версия | Описание
4.1.0 | Introduced $_FILES that deprecated $HTTP_POST_FILES.

Примечания

Замечание: This is a 'superglobal', or automatic global, variable. This simply means that it is available in all scopes throughout a script. There is no need to do global $variable; to access it within functions or methods.

Смотрите также

  • move_uploaded_file() - Перемещает загруженный файл в новое место
  • Handling File Uploads

$_POST
$_REQUEST
Предопределённые переменные


Данные HTTP-запроса

$_FILES
$_SESSION
Предопределённые переменные
PHP Manual

$_REQUEST

()

$_REQUEST — Данные HTTP-запроса

Описание

Ассоциативный массив, который по умолчанию содержит данные переменных $_GET, $_POST и $_COOKIE.

Список изменений

Версия | Описание
5.3.0 | Добавлена директива request_order. Она позволяет контролировать содержимое переменной $_REQUEST.
4.3.0 | Данные переменной $_FILES более не включаются в $_REQUEST.
4.1.0 | Добавлена переменная $_REQUEST.

Примечания

Замечание: This is a 'superglobal', or automatic global, variable. This simply means that it is available in all scopes throughout a script. There is no need to do global $variable; to access it within functions or methods.

Замечание: При работе в командной строке, переменные argv и argc не включаются в $_REQUEST, они присутствуют в массиве $_SERVER.

Замечание: Данным, которые были переданы в скрипт посредством методов GET, POST или в COOKIE нельзя доверять. Их наличие и порядок добавления данных в соответствующие массивы контролируется директивой variables_order.

Смотрите также

  • import_request_variables() - Импортирует переменные GET/POST/Cookie в глобальную область видимости
  • Работа с внешними данными
  • Функции фильтрации данных
$_FILES
$_SESSION
Предопределённые переменные


Session variables

$_REQUEST
$_ENV
Предопределённые переменные
PHP Manual

$_SESSION

$HTTP_SESSION_VARS [deprecated]

$_SESSION -- $HTTP_SESSION_VARS [deprecated] — Session variables

Описание

An associative array containing session variables available to the current script. See the Session functions documentation for more information on how this is used.

$HTTP_SESSION_VARS contains the same initial information, but is not a superglobal. (Note that $HTTP_SESSION_VARS and $_SESSION are different variables and that PHP handles them as such)

Список изменений

Версия | Описание
4.1.0 | Introduced $_SESSION that deprecated $HTTP_SESSION_VARS.

Примечания

Замечание: This is a 'superglobal', or automatic global, variable. This simply means that it is available in all scopes throughout a script. There is no need to do global $variable; to access it within functions or methods.

Смотрите также

  • session_start() - Initialize session data

$_REQUEST
$_ENV
Предопределённые переменные


Environment variables

$_SESSION
$_COOKIE
Предопределённые переменные
PHP Manual

$_ENV

$HTTP_ENV_VARS [deprecated]

$_ENV -- $HTTP_ENV_VARS [deprecated] — Environment variables

Описание

An associative array of variables passed to the current script via the environment method.

These variables are imported into PHP's global namespace from the environment under which the PHP parser is running. Many are provided by the shell under which PHP is running and different systems are likely running different kinds of shells, a definitive list is impossible. Please see your shell's documentation for a list of defined environment variables.

Other environment variables include the CGI variables, placed there regardless of whether PHP is running as a server module or CGI processor.

$HTTP_ENV_VARS contains the same initial information, but is not a superglobal. (Note that $HTTP_ENV_VARS and $_ENV are different variables and that PHP handles them as such)

Список изменений

Версия | Описание
4.1.0 | Introduced $_ENV that deprecated $HTTP_ENV_VARS.

Примеры

Пример #1 $_ENV example

<?php
echo 'My username is ' .$_ENV["USER"] . '!';
?>

Assuming "bjori" executes this script

Результатом выполнения данного примера будет что-то подобное:

My username is bjori!

Примечания

Замечание: This is a 'superglobal', or automatic global, variable. This simply means that it is available in all scopes throughout a script. There is no need to do global $variable; to access it within functions or methods.

Смотрите также

  • getenv() - Gets the value of an environment variable
  • The filter extension

$_SESSION
$_COOKIE
Предопределённые переменные


HTTP Cookies

$_ENV
$php_errormsg
Предопределённые переменные
PHP Manual

$_COOKIE

$HTTP_COOKIE_VARS [deprecated]

$_COOKIE -- $HTTP_COOKIE_VARS [deprecated] — HTTP Cookies

Описание

An associative array of variables passed to the current script via HTTP Cookies.

$HTTP_COOKIE_VARS contains the same initial information, but is not a superglobal. (Note that $HTTP_COOKIE_VARS and $_COOKIE are different variables and that PHP handles them as such)

Список изменений

Версия | Описание
4.1.0 | Introduced $_COOKIE that deprecated $HTTP_COOKIE_VARS.

Примеры

Пример #1 $_COOKIE example

<?php
echo 'Hello ' . htmlspecialchars($_COOKIE["name"]) . '!';
?>

Assuming the "name" cookie has been set earlier

Результатом выполнения данного примера будет что-то подобное:

Hello Hannes!

Примечания

Замечание: This is a 'superglobal', or automatic global, variable. This simply means that it is available in all scopes throughout a script. There is no need to do global $variable; to access it within functions or methods.

Смотрите также

  • setcookie() - Send a cookie
  • Handling external variables
  • The filter extension

$_ENV
$php_errormsg
Предопределённые переменные


The previous error message

$_COOKIE
$HTTP_RAW_POST_DATA
Предопределённые переменные
PHP Manual

$php_errormsg

$php_errormsg — The previous error message

Описание

$php_errormsg is a variable containing the text of the last error message generated by PHP. This variable will only be available within the scope in which the error occurred, and only if the track_errors configuration option is turned on (it defaults to off).

Замечание: This variable is only available when track_errors is enabled in php.ini.

Внимание

If a user defined error handler (set_error_handler()) is set $php_errormsg is only set if the error handler returns FALSE

Примеры

Пример #1 $php_errormsg example

<?php
@strpos();
echo $php_errormsg;
?>

Результатом выполнения данного примера будет что-то подобное:

Wrong parameter count for strpos()

$_COOKIE
$HTTP_RAW_POST_DATA
Предопределённые переменные


Raw POST data

$php_errormsg
$http_response_header
Предопределённые переменные
PHP Manual

$HTTP_RAW_POST_DATA

$HTTP_RAW_POST_DATA — Raw POST data

Описание

$HTTP_RAW_POST_DATA contains the raw POST data. See always_populate_raw_post_data

$php_errormsg
$http_response_header
Предопределённые переменные


HTTP response headers

$HTTP_RAW_POST_DATA
$argc
Предопределённые переменные
PHP Manual

$http_response_header

$http_response_header — HTTP response headers

Описание

The $http_response_header array is similar to the get_headers() function. When using the HTTP wrapper, $http_response_header will be populated with the HTTP response headers.

Примеры

Пример #1 $http_response_header example

<?php
file_get_contents("http://example.com");
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"
}

$HTTP_RAW_POST_DATA
$argc
Предопределённые переменные


The number of arguments passed to script

$http_response_header
$argv
Предопределённые переменные
PHP Manual

$argc

$argc — The number of arguments passed to script

Описание

Contains the number of arguments passed to the current script when running from the command line.

Замечание: The script's filename is always passed as an argument to the script, therefore the minimum value of $argc is 1.

Замечание: This variable is only available when register_argc_argv is enabled.

Примеры

Пример #1 $argc example

<?php
var_dump($argc);
?>

When executing the example with: php script.php arg1 arg2 arg3

Результатом выполнения данного примера будет что-то подобное:

int(4)

$http_response_header
$argv
Предопределённые переменные


Array of arguments passed to script

$argc
Предопределённые исключения
Предопределённые переменные
PHP Manual

$argv

$argv — Array of arguments passed to script

Описание

Contains an array of all the arguments passed to the script when running from the command line.

Замечание: The first argument is always the current script's filename, therefore $argv[0] is the script's name.

Замечание: This variable is only available when register_argc_argv is enabled.

Примеры

Пример #1 $argv example

<?php
var_dump($argv);
?>

When executing the example with: 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"
}

$argc
Предопределённые исключения
Предопределённые переменные


Предопределённые исключения

Содержание

  • Exception
  • ErrorException
$argv
Exception
Справочник языка


Exception

Введение

Exception - это базовый класс для всех исключений.

Class synopsis

Exception
Exception {
/* Свойства */
protected string $message ;
private string $string ;
protected int $code ;
protected string $file ;
protected int $line ;
private array $trace ;
/* Методы */
public __construct ([ string $message= "" [, int $code= 0 [, Exception $previous= NULL ]]] )
final public string getMessage ( void )
final public int getCode ( void )
final public string getFile ( void )
final public int getLine ( void )
final public array getTrace ( void )
final public string getTraceAsString ( void )
public string __toString ( void )
final private void __clone ( void )
}

Свойства

message

Текст исключения

string

Имя исключения

code

Код исключения

file

Имя файла, где было вызвано исключение

line

Номер строки, где было вызвано исключение

trace

Стэк трэйс

Содержание

  • Exception::__construct — Construct the exception
  • Exception::getMessage — Gets the Exception message
  • Exception::getCode — Gets the Exception code
  • Exception::getFile — Gets the file in which the exception occurred
  • Exception::getLine — Gets the line in which the exception occurred
  • Exception::getTrace — Gets the stack trace
  • Exception::getTraceAsString — Gets the stack trace as a string
  • Exception::__toString — String representation of the exception
  • Exception::__clone — Clone the exception
Предопределённые исключения
Exception::__construct
Предопределённые исключения


Construct the exception

Exception
Exception::getMessage
Exception
PHP Manual

Exception::__construct

(PHP 5 >= 5.1.0)

Exception::__construct — Construct the exception

Описание

public Exception::__construct ([ string $message= "" [, int $code= 0 [, Exception $previous= NULL ]]] )

Constructs the Exception.

Список параметров

message

The Exception message to throw.

code

The Exception code.

previous

The previous exception used for the exception chaining.

Список изменений

Версия | Описание
5.3.0 | The previous parameter was added.

Exception
Exception::getMessage
Exception


Gets the Exception message

Exception::__construct
Exception::getCode
Exception
PHP Manual

Exception::getMessage

(PHP 5 >= 5.1.0)

Exception::getMessage — Gets the Exception message

Описание

final public string Exception::getMessage ( void )

Returns the Exception message.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the Exception message as a string.

Примеры

Пример #1 Exception::getMessage() example

<?php
try {
    throw new Exception("Some error message");
} catch(Exception $e) {
    echo $e->getMessage();
}
?>

Результатом выполнения данного примера будет что-то подобное:

Some error message

Exception::__construct
Exception::getCode
Exception


Gets the Exception code

Exception::getMessage
Exception::getFile
Exception
PHP Manual

Exception::getCode

(PHP 5 >= 5.1.0)

Exception::getCode — Gets the Exception code

Описание

final public int Exception::getCode ( void )

Returns the Exception code.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the Exception code as a integer.

Примеры

Пример #1 Exception::getCode() example

<?php
try {
    throw new Exception("Some error message", 30);
} catch(Exception $e) {
    echo "The exception code is: " . $e->getCode();
}
?>

Результатом выполнения данного примера будет что-то подобное:

The exception code is: 30

Exception::getMessage
Exception::getFile
Exception


Gets the file in which the exception occurred

Exception::getCode
Exception::getLine
Exception
PHP Manual

Exception::getFile

(PHP 5 >= 5.1.0)

Exception::getFile — Gets the file in which the exception occurred

Описание

final public string Exception::getFile ( void )

Get the name of the file the exception was thrown from.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the filename in which the exception was thrown.

Примеры

Пример #1 Exception::getFile() example

<?php
try {
    throw new Exception;
} catch(Exception $e) {
    echo $e->getFile();
}
?>

Результатом выполнения данного примера будет что-то подобное:

/home/bjori/tmp/ex.php

Exception::getCode
Exception::getLine
Exception


Gets the line in which the exception occurred

Exception::getFile
Exception::getTrace
Exception
PHP Manual

Exception::getLine

(PHP 5 >= 5.1.0)

Exception::getLine — Gets the line in which the exception occurred

Описание

final public int Exception::getLine ( void )

Returns line number where the exception was thrown.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the line number where the exception was thrown.

Примеры

Пример #1 Exception::getLine() example

<?php
try {
    throw new Exception("Some error message");
} catch(Exception $e) {
    echo "The exception was thrown on line: " . $e->getLine();
}
?>

Результатом выполнения данного примера будет что-то подобное:

The exception was thrown on line: 3

Exception::getFile
Exception::getTrace
Exception


Gets the stack trace

Exception::getLine
Exception::getTraceAsString
Exception
PHP Manual

Exception::getTrace

(PHP 5 >= 5.1.0)

Exception::getTrace — Gets the stack trace

Описание

final public array Exception::getTrace ( void )

Returns the Exception stack trace.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the Exception stack trace as an array.

Примеры

Пример #1 Exception::getTrace() example

<?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


Gets the stack trace as a string

Exception::getTrace
Exception::__toString
Exception
PHP Manual

Exception::getTraceAsString

(PHP 5 >= 5.1.0)

Exception::getTraceAsString — Gets the stack trace as a string

Описание

final public string Exception::getTraceAsString ( void )

Returns the Exception stack trace as a string.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the Exception stack trace as a string.

Примеры

Пример #1 Exception::getTraceAsString() example

<?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


String representation of the exception

Exception::getTraceAsString
Exception::__clone
Exception
PHP Manual

Exception::__toString

(PHP 5 >= 5.1.0)

Exception::__toString — String representation of the exception

Описание

public string Exception::__toString ( void )

Returns the string representation of the exception.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the string representation of the exception.

Примеры

Пример #1 Exception::__toString() example

<?php
try {
    throw new Exception("Some error message");
} catch(Exception $e) {
    echo $e;
}
?>

Результатом выполнения данного примера будет что-то подобное:

exception 'Exception' with message 'Some error message' in /home/bjori/tmp/ex.php:3
Stack trace:
#0 {main}

Exception::getTraceAsString
Exception::__clone
Exception


Clone the exception

Exception::__toString
ErrorException
Exception
PHP Manual

Exception::__clone

(PHP 5 >= 5.1.0)

Exception::__clone — Clone the exception

Описание

final private void Exception::__clone ( void )

Tries to clone the Exception, which results in Fatal error.

Список параметров

This function has no parameters.

Возвращаемые значения

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

Errors/Exceptions

Exceptions are not clonable.

Exception::__toString
ErrorException
Exception


ErrorException

Введение

Исключение в случае ошибки.

Class synopsis

ErrorException
ErrorException extends Exception {
/* Свойства */
protected int $severity ;
/* Методы */
public __construct ([ string $message [, int $code [, int $severity [, string $filename [, int $lineno ]]]]] )
final public int getSeverity ( void )
/* Унаследованные методы */
final public string Exception::getMessage ( void )
final public int 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 Пример использования ErrorException

Превращаем все ошибки в 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 — Construct the exception
  • ErrorException::getSeverity — Gets the exception severity
Exception::__clone
ErrorException::__construct
Предопределённые исключения


Construct the exception

ErrorException
ErrorException::getSeverity
ErrorException
PHP Manual

ErrorException::__construct

(PHP 5 >= 5.1.0)

ErrorException::__construct — Construct the exception

Описание

public ErrorException::__construct ([ string $message [, int $code [, int $severity [, string $filename [, int $lineno ]]]]] )

Constructs the Exception.

Список параметров

message

The Exception message to throw.

code

The Exception code.

severity

The severity level of the exception.

filename

The filename where the exception is thrown.

lineno

The line number where the exception is thrown.

ErrorException
ErrorException::getSeverity
ErrorException


Gets the exception severity

ErrorException::__construct
Predefined Interfaces
ErrorException
PHP Manual

ErrorException::getSeverity

(PHP 5 >= 5.1.0)

ErrorException::getSeverity — Gets the exception severity

Описание

final public int ErrorException::getSeverity ( void )

Returns the severity of the exception.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the severity level of the exception.

Примеры

Пример #1 ErrorException::getSeverity() example

<?php
try {
    throw new ErrorException("Exception message", 0, 75);
} catch(ErrorException $e) {
    echo "This exception severity is: " . $e->getSeverity();
}
?>

Результатом выполнения данного примера будет что-то подобное:

This exception severity is: 75

ErrorException::__construct
Predefined Interfaces
ErrorException


Predefined Interfaces

Содержание

  • The Traversable interface
  • The Iterator interface
  • The IteratorAggregate interface
  • The ArrayAccess interface
  • The Serializable interface

See also the SPL Interfaces

ErrorException::getSeverity
Traversable
Справочник языка


The Traversable interface

Введение

Interface to detect if a class is traversable using foreach.

Abstract base interface that cannot be implemented alone. Instead it must be implemented by either IteratorAggregate or Iterator.

Замечание: Internal (built-in) classes that implement this interface can be used in a foreach construct and do not need to implement IteratorAggregate or Iterator.

Замечание: This is an internal engine interface which cannot be implemented in PHP scripts. Either IteratorAggregate or Iterator must be used instead.

Interface synopsis

Traversable
Traversable {
}

This interface has no methods, its only purpose is to be the base interface for all traversable classes.

Predefined Interfaces
Iterator
Predefined Interfaces


The Iterator interface

Введение

Interface for external iterators or objects that can be iterated themselves internally.

Interface synopsis

Iterator
Iterator extends Traversable {
/* Methods */
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 Basic usage

This example demonstrates in which order methods are called when using foreach with an iterator.

<?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 — Return the current element
  • Iterator::key — Return the key of the current element
  • Iterator::next — Move forward to next element
  • Iterator::rewind — Rewind the Iterator to the first element
  • Iterator::valid — Checks if current position is valid
Traversable
Iterator::current
Predefined Interfaces


Return the current element

Iterator
Iterator::key
Iterator
PHP Manual

Iterator::current

(PHP 5 >= 5.1.0)

Iterator::current — Return the current element

Описание

abstract public mixed Iterator::current ( void )

Returns the current element.

Список параметров

This function has no parameters.

Возвращаемые значения

Can return any type.

Iterator
Iterator::key
Iterator


Return the key of the current element

Iterator::current
Iterator::next
Iterator
PHP Manual

Iterator::key

(PHP 5 >= 5.1.0)

Iterator::key — Return the key of the current element

Описание

abstract public scalar Iterator::key ( void )

Returns the key of the current element.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns scalar on success, integer 0 on failure.

Errors/Exceptions

Issues E_WARNING on failure.

Iterator::current
Iterator::next
Iterator


Move forward to next element

Iterator::key
Iterator::rewind
Iterator
PHP Manual

Iterator::next

(PHP 5 >= 5.1.0)

Iterator::next — Move forward to next element

Описание

abstract public void Iterator::next ( void )

Moves the current position to the next element.

Замечание: This method is called after each foreach loop.

Список параметров

This function has no parameters.

Возвращаемые значения

Any returned value is ignored.

Iterator::key
Iterator::rewind
Iterator


Rewind the Iterator to the first element

Iterator::next
Iterator::valid
Iterator
PHP Manual

Iterator::rewind

(PHP 5 >= 5.1.0)

Iterator::rewind — Rewind the Iterator to the first element

Описание

abstract public void Iterator::rewind ( void )

Rewinds back to the first element of the Iterator.

Замечание: This is the first method called when starting a foreach loop. It will not be executed after foreach loops.

Список параметров

This function has no parameters.

Возвращаемые значения

Any returned value is ignored.

Iterator::next
Iterator::valid
Iterator


Checks if current position is valid

Iterator::rewind
IteratorAggregate
Iterator
PHP Manual

Iterator::valid

(PHP 5 >= 5.1.0)

Iterator::valid — Checks if current position is valid

Описание

abstract public boolean Iterator::valid ( void )

This method is called after Iterator::rewind and Iterator::next to check if the current position is valid.

Список параметров

This function has no parameters.

Возвращаемые значения

The return value will be casted to boolean and then evaluated. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Iterator::rewind
IteratorAggregate
Iterator


The IteratorAggregate interface

Введение

Interface to create an external Iterator.

Interface synopsis

IteratorAggregate
IteratorAggregate extends Traversable {
/* Methods */
abstract public Traversable getIterator ( void )
}

Пример #1 Basic usage

<?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 — Retrieve an external iterator
Iterator::valid
IteratorAggregate::getIterator
Predefined Interfaces


Retrieve an external iterator

IteratorAggregate
ArrayAccess
IteratorAggregate
PHP Manual

IteratorAggregate::getIterator

(PHP 5 >= 5.1.0)

IteratorAggregate::getIterator — Retrieve an external iterator

Описание

abstract public Traversable IteratorAggregate::getIterator ( void )

Returns an external iterator.

Список параметров

This function has no parameters.

Возвращаемые значения

An instance of an object implementing Iterator or Traversable

Errors/Exceptions

Throws an Exception on failure.

IteratorAggregate
ArrayAccess
IteratorAggregate


The ArrayAccess interface

Введение

Interface to provide accessing objects as arrays.

Interface synopsis

ArrayAccess
ArrayAccess {
/* Methods */
abstract public boolean offsetExists ( string $offset )
abstract public mixed offsetGet ( string $offset )
abstract public void offsetSet ( string $offset , string $value )
abstract public void offsetUnset ( string $offset )
}

Пример #1 Basic usage

<?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) {
        $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"]);

?>

Результатом выполнения данного примера будет что-то подобное:

bool(true)
int(2)
bool(false)
string(7) "A value"

Содержание

  • ArrayAccess::offsetExists — Whether a offset exists
  • ArrayAccess::offsetGet — Offset to retrieve
  • ArrayAccess::offsetSet — Offset to set
  • ArrayAccess::offsetUnset — Offset to unset
IteratorAggregate::getIterator
ArrayAccess::offsetExists
Predefined Interfaces


Whether a offset exists

ArrayAccess
ArrayAccess::offsetGet
ArrayAccess
PHP Manual

ArrayAccess::offsetExists

(PHP 5 >= 5.1.0)

ArrayAccess::offsetExists — Whether a offset exists

Описание

abstract public boolean ArrayAccess::offsetExists ( string $offset )

Whether or not an offset exists.

This method is executed when using isset() or empty() on objects implementing ArrayAccess.

Замечание: When using empty() ArrayAccess::offsetGet() will be called and checked if empty only if ArrayAccess::offsetExists() returns TRUE.

Список параметров

offset

An offset to check for.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Замечание: The return value will be casted to boolean if non-boolean was returned.

Примеры

Пример #1 ArrayAccess::offsetExists() example

<?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 "Runs obj::offsetExists()\n";
var_dump(isset($obj["foobar"]));

echo "\nRuns obj::offsetExists() and obj::offsetGet()\n";
var_dump(empty($obj["foobar"]));

echo "\nRuns obj::offsetExists(), *not* obj:offsetGet() as there is nothing to get\n";
var_dump(empty($obj["foobaz"]));
?>

Результатом выполнения данного примера будет что-то подобное:

Runs obj::offsetExists()
string(17) "obj::offsetExists"
bool(true)

Runs obj::offsetExists() and obj::offsetGet()
string(17) "obj::offsetExists"
string(14) "obj::offsetGet"
bool(false)

Runs obj::offsetExists(), *not* obj:offsetGet() as there is nothing to get
string(17) "obj::offsetExists"
bool(true)

ArrayAccess
ArrayAccess::offsetGet
ArrayAccess


Offset to retrieve

ArrayAccess::offsetExists
ArrayAccess::offsetSet
ArrayAccess
PHP Manual

ArrayAccess::offsetGet

(PHP 5 >= 5.1.0)

ArrayAccess::offsetGet — Offset to retrieve

Описание

abstract public mixed ArrayAccess::offsetGet ( string $offset )

Returns the value at specified offset.

This method is executed when checking if offset is empty().

Список параметров

offset

The offset to retrieve.

Возвращаемые значения

Can return all value types.

Смотрите также

  • ArrayAccess::offsetExists - Whether a offset exists

ArrayAccess::offsetExists
ArrayAccess::offsetSet
ArrayAccess


Offset to set

ArrayAccess::offsetGet
ArrayAccess::offsetUnset
ArrayAccess
PHP Manual

ArrayAccess::offsetSet

(PHP 5 >= 5.1.0)

ArrayAccess::offsetSet — Offset to set

Описание

abstract public void ArrayAccess::offsetSet ( string $offset , string $value )

Assigns a value to the specified offset.

Список параметров

offset

The offset to assign the value to.

value

The value to set.

Возвращаемые значения

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

ArrayAccess::offsetGet
ArrayAccess::offsetUnset
ArrayAccess


Offset to unset

ArrayAccess::offsetSet
Serializable
ArrayAccess
PHP Manual

ArrayAccess::offsetUnset

(PHP 5 >= 5.1.0)

ArrayAccess::offsetUnset — Offset to unset

Описание

abstract public void ArrayAccess::offsetUnset ( string $offset )

Unsets an offset.

Замечание: This method will not be called when type-casting to (unset)

Список параметров

offset

The offset to unset.

Возвращаемые значения

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

ArrayAccess::offsetSet
Serializable
ArrayAccess


The Serializable interface

Введение

Interface for customized serializing.

Classes that implement this interface no longer support __sleep() and __wakeup(). The method serialize is called whenever an instance needs to be serialized. This does not invoke __destruct() or has any other side effect unless programmed inside the method. When the data is unserialized the class is known and the appropriate unserialize() method is called as a constructor instead of calling __construct(). If you need to execute the standard constructor you may do so in the method.

Interface synopsis

Serializable
Serializable {
/* Methods */
abstract public string serialize ( void )
abstract public mixed unserialize ( string $serialized )
}

Пример #1 Basic usage

<?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);

$newobj = unserialize($ser);

var_dump($newobj->getData());
?>

Результатом выполнения данного примера будет что-то подобное:

string(15) "My private data"

Содержание

  • Serializable::serialize — String representation of object
  • Serializable::unserialize — Constructs the object
ArrayAccess::offsetUnset
Serializable::serialize
Predefined Interfaces


String representation of object

Serializable
Serializable::unserialize
Serializable
PHP Manual

Serializable::serialize

(PHP 5 >= 5.1.0)

Serializable::serialize — String representation of object

Описание

abstract public string Serializable::serialize ( void )

Should return the string representation of the object.

Замечание: This method acts as the destructor of the object. The __destruct() method will not be called after this method.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the string representation of the object or NULL

Errors/Exceptions

Throws Exception when returning other types then strings and NULL

Смотрите также

  • __sleep()

Serializable
Serializable::unserialize
Serializable


Constructs the object

Serializable::serialize
Context options and parameters
Serializable
PHP Manual

Serializable::unserialize

(PHP 5 >= 5.1.0)

Serializable::unserialize — Constructs the object

Описание

abstract public mixed Serializable::unserialize ( string $serialized )

Called during unserialization of the object.

Замечание: This method acts as the constructor of the object. The __construct() method will not be called after this method.

Список параметров

serialized

The string representation of the object.

Возвращаемые значения

Returns the original value unserialized.

Смотрите также

  • __wakeup()

Serializable::serialize
Context options and parameters
Serializable


Context options and parameters

PHP offers various context options and parameters which can be used with all
filesystem and stream wrappers. The context is created with
stream_context_create(). Options are set with
stream_context_set_option() and parameters with
stream_context_set_params().

Содержание

  • Socket context options — Socket context option listing
  • HTTP context options — HTTP context option listing
  • FTP context options — FTP context option listing
  • SSL context options — SSL context option listing
  • CURL context options — CURL context option listing
  • Phar context options — Phar context option listing
  • Context parameters — Context parameter listing
Serializable::unserialize
Socket context options
Справочник языка


Socket context option listing

Context options and parameters
HTTP context options
Context options and parameters
PHP Manual

Socket context options

Socket context options — Socket context option listing

Описание

Socket context options are available for all wrappers that work over sockets, like tcp, http and ftp.

Options

bindto

Used to specify the IP address (either IPv4 or IPv6) and/or the port number that PHP will use to access the network. The syntax is ip:port. Setting the IP or the port to 0 will let the system choose the IP and/or port.

Замечание: As FTP creates two socket connections during normal operation, the port number cannot be specified using this option.

Список изменений

Версия | Описание
5.1.0 | Added bindto.

Примеры

Пример #1 Basic bindto usage example

<?php
// connect to the internet using the '192.168.0.100' IP
$opts = array(
    'socket' => array(
        'bindto' => '192.168.0.100:0',
    ),
);

// connect to the internet using the '192.168.0.100' IP and port '7000'
$opts = array(
    'socket' => array(
        'bindto' => '192.168.0.100:7000',
    ),
);

// connect to the internet using port '7000'
$opts = array(
    'socket' => array(
        'bindto' => '0:7000',
    ),
);

// create the context...
$context = stream_context_create($opts);

// ...and use it to fetch the data
echo file_get_contents('http://www.example.com', false, $context);

?>

Context options and parameters
HTTP context options
Context options and parameters


HTTP context option listing

Socket context options
FTP context options
Context options and parameters
PHP Manual

HTTP context options

HTTP context options — HTTP context option listing

Описание

Context options for http:// and https:// transports.

Options

method string

GET, POST, or any other HTTP method supported by the remote server.

Defaults to GET.

header string

Additional headers to be sent during request. Values in this option will override other values (such as User-agent:, Host:, and Authentication:).

user_agent string

Value to send with User-Agent: header. This value will only be used if user-agent is not specified in the header context option above.

By default the user_agent php.ini setting is used.

content string

Additional data to be sent after the headers. Typically used with POST or PUT requests.

proxy string

URI specifying address of proxy server. (e.g. tcp://proxy.example.com:5100).

request_fulluri boolean

When set to TRUE, the entire URI will be used when constructing the request. (i.e. GET http://www.example.com/path/to/file.html HTTP/1.0). While this is a non-standard request format, some proxy servers require it.

Defaults to FALSE.

max_redirects integer

The max number of redirects to follow. Value 1 or less means that no redirects are followed.

Defaults to 20.

protocol_version float

HTTP protocol version.

Defaults to 1.0.

Замечание: PHP prior to 5.3.0 does not implement chunked transfer decoding. If this value is set to 1.1 it is your responsibility to be 1.1 compliant.

timeout float

Read timeout in seconds, specified by a float (e.g. 10.5).

By default the default_socket_timeout php.ini setting is used.

ignore_errors boolean

Fetch the content even on failure status codes.

Defaults to FALSE

Список изменений

Версия | Описание
5.3.0 | Added ignore_errors .
5.2.1 | Added timeout .
5.2.10 | The header can now be an numerically indexed array.
5.1.0 | Added HTTPS proxying through HTTP proxies.
5.1.0 | Added max_redirects .
5.1.0 | Added protocol_version .

Примеры

Пример #1 Fetch a page and send POST data

<?php

$postdata = http_build_query(
    array(
        'var1' => 'some content',
        '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);

?>

Примечания

Замечание: Underlying socket stream context options
Additional context options may be supported by the underlying transport For http:// streams, refer to context options for the tcp:// transport. For https:// streams, refer to context options for the ssl:// transport.

Смотрите также

  • Socket context options
  • SSL context options

Socket context options
FTP context options
Context options and parameters


FTP context option listing

HTTP context options
SSL context options
Context options and parameters
PHP Manual

FTP context options

FTP context options — FTP context option listing

Описание

Context options for ftp:// and ftps:// transports.

Options

overwrite boolean

Allow overwriting of already existing files on remote server. Applies to write mode (uploading) only.

Defaults to FALSE.

resume_pos integer

File offset at which to begin transfer. Applies to read mode (downloading) only.

Defaults to 0 (Beginning of File).

proxy string

Proxy FTP request via http proxy server. Applies to file read operations only. Ex: tcp://squid.example.com:8000.

Список изменений

Версия | Описание
5.1.0 | Added proxy .
5.0.0 | Added overwrite and resume_pos .

Примечания

Замечание: Underlying socket stream context options
Additional context options may be supported by the underlying transport For ftp:// streams, refer to context options for the tcp:// transport. For ftps:// streams, refer to context options for the ssl:// transport.

Смотрите также

  • Socket context options
  • SSL context options

HTTP context options
SSL context options
Context options and parameters


SSL context option listing

FTP context options
CURL context options
Context options and parameters
PHP Manual

SSL context options

SSL context options — SSL context option listing

Описание

Context options for ssl:// and tls:// transports.

Options

verify_peer boolean

Require verification of SSL certificate used.

Defaults to FALSE.

allow_self_signed boolean

Allow self-signed certificates.

Defaults to FALSE

cafile string

Location of Certificate Authority file on local filesystem which should be used with the verify_peer context option to authenticate the identity of the remote peer.

capath string

If cafile is not specified or if the certificate is not found there, the directory pointed to by capath is searched for a suitable certificate. capath must be a correctly hashed certificate directory.

local_cert string

Path to local certificate file on filesystem. It must be a PEM encoded file which contains your certificate and private key. It can optionally contain the certificate chain of issuers.

passphrase string

Passphrase with which your local_cert file was encoded.

CN_match string

Common Name we are expecting. PHP will perform limited wildcard matching. If the Common Name does not match this, the connection attempt will fail.

verify_depth integer

Abort if the certificate chain is too deep.

Defaults to no verification.

ciphers string

Sets the list of available ciphers. The format of the string is described in » ciphers(1).

Defaults to DEFAULT.

capture_peer_cert boolean

If set to TRUE a peer_certificate context option will be created containing the peer certificate.

capture_peer_chain boolean

If set to TRUE a peer_certificate_chain context option will be created containing the certificate chain.

Список изменений

Версия | Описание
5.0.0 | Added capture_peer_cert , capture_peer_chain and ciphers .

Примечания

Замечание: Because ssl:// is the underlying transport for the https:// and ftps:// wrappers, any context options which apply to ssl:// also apply to https:// and ftps://.

Смотрите также

  • Socket context options

FTP context options
CURL context options
Context options and parameters


CURL context option listing

SSL context options
Phar context options
Context options and parameters
PHP Manual

CURL context options

CURL context options — CURL context option listing

Описание

CURL context options are available when the CURL extension was compiled using the --with-curlwrappers configure option.

Options

method string

GET, POST, or any other HTTP method supported by the remote server.

Defaults to GET.

header string

Additional headers to be sent during request. Values in this option will override other values (such as User-agent:, Host:, and Authentication:).

user_agent string

Value to send with User-Agent: header.

By default the user_agent php.ini setting is used.

content string

Additional data to be sent after the headers. This option is not used for GET or HEAD requests.

proxy string

URI specifying address of proxy server. (e.g. tcp://proxy.example.com:5100).

max_redirects integer

The max number of redirects to follow. Value 1 or less means that no redirects are followed.

Defaults to 20.

curl_verify_ssl_host boolean

Verify the host.

Defaults to FALSE

Замечание: This option is available for both the http and ftp protocol wrappers.

curl_verify_ssl_peer boolean

Require verification of SSL certificate used.

Defaults to FALSE

Замечание: This option is available for both the http and ftp protocol wrappers.

Примеры

Пример #1 Fetch a page and send POST data

<?php

$postdata = http_build_query(
    array(
        'var1' => 'some content',
        '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);

?>

Смотрите также

  • Socket context options

SSL context options
Phar context options
Context options and parameters


Phar context option listing

CURL context options
Context parameters
Context options and parameters
PHP Manual

Phar context options

Phar context options — Phar context option listing

Описание

Context options for phar:// wrapper.

Options

compress int

One of Phar compression constants.

metadata mixed

Phar metadata. See Phar::setMetadata().

Смотрите также

  • Phar context options
  • Phar stream wrapper

CURL context options
Context parameters
Context options and parameters


Context parameter listing

Phar context options
Безопасность
Context options and parameters
PHP Manual

Context parameters

Context parameters — Context parameter listing

Описание

These parameters can be set on a context using the stream_context_set_params() function.

Options

notification callback

A callback to be called when an event occurs on a stream.

See stream_notification_callback() for more details.

Phar context options
Безопасность
Context options and parameters


Безопасность

  • Вступление
  • Общие рассуждения
  • Если PHP установлен как CGI
    • Возможные атаки
    • Вариант 1: обслуживаются только общедоступные файлы
    • Вариант 2: использование --enable-force-cgi-redirect
    • Вариант 3: использование опций doc_root и user_dir
    • Вариант 4: PHP вне дерева веб-документов
  • Если PHP установлен как модуль Apache
  • Безопасность файловой системы
  • Безопасность баз данных
    • Проектирование базы данных
    • Соединение с базой данных
    • Защита хранилища базы данных
    • SQL-инъекции
  • Сообщения об ошибках
  • Использование глобальных переменных (Register_Globals)
  • Данные, введенные пользователем
  • Волшебные кавычки
    • Что такое волшебные кавычки?
    • Зачем использовать волшебные кавычки?
    • Почему не надо использовать волшебные кавычки
    • Отключение волшебных кавычек
  • Сокрытие PHP
  • Необходимость обновлений
Context parameters
Вступление
Руководство по PHP


Вступление

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

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

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

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

Безопасность
Общие рассуждения
Безопасность


Общие рассуждения

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

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

Следует помнить хорошую поговорку: надежность системы определяется ее самым слабым звеном. Например, если все транзакции логируются по времени, месторасположению, типу транзакции и ряду других параметров, но авторизация пользователя происходит всего лишь по куке (cookie), то связь конкретной записи в логе с пользователем системы весьма сомнительна.

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

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

Вступление
Если PHP установлен как CGI
Безопасность


Если PHP установлен как CGI

Содержание

  • Возможные атаки
  • Вариант 1: обслуживаются только общедоступные файлы
  • Вариант 2: использование --enable-force-cgi-redirect
  • Вариант 3: использование опций doc_root и user_dir
  • Вариант 4: PHP вне дерева веб-документов
Общие рассуждения
Возможные атаки
Безопасность


Возможные атаки

Использование PHP как бинарного CGI-приложения является одним из вариантов, когда по каким-либо причинам нежелательно интегрировать PHP в веб-сервер (например Apache) в качестве модуля, либо предполагается использование таких утилит, как 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, указывая во время компиляции опцию --enable-force-cgi-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: использование --enable-force-cgi-redirect
Если PHP установлен как CGI


Вариант 2: использование --enable-force-cgi-redirect

Эта опция, указываемая во время сборки PHP, предотвращает вызов скриптов непосредственно по адресу вида http://my.host/cgi-bin/php/secretdir/script.php. Вместо этого, PHP будет обрабатывать пришедший запрос только в том случае, если он был перенаправлен веб-сервером.

Обычно перенаправление в веб-сервере 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 (да, имя директории начинается с символа ~).

Но если переменной 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: использование --enable-force-cgi-redirect
Вариант 4: PHP вне дерева веб-документов
Если PHP установлен как CGI


Вариант 4: PHP вне дерева веб-документов

Один из способов существенно повысить уровень безопасности - поместить исполняемый модуль PHP вне дерева веб-документов, например в /usr/local/bin. Единственным недостатком такого подхода является то, что первая строка каждого скрипта должна иметь вид:

#!/usr/local/bin/php

Также необходимо сделать все файлы скриптов исполняемыми. Таким образом, скрипт будет рассматриваться так же, как и любое другое CGI-приложение, написанное на Perl, sh или любом другом скриптовом языке, который использует дописывание #! в начало файла для запуска самого себя.

Что бы внутри скрипта вы могли получить корректные значения переменных PATH_INFO и PATH_TRANSLATED, PHP должен быть сконфигурирован с опцией --enable-discard-path.

Вариант 3: использование опций doc_root и user_dir
Если PHP установлен как модуль Apache
Если PHP установлен как CGI


Если PHP установлен как модуль Apache

Когда PHP используется как модуль Apache, он наследует права пользователя, с которыми был запущен веб-сервер (обычно это пользователь 'nobody'). Это влияет на обеспечение безопасности и реализацию авторизации. Например, если вы используете базу данных, которая не имеет встроенного механизма разграничения доступа, вам прийдется обеспечить доступ к БД для пользователя 'nobody'. В таком случае зловредный скрипт может получить доступ к базе данных и модифицировать ее, даже не зная логина и пароля. Вполне возможна ситуация, когда веб-паук неверными запросами страницы администратора базы данных уничтожит все данные или даже структуру БД. Вы можете избежать такой ситуации при помощи авторизации Apache или разработав собственную модель доступа, используя LDAP, файлы .htaccess или любые другие технологии, внедряя соответствующий код в ваши скрипты.

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

Распространенной ошибкой является запуск Apache с правами суперпользователя или любое другое расширение полномочий веб-сервера.

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

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

Вариант 4: PHP вне дерева веб-документов
Безопасность файловой системы
Безопасность


Безопасность файловой системы

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

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

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

Пример #1 Недостаточная проверка внешних данных.

<?php
// Удаление файла из домашней директории пользователя
$username = $_POST['user_submitted_name'];
$homedir = "/home/$username";
$file_to_delete = "$userfile";
unlink ("$homedir/$userfile");
echo "$file_to_delete has been deleted!";
?>

Поскольку переменные вводятся в пользовательской форме, существует возможность удалить файлы, принадлежащие кому-либо другому, введя соответствующие значения. В этом случае может понадобиться авторизация. Посмотрим, что произойдет, если будут отправлены значения "../etc/" и "passwd". Скрипт выполнит следующие действия:

Пример #2 Атака на файловую систему

<?php
// Удаление любого файла, доступного из PHP-скрипта.
// В случае, если PHP работает с правами пользователя root:
$username = "../etc/";
$homedir = "/home/../etc/";
$file_to_delete = "passwd";
unlink ("/home/../etc/passwd");
echo "/home/../etc/passwd has been deleted!";
?>

Cуществуют два решения описанной проблемы.

  • Ограничить доступ пользователя, с правами которого работает веб-сервер.
  • Проверять все данные, вводимые пользователем.

Вот улучшеный вариант кода:

Пример #3 Более безопасная проверка имени файла

<?php
// Удаление любого файла, доступного из PHP-скрипта.
$username = $_SERVER['REMOTE_USER']; // использование авторизации

$homedir = "/home/$username";

$file_to_delete = basename("$userfile"); // усечение пути
unlink ($homedir/$file_to_delete);

$fp = fopen("/home/logging/filedelete.log","+a"); //логируем удаление
$logstring = "$username $homedir $file_to_delete";
fwrite ($fp, $logstring);
fclose($fp);

echo "$file_to_delete has been deleted!";
?>

Однако и такая проверка не учитывает все возможные ситуации. Если система авторизации позволяет пользователям выбирать произвольные логины, вломщик может создать учетную запись вида "../etc/" и система опять окажется уязвимой. Исходя из этого, вам может понадобиться более строгая проверка:

Пример #4 Более строгая проверка имени файла

<?php
$username = $_SERVER['REMOTE_USER']; // использование авторизации
$homedir = "/home/$username";

if (!ereg('^[^./][^/]*$', $userfile))
     die('bad filename'); //завершение работы

if (!ereg('^[^./][^/]*$', $username))
     die('bad username'); //завершение работы
//etc...
?>

В зависимости от используемой вами операционной системы необходимо предусматривать возможность атаки на разнообразные файлы, включая системные файлы устройств (/dev/ или COM1), конфигурационные файлы (например /etc/ или файлы с расширением .ini), хорошо известные области хранения данных (/home/, My Documents), и так далее. Исходя из этого, как правило, легче реализовать такую политику безопасности, в которой запрещено все, исключая то, что явно разрешено.

Если PHP установлен как модуль Apache
Безопасность баз данных
Безопасность


Безопасность баз данных

Содержание

  • Проектирование базы данных
  • Соединение с базой данных
  • Защита хранилища базы данных
  • SQL-инъекции

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

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

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

Запомните простое правило: максимальная защита. Чем больше потенциально опасных участков системы вы проработаете, тем сложнее будет потенциальному взломщику получить доступ к базе данных или повредить ее. Хороший дизайн базы данных и программных приложений поможет вам справиться с вашими страхами.

Безопасность файловой системы
Проектирование базы данных
Безопасность


Проектирование базы данных

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

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

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

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

Безопасность баз данных
Соединение с базой данных
Безопасность баз данных


Соединение с базой данных

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

Проектирование базы данных
Защита хранилища базы данных
Безопасность баз данных


Защита хранилища базы данных

SSL/SSH защищает данные, которыми обмениваются клиент и сервер, но не защищают сами данные, хранимые в базе данных. SSL - протокол шифрования на уровне сеанса передачи данных.

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

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

В случае работы со скрытыми служебными данными их нешифрованное представление не требуется (т.е. не отображается), и, как следствие, можно использовать хеширование. Хорошо известный пример хэширования - хранение MD5-хеша от пароля в БД, вместо хранения оригинального значения. Более детальная информация доступна в описании функций crypt() and md5().

Пример #1 Использование хешированных паролей

<?php
// сохранение хешированного пароля
$query  = sprintf("INSERT INTO users(name,pwd) VALUES('%s','%s');",
            addslashes($username), md5($password));
$result = pg_exec($connection, $query);

// проверка введенного пользователем логина и пароля на корректность
$query = sprintf("SELECT 1 FROM users WHERE name='%s' AND pwd='%s';",
            addslashes($username), md5($password));
$result = pg_exec($connection, $query);

if (pg_numrows($result) > 0) {
    echo "Welcome, $username!";
}
else {
    echo "Authentication failed for $username.";
}
?>
Соединение с базой данных
SQL-инъекции
Безопасность баз данных


SQL-инъекции

Многие веб-разработчики даже не догадываются, что SQL-запросы могут быть подделаны, и считают, что SQL-запросы всегда достоверны. На самом деле поддельные запросы могут обойти ограничения доступа, стандартную проверку авторизации, а некоторые виды запросов могут дать возможность выполнять команды операционной системы.

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

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

Пример #1 Постраничный вывод результата... и создание суперпользователя в PostgreSQL и MySQL

<?php
$offset = argv[0]; // проверка пользовательских данных отсутствует
$query  = "SELECT id, name FROM products ORDER BY name LIMIT 20 OFFSET $offset;";
// используя PostgreSQL
$result = pg_exec($conn, $query);
// используя MySQL
$result = mysql_query($query);
?>

Обычно пользователи кликают по ссылкам 'вперед' и 'назад', вследствии чего значение переменной $offset заносится в адресную строку. Скрипт ожидает, что $offset - десятиричное число. Однако, взломщик может попытаться взломать систему, присоединив к строке запроса дополнительную подстроку, обработанную функцией urlencode():

// используя PostgreSQL
0;
insert into pg_shadow(usename,usesysid,usesuper,usecatupd,passwd)
    select 'crack', usesysid, 't','t','crack'
    from pg_shadow where usename='postgres';
--

// используя MySQL
0;
UPDATE user SET Password=PASSWORD('crack') WHERE user='root';
FLUSH PRIVILEGES;

Если это произойдет, скрипт предоставит взломщику доступ к базе с правами суперпользователя. Заметим, что 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);
?>

Статическая часть запроса может комбинироваться с другим SQL-запросом, который откроет все пароли:

'
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)

$query  = "SELECT * FROM products WHERE id LIKE '%$prod%'";
$result = mssql_query($query);

Если взломщик введет значениме a%' exec master..xp_cmdshell 'net user test testpass /ADD' -- для переменной $prod, тогда запрос $query будет выглядеть так:

$query  = "SELECT * FROM products
                    WHERE id LIKE '%a%'
                    exec master..xp_cmdshell 'net user test testpass /ADD'--";
$result = mssql_query($query);

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

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

Способы защиты

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

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

  • Старайтесь не открывать соединение с базой, используя учетную запись владельца или администратора. Всегда старайтесь использовать специально созданных пользователей с максимально ограниченными правами.
  • Всегда проверяйте введенные данные на соответствие ожидаемому типу. В PHP есть множество функций для проверки данных: начиная от простейших Функций для работы с переменными и Функции определения типа символов (такие как is_numeric(), ctype_digit()) и заканчивая Perl-совместимыми регулярными выражениями.

  • В случае, если приложение ожидает цифровой ввод, примените функцию is_numeric() для проверки введенных данных, или принудительно укажите их тип при помощи settype(), или просто используйте числовое представление при помощи функции sprintf().

    Пример #5 Более безопасная реализация постраничной навигации

    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);

  • Экранируйте любой нецифровой ввод, используемый в запросах к БД при помощи функций addslashes() или addcslashes(). Обратите внимание на первый пример. Следует помнить, что одного использования кавычек в запросе мало, это легко обойти.
  • Не выводите никакой информации о БД, особенно о ее структуре. Также ознакомьтесь с соответствующими разделами документации: Сообщения об ошибках и Функции обработки и логирования ошибок.
  • Вы можете использовать хранимые процедуры и заранее определенные курсоры для абстрагированной работы с данными, не предоставляя пользователям прямого доступа к данным и представлениям, но это решение имеет свои особенности.

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

Защита хранилища базы данных
Сообщения об ошибках
Безопасность баз данных


Сообщения об ошибках

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

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

Пример #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 для создания собственного обработчика ошибок. В зависимости от используемой вами политики безопасности вы можете применять в вашей конкретной ситуации все три способа.

Один из возможных способов обезопасить ваш код перед его публикацией для общего доступа - индивидуальное использование error_reporting(), чтобы выявить потенциально опасные переменные. Тестируя код перед выпуском релиза при помощи значения E_ALL, вы достаточно легко можете обнаружить участки кода, в которых переменные могут быть подменены либо модифицированы. После окончания тестирования, установив значение E_NONE, вы можете полностью отключить вывод сообщений об ошибках.

Пример #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 стала замена значения по умолчанию для опции register_globals с ON на OFF в версии » 4.2.0. Большинство пользователей доверились разработчикам, даже не зная, что это за опция и как она влияет на работу PHP. Эта страница документации призвана показать, как эта настройка сочетается с вопросами безопасности при разработке приложений. Следует понимать, что сама по себе эта опция никак не влияет на безопасность, ургозу представляет некорректное использование предоставляемых ею возможностей.

В случае, если значение параметра register_globals ON, перед выполнением вашего кода будут инициализированы различные переменные, например, переменные, переданные при отправке формы. Также, учитывая тот факт, что 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 в приведенном ниже примере, но тогда у нас не будет уверенности в достоверности ее значения (к примеру, она могла быть передана в GET-запросе).

Пример #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.

Замечание: Суперглобальные переменные: замечание о доступности
Начиная с 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 и некоторых других, которые могут приводить к сомнениям относительно происхождения или значения получаемых переменных. Использование при написании кода режима error_reporting(E_ALL) может помочь, предупреждая вас об использовании переменных до инициализации или проверки (что предотвратит работу с данными, отличныи от ожидаемых).

Использование глобальных переменных (Register_Globals)
Волшебные кавычки
Безопасность


Волшебные кавычки

Содержание

  • Что такое волшебные кавычки?
  • Зачем использовать волшебные кавычки?
  • Почему не надо использовать волшебные кавычки
  • Отключение волшебных кавычек
Внимание

This feature has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 6.0.0. Relying on this feature is highly discouraged.

Волшебные кавычки (Magic Quotes) - это процесс автоматического экранирования входящих данных PHP скрипта. Желательно отключать директиву magic quotes и вместо этого экранировать данные в процессе разработки, если это необходимо.

Данные, введенные пользователем
Что такое волшебные кавычки?
Безопасность


Что такое волшебные кавычки?

Это когда все символы ' (одиночные кавычки), " (двойные кавычки), \ (обратный слэш) и 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 с целью осуществления помощи начинающим программистам в написании кода, который будет устойчив к опасностям. Хотя SQL инъекции до сих пор возможны при включенной директиве magic quotes, риск все же будет меньше.
  • Удобство При вставке данных в базу данных, волшебные кавычки преимущественно выполняют addslashes() для всех данных из Get, Post, и Cookie; и это происходит автоматически.
Что такое волшебные кавычки?
Почему не надо использовать волшебные кавычки
Волшебные кавычки


Почему не надо использовать волшебные кавычки

  • Переносимость Возможность присваивания значений on или off сказывается на переносимости. Используйте get_magic_quotes_gpc() для проверки и пишите код соответствующим образом.
  • Производительность Так как не все данные заносятся в базу данных, то присутствует потеря производительности при экранировании всех данных. Простой вызов экранирующих функций (например, addslashes()) во время выполнения более эффективен. Хотя php.ini-dist включает эти директивы по умолчанию, php.ini-recommended отключает их. Эта рекомендация соответствует, в основном, по причинам производительности.
  • Неудобство Так как не все данные должны быть экранированы, то часто досадно видеть экранированные данные там, где этого не должно быть. Например, при отправке письма из формы можно наблюдать связку \' в самом письме. Для того, чтобы это исправить, требуется дополнительно использовать 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()) {
    function stripslashes_deep($value)
    {
        $value = is_array($value) ?
                    array_map('stripslashes_deep', $value) :
                    stripslashes($value);

        return $value;
    }

    $_POST = array_map('stripslashes_deep', $_POST);
    $_GET = array_map('stripslashes_deep', $_GET);
    $_COOKIE = array_map('stripslashes_deep', $_COOKIE);
    $_REQUEST = array_map('stripslashes_deep', $_REQUEST);
}
?>

Почему не надо использовать волшебные кавычки
Сокрытие 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
  • Sessions
  • Работа с XForms
  • Загрузка файлов на сервер
    • Загрузка файлов методом POST
    • Разъяснение сообщений об ошибках
    • Наиболее распространенные ошибки
    • Загрузка на сервер нескольких файлов
    • Поддержка метода PUT
  • Работа с удаленными файлами
  • Работа с соединениями
  • Постоянные соединения с базами данных
  • Защищенный режим
    • Безопасность и защищенный режим
    • Ограниченные или недоступные в защищенном режиме функции
  • Использование PHP в командной строке
Необходимость обновлений
HTTP-Аутентификация в PHP
Руководство по PHP


HTTP-Аутентификация в PHP

HTTP-Аутентификация в PHP возможна только в том случае, когда он выполняется как модуль веб-сервера Apache, и, соответственно, недоступна для CGI-версии. Ваш скрипт может использовать функцию header() для того, чтобы отправить браузеру клиента сообщение "Authentication Required", что в свою очередь приведет к появлению диалогового окна для ввода имени пользователя и пароля. После того как клиент ввел свое имя и пароль, скрипт будет вызван повторно, но уже с предопределенными переменными PHP_AUTH_USER, PHP_AUTH_PW и AUTH_TYPE, которые соответственно содержат имя пользователя, пароль и тип аутентификации. Эти переменные могут быть найдены в массиве $_SERVER и $HTTP_SERVER_VARS. В настоящее время поддерживается только "Basic"-аутентификация. Также вы можете ознакомится с более детальным описанием функции header().

Замечание: Замечание касательно версии PHP
Cуперглобальные переменные, такие как $_SERVER, доступны, начиная с » 4.1.0. Массив $HTTP_SERVER_VARS доступен в PHP 3 и выше.

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

Пример #1 Пример 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>";
  }
?>

Замечание: Замечание касательно совместимости
Будьте особенно внимательны при указании HTTP-заголовков. Для того, чтобы гарантировать максимальную совместимость с наибольшим количеством различных клиентов, слово "Basic" должно быть написано с большой буквы "B", регион (realm) должен быть взят в двойный (не одинарные!) кавычки, и ровно один пробел должен предшествовать коду 401 в заголовке HTTP/1.0 401.

Вместо простого отображения на экране переменных 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) при получении от сервера. Это может использоваться для реализации принудительного выхода пользователя и повторного отображения диалогового окна для ввода имени пользователя и пароля. Некоторые разработчики используют это для ограничения авторизации по времени или для предоставления кнопки "Выход".

Пример #2 Пример 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>Добро пожаловать: {$_SERVER['PHP_AUTH_USER']}<br />";
   echo "Предыдущий логин: {$_REQUEST['OldAuth']}";
   echo "<form action='{$_SERVER['PHP_SELF']}' METHOD='post'>\n";
   echo "<input type='hidden' name='SeenBefore' value='1' />\n";
   echo "<input type='hidden' name='OldAuth' value='{$_SERVER['PHP_AUTH_USER']}' />\n";
   echo "<input type='submit' value='Авторизоваться повторно' />\n";
   echo "</form></p>\n";
  }
?>

Это поведение не регламентируется стандартами HTTP Basic-аутентификации, следовательно, вы не должны зависеть от этого. Как показали тесты, браузер 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_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 или других HTTP-заголовков.

Любые cookies, отправленные серверу броузером клиента, будут автоматически преобразованы в переменные PHP, подобно данным методов GET и POST. На этот процесс влияют конфигурационные директивы register_globals и variables_order . Для назначения нескольких значений одной cookie, просто добавьте [] к её имени.

В PHP 4.1.0 и выше, глобальный массив $_COOKIE всегда автоматически заполняется значениями полученных cookies. В более ранних версиях определяется массив $HTTP_COOKIE_VARS но только когда включена директива track_vars. (Эта директива всегда включена начиная с PHP 4.0.3.)

Дополнительная информация, в том числе и об особенностях реализации броузеров, приведена в описании функций setcookie() и setrawcookie().

HTTP-Аутентификация в PHP
Sessions
Отличительные особенности


Sessions

Session support in PHP consists of a way to preserve certain data across subsequent accesses. This enables you to build more customized applications and increase the appeal of your web site. All information is in the Session reference section.

Cookies
Работа с XForms
Отличительные особенности


Работа с XForms

» XForms являются альтернативой традиционным веб-формам, и позволяют использовать их на множестве платформ и браузеров, а также реализовывать нестандартные представления форм, например, в виде PDF-документа.

Первое существенное отличие XForms заключается в том, как форма отсылается клиенту. Руководство » XForms для HTML-верстальщиков содержит детальное описание создания 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" xml: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 или парсером XML.

Если XML-разметка вас не интересует, и вы хотите, чтобы передаваемые данные были помещены в стандартный массив $_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" xml: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. Если приведенные примеры потерпели неудачу, проверьте версию используемого вами браузера.

Sessions
Загрузка файлов на сервер
Отличительные особенности


Загрузка файлов на сервер

Содержание

  • Загрузка файлов методом POST
  • Разъяснение сообщений об ошибках
  • Наиболее распространенные ошибки
  • Загрузка на сервер нескольких файлов
  • Поддержка метода PUT
Работа с XForms
Загрузка файлов методом POST
Отличительные особенности


Загрузка файлов методом POST

PHP способен принимать файл загружаемый при помощи любого браузера, поддерживающего стандарт RFC-1867 (в том числе Netscape Navigator 3 и выше, Microsoft Internet Explorer 3 с патчем от Microsoft или более поздние версии без патча). Это дает возможность загружать как текстовые, так и бинарные файлы. Вместе с PHP-аутентификацией и функциями для работы с файловой системой вы получаете полный контроль над тем, кому разрешено загружать файлы, и над тем, что делать с файлом после его загрузки.

Замечание: Смежные замечания по конфигурации
Также ознакомьтесь с описанием директив file_uploads, upload_max_filesize, upload_tmp_dir, max_input_time и post_max_size конфигурационного файла php.ini

Также следует заметить, что PHP поддерживает загрузку файлов методом PUT, который используется в клиентах Netscape Composer и W3C Amaya. Для получения более детальной документации обратитесь к разделу поддержка метода PUT

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

Пример #1 Форма для загрузки файлов

<form enctype="multipart/form-data" action="_URL_" method="post">
 <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
 Отправить этот файл: <input name="userfile" type="file" />
 <input type="submit" value="Send File" />
</form>

В приведенном выше примере "_URL_" необходимо заменить ссылкой на PHP-скрипт. Скрытое поле MAX_FILE_SIZE(значение необходимо указывать в байтах) должно предшествовать полю для выбора файла, и его значение является максимально допустимым размером принимаемого файла. Также следует убедиться, что в атрибутах формы вы указали enctype="multipart/form-data", в противном случае загрузка файлов на сервер выполняться не будет.

Внимание

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

Переменные, определенные для загруженных файлов, зависят от версии PHP и текущей конфигурации. Суперглобальный массив $_FILES доступен начиная с PHP 4.1.0. Массив $HTTP_POST_FILES доступен начиная с PHP 4.0.0. Эти массивы содержат всю информацию о загруженных файлах. Использование $_FILES является более предпочтительным. В случае, если конфигурационная директива register_globals установлена значением on, дополнительно будут объявлены переменные с соответствующими именами. Начиная с версии » 4.2.0 значением по умолчанию для опции register_globals является off.

Содержимое массива $_FILES для нашего примера приведено ниже. Обратите внимание, что здесь предполагается использование имени userfile для поля выбора файла, как и в приведенном выше примере. На самом деле имя поля может быть любым.

$_FILES['userfile']['name']

Оригинальное имя файла на компьютере клиента.

$_FILES['userfile']['type']

Mime-тип файла, в случае, если браузер предоставил такую информацию. Пример: "image/gif".

$_FILES['userfile']['size']

Размер в байтах принятого файла.

$_FILES['userfile']['tmp_name']

Временное имя, с которым принятый файл был сохранен на сервере.

$_FILES['userfile']['error']

Код ошибки, которая может возникнуть при загрузке файла. Ключ ['error'] был добавлен в PHP 4.2.0

Замечание: В PHP 4.1.0 и более ранних версиях описанный выше массив назывался $HTTP_POST_FILES и не являлся суперглобальным, в отличие от $_FILES. В PHP 3 массив $HTTP_POST_FILES не определен.

В случае, если register_globals установлена значением on в конфигурационном файле php.ini, будут доступны дополнительные переменные. Например, $userfile_name будет эквивалентна переменной $_FILES['userfile']['name'], а $userfile_type соответствует $_FILES['userfile']['type'], и так далее. Не стоит забывать, что начиная с PHP 4.2.0 для директивы register_globals значение по умолчанию off. Рекомендуется не полагаться на значение этой директивы.

По умолчанию принятые файлы сохраняются на сервере в стандартной временной папке до тех пор, пока не будет задана другая директория при помощи директивы upload_tmp_dir конфигурационного файла php.ini. Директорию сервера по умолчанию можно сменить, установив переменную TMPDIR для окружения, в котором выполняется PHP. Установка переменной TMPDIR при помощи функции 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']);

print "<pre>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    print "File is valid, and was successfully uploaded. ";
    print "Here's some more debugging info:\n";
    print_r($_FILES);
} else {
    print "Possible file upload attack!  Here's some debugging info:\n";
    print "Possible file upload attack!  Дополнительная отладочная информация:\n";
    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.

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

Загрузка файлов на сервер
Разъяснение сообщений об ошибках
Загрузка файлов на сервер


Разъяснение сообщений об ошибках

Начиная с 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; Файл не был загружен.

Замечание: Константы были добавлены в PHP 4.3.0.

Загрузка файлов методом POST
Наиболее распространенные ошибки
Загрузка файлов на сервер


Наиболее распространенные ошибки

Опция MAX_FILE_SIZE не должна позволять передачу файлов, размер которых превышает лимит, установленный конфигурационной директивой upload_max_filesize. Ограничение по умолчанию составляет 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 достаточно велико.

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

Следут заметить, что CERN httpd может отсечь все, что идет после первого пробела в получаемом от клиента заголовке content-type. Если у вас именно такой случай, CERN httpd не будет поддерживать возможность загрузки файлов.

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

Разработчики не должны использовать одинаковые имена для полей ввода и полей выбора файла в пределах одной и той же формы (например, используя имя вида foo[]).

Разъяснение сообщений об ошибках
Загрузка на сервер нескольких файлов
Загрузка файлов на сервер


Загрузка на сервер нескольких файлов

Загрузку нескольких файлов можно реализовать используя, например, различные значения name для тега input.

Также предусмотрена возможность автоматического получения организованной в массив информации о нескольких одновременно загружаемых файлах. Для реализации такой возможности используйте тот же синтаксис отправки массива из HTML-формы, что и для множественных полей select и checkbox:

Замечание: Поддержка загрузки нескольких файлов была добавлена в PHP 3.0.10.

Пример #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 установлена значением on, также будут инициализированы сопутствующие глобальные переменные. Каждая из таких переменных будет представлять собой численно индексированный массив соответствующих значений для принятых файлов.

Например, предположим, что были загружены файлы /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] также будут инициализированы.

Наиболее распространенные ошибки
Поддержка метода PUT
Загрузка файлов на сервер


Поддержка метода PUT

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

Пример #1 Сохранение загруженного при помощи HTTP PUT файла в PHP 4

<?php
/* Данные PUT находятся в потоке stdin */
$putdata = fopen("php://stdin", "r");

/* Открываем файл для записи */
$fp = fopen("myputfile.ext", "w");

/* Читаем данные блоками размером в 1 KB и
   записываем их в файл */
while ($data = fread($putdata, 1024))
  fwrite($fp, $data);

/* Закрываем потоки */
fclose($fp);
fclose($putdata);
?>

Замечание: Вся документация, приведенная ниже, касается исключительно PHP 3.

PHP поддерживает загрузку файлов методом HTTP PUT, который используется в клиентах Netscape Composer и W3C Amaya. Запрос PUT выглядит проще, чем в случае обыкновенной загрузки файла на сервер:

PUT /path/filename.html HTTP/1.1

Такой вызов означает, что удаленный клиент хотел бы сохранить файл под именем /path/filename.html в дереве каталогов вашего веб-сервера. Очевидно, что возможность клиента автоматически перезаписывать файлы вашего веб-сервера при помощи Apache или PHP не является хорошим решением. Поэтому для того, чтобы обрабатывать такие запросы, вам необходимо указать веб-серверу PHP-скрипт, которому вы доверяете их обработку. В веб-сервере Apache вы можете сделать это, используя директиву Script. Она может находиться практически в любом месте конфигурационного файла Apache. Как правило, эта директива расположена внутри блока <Directory> или же внутри блока <Virtualhost>. Сама запись выглядит следующим образом:

Script PUT /put.php

Это указывает веб-серверу Apache на необходимость перенаправлять по указанному адресу все PUT-запросы, контекст которых совпадает с контекстом, в которым вы разместили эту строку. Предполагается, что файлы с расширением .php обрабатываются, как PHP-скрипты, и что сам PHP установлен и работает.

Внутри вашего файла put.php file вы можете поместить что-нибудь похожее на это:

<?php copy($PHP_UPLOADED_FILE_NAME, $DOCUMENT_ROOT . $REQUEST_URI); ?>

Приведенный код скопирует файл в место, запрошенное клиентом. Возможно, вы захотите выполнить какую-либо проверку и/или аутентифицировать пользователя, прежде чем выполнять копирование. Трюк состоит в том, что когда PHP видит PUT-запрос, он сохраняет полученный файл во временной папке, как и при загрузке методом POST. По окончании обработки запроса временный файл удаляется. Поэтому ваш PHP-скрипт, обрабатывающий PUT-запрос, должен скопировать куда-либо полученный файл. Имя временного файла хранится в переменной $PHP_PUT_FILENAME, а предполагаемое имя файла можно найти в переменной $REQUEST_URI (может быть другим на веб-серверах, отличных от Apache). Запрашиваемое имя файла указывается удаленным клиентом. Вы не обязаны следовать его указаниям. Например, вы можете скопировать все загруженные файлы в отдельный каталог.

Загрузка на сервер нескольких файлов
Работа с удаленными файлами
Загрузка файлов на сервер


Работа с удаленными файлами

В случае, если опция allow_url_fopen включена в конфигурационном файле php.ini, вы можете использовать HTTP и FTP ссылки в большинстве функций, принимающих в качестве параметра имя файла. Также вы можете использовать ссылки в операторах include(), include_once(), require() и require_once(). Дополнительную информацию о поддерживаемых в PHP протоколах вы можете найти в List of Supported Protocols/Wrappers.

Замечание: В 4.0.3 и более ранних версиях при сборке необходимо использовать опцию --enable-url-fopen-wrapper для активации возможности работать с удаленными файлами.

Замечание: Дистрибутивы PHP для Windows-платформ до версии 4.3 не поддерживают возможности работы с удаленными файлами для следующих операторов: include(), include_once(), require(), require_once(), и функций вида imagecreatefromXXX (GD and Image Функции).

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

Пример #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 (eregi ("<title>(.*)</title>", $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;
}
/* Запись данных. */
fputs ($file, $_SERVER['HTTP_USER_AGENT'] . "\n");
fclose ($file);
?>

Замечание: Глядя на приведенный выше пример, у вас может возникнуть идея использовать эту технику для ведения удаленного лог-файла. К сожалению, это не реализуемо, поскольку попытка записи в уже существующий удаленный файл при помощи функции fopen() приведет к ошибке. В реализации распределенного логирования, возможно, вам поможет функция syslog().

Поддержка метода PUT
Работа с соединениями
Отличительные особенности


Работа с соединениями

Замечание: Вся последующая информация применима к версиям 3.0.7 и выше.

Статус соединения сохраняется внутренними механизмами 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 или воспользовавшись функцией ignore_user_abort(). Если вы явно не указали на необходимость игнорировать разрыв соединения с клиентом, выполнение скрипта будет прервано. Исключением является тот случай, если используя register_shutdown_function(), вы указали специальную функцию, вызываемую при завершении скрипта. В таком случае после того, как пользователь нажал кнопку "Stop" в своем браузере, при первой же попытке что-либо вывести PHP обнаруживает, что соединение с клиентом было утеряно, и вызывает завершающую функцию. Эта функция также вызывается при нормальном завершении работы вашего скрипта, поэтому для того, чтобы выполнить некоторые специфические действия при отсоединении клиента, вам понадобится функция connection_aborted(), которая возвращает TRUE, если соединение было разорвано.

Выполнение вашего скрипта также может быть прервано встроенным таймером. Стандартное ограничение по времени составляет 30 секунд, изменить его можно при помощи директивы max_execution_time в конфигурационном файле php.ini. Такого же результата можно достичь, добавив php_value max_execution_time в конфигурационный файл Apache или воспользовавщись функцией set_time_limit(). При достижении скриптом временного лимита выполнение скрипта прерывается и вызывается завершающая функция, если она была указана. Уточнить причину завершения скрипта вы можете при помощи функции connection_timeout(), которая возвращает TRUE, если скрипт был прерван по достижению временного ограничения.

Единственное, что следует заметить - что оба статуса: ABORTED и TIMEOUT,- могут быть установлены одновременно. Это может произойти в том случае, если вы явно указали необходимость игнорировать отсоединение удаленного клиента. В таком случае после разрыва соединения, отметив этот факт, PHP продолжит выполнение скрипта, и при достижении временного лимита будет вызвана завершающая функция, если таковая была указана. В этой точке вы можете обнаружить, что и connection_timeout(), и connection_aborted() возвращают TRUE. Вы также можете проверить оба статуса одновременно, вызвав функцию 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 полностью аналогично рассмотренной ранее модели с использованием нескольких процессов. Следует заметить, что поддержка SAPI отсутствует в PHP 3.

Если постоянные соединения не предоставляют никакой дополнительной функциональности, чем же они тогда так хороши?

Ответ содержится в повышении эффективности. Постоянные соединения полезны в том случае, если при открытии большого количества 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(), ora_plogon(),
pfsockopen(), pg_pconnect(), и
sybase_pconnect().

Работа с соединениями
Защищенный режим
Отличительные особенности


Защищенный режим

Содержание

  • Безопасность и защищенный режим
  • Ограниченные или недоступные в защищенном режиме функции

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

Постоянные соединения с базами данных
Безопасность и защищенный режим
Отличительные особенности


Безопасность и защищенный режим

Конфигурационные опции, управляющие защищенным режимом и вопросами безопасности
Имя | Значение по умолчанию | Изменяемость
safe_mode | "0" | PHP_INI_SYSTEM
safe_mode_gid | "0" | PHP_INI_SYSTEM
safe_mode_include_dir | NULL | PHP_INI_SYSTEM
safe_mode_exec_dir | "" | PHP_INI_SYSTEM
safe_mode_allowed_env_vars | PHP_ | PHP_INI_SYSTEM
safe_mode_protected_env_vars | LD_LIBRARY_PATH | PHP_INI_SYSTEM
open_basedir | NULL | PHP_INI_SYSTEM
disable_functions | "" | PHP_INI_SYSTEM
disable_classes | "" | PHP_INI_SYSTEM

Для получения более детальной информации о константах вида PHP_INI_* ознакомьтесь с функцией ini_set().

Краткое разъяснение конфигурационных директив.

safe_mode boolean

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

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/".
safe_mode_exec_dir string

В случае, когда PHP работает в защищенном режиме, system() и другие функции для выполнения системных команд и программ отклоняют выполнение программ, находящихся вне данной директории.

safe_mode_allowed_env_vars string

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

Замечание: В случае, если этой директиве указать пустое значение, пользователь получит возможность модифицировать любую переменную окружения!

safe_mode_protected_env_vars string

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

open_basedir string

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

Каждый раз, когда скрипт пытается открыть файл, например, при помощи функции fopen() или gzopen(), проверяется месторасположение файла. В случае, если он находится вне указанного дерева директорий, PHP отказывает в открытия файла. Все символические ссылки распознаются и преобразуются, поэтому обойти это ограничение при помощи символических ссылок невозможно.

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

Опция open_basedir может быть отключена в конфигурационном файле httpd.conf (например, для некоторых виртуальных хостов) точно таким же образом как и любая другая директива: "php_admin_value open_basedir none".

Для Windows-систем разделителем списка директорий служит точка с запятой. Для всех других операционных систем в качестве разделителя используется двоеточие. В случае, если PHP работает как модуль веб-сервера Apache, все указания open_basedir для родительских директорий наследуются.

Указанное значение в действительности является префиксом, а не названием директории. Это означает, что запись "safe_mode_include_dir = /dir/incl" позволяет открывать файлы, находящиеся в директориях "/dir/include" и "/dir/incls", в случае, если они существуют. Если вы хотите указать доступ к конкретной директории, используйте завершающий слеш, например: "safe_mode_include_dir = /dir/incl/".

Замечание: Возможность работы с несколькими директориями добавлена в версии 3.0.7.

По умолчанию разрешен доступ ко всем файлам.

disable_functions string
Эта директива позволяет вам запретить некоторые функции из соображений безопасности. В качестве значения она принимает список функций, разделенных двоеточием. disable_functions не зависит от того, используется Защищенный режим или нет. Эта директива должна быть указана в php.ini. Вы не можете использовать ее, например, в httpd.conf.
disable_classes string
Эта директива позволяет вам запретить некоторые классы из соображений безопасности. В качестве значения она принимает список класов, разделенных двоеточием. disable_classes не зависит от того, используется Защищенный режим или нет. Эта директива должна быть указана в php.ini. Вы не можете использовать ее, например, в httpd.conf.

Замечание: Эта директива доступна, начиная с PHP 4.3.2

Ознакомьтесь также со следующими конфигурационными директивами: register_globals, display_errors, и log_errors

В случае, если директива safe_mode установлена значением on, 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

Защищенный режим
Ограниченные или недоступные в защищенном режиме функции
Защищенный режим


Ограниченные или недоступные в защищенном режиме функции

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

Функции, ограниченные в безопасном режиме
Функция | Ограничения
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 и выше)
Любая функция, которая использует php4/main/fopen_wrappers.c | Временно не документировано

Безопасность и защищенный режим
Использование PHP в командной строке
Защищенный режим


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

Начиная с версии 4.3.0, PHP поддерживает новый вид SAPI (интерфейс разработки серверных приложений) под названием CLI, что означает интерфейс командной строки. Как видно из названия, этот вид SAPI предназначен для разработки консольных (или даже десктопных) приложений на PHP. Имеется несколько несущественных различий между CLI SAPI и другими видами SAPI, которые будут рассмотрены в этой главе. Будет полезно заметить, что CLI и CGI - различные SAPI-интерфейсы, хотя в их поведении много общего.

Впервые в качестве эксперимента CLI SAPI был включен в релиз PHP 4.2.0, и при запуске скрипта ./configure необходимо было явно указывать опцию --enable-cli. Начиная с PHP 4.3.0, CLI SAPI не является экспериментальным, и опция сборки --enable-cli присутствует по умолчанию. Вы можете отключить CLI SAPI при помощи опции --disable-cli.

Что касается PHP 4.3.0, имя, расположение и существование бинарных модулей CLI/CGI зависит от того, как именно установлен PHP. По умолчанию при выполнении make создается как CGI, так и CLI модуль, в каталогах sapi/cgi/php и sapi/cli/php соответственно, внутри директории с исходными кодами PHP. Cледует заметить, что оба файла имеют одинаковое название: PHP. Что произойдет при выполнении make install, зависит от того, какие опции вы указали на стадии конфигурирования. В случае, если вы отдали предпочтение такому модулю SAPI как apxs, либо указали опцию --disable-cgi, модуль CLI будет скопирован в {PREFIX}/bin/php при выполнении make install, в противном случае будет скопирован CGI-модуль. Например, если при запуске скрипта ./configure вы указали опцию --with--apxs, CLI-версия будет скопирована в {PREFIX}/bin/php при выполнении make install. Если вы хотите перекрыть установленный CGI-модуль, используйте make install-cli после выполнения make install. В качестве альтернативы вы могли бы указать опцию --disable-cgi при выполнении скрипта ./configure.

Замечание: Поскольку обе опции, --enable-cli и --enable-cgi, присутствуют по умолчанию, одного присутствия строки --enable-cli при выполнении скрипта ./configure недостаточно для того, чтобы CLI-версия была установлена в {PREFIX}/bin/php при выполнении make install.

Дистрибутивы для Windows между версиями PHP 4.2.0 и PHP 4.2.3 включают в себя CLI-модуль как php-cli.exe, расположенный в той же директории, что и CGI-модуль php.exe. Начиная с PHP 4.3.0 дистрибутив для Windows влючает в себя CLI-модуль php.exe, расположенный в отдельной директории cli, полное имя - cli/php.exe. Начиная с PHP 5, CLI-модуль расположен в основной директории и называется php.exe. CGI-модуль также включен в дистрибутив под названием php-cgi.exe.

Начиная с PHP 5, в дистрибутив для Windows входит новый файл php-win.exe. Он полностью эквивалентен CLI, за исключением того, что php-win абсолютно ничего не выводит, что приводит к отстутствию консоли (окно DOS не появляется на экране). Это поведение похоже на php-gtk. При сборке из исходных кодов вам необходимо указать опцию --enable-cli-win32.

Замечание: Какой из вариантов SAPI установлен?
Выполните из командной строки php -v для получения информации о том, какой из двух модулей PHP установлен: CGI или CLI. Также вы можете использовать для этого функцию php_sapi_name() или константу PHP_SAPI.

Замечание: Соответствующая страница руководства Unix была добавлена в PHP 4.3.2. Вы можете увидеть ее, выполнив в консоли man php.

Основные отличия 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 | Бывает достаточно сложно прочитать в консоли сообщение об ошибке, когда оно наполнено бессмысленными HTML-тегами, поэтому значение по умолчанию данной опции всегда FALSE.
    implicit_flush | TRUE | Желательно, чтобы любой вывод print(), echo(), а также аналогичных функций немедлено отправлялся в стандартный поток вывода, а не попадал в буфер. Хотя вы все еще можете использовать буферизацию вывода, если хотите задержать вывод или манипулировать им.
    max_execution_time | 0 (без ограничений) | Из-за неограниченных возможностей использования PHP в командной строке максимальное время выполнения скрипта не ограничено. В то время, как приложения, написанные для веб, выполняются достаточно быстро, консольные приложения могут выполняться в течении длительного времени.
    register_argc_argv TRUE

    Благодаря значению TRUE в CLI SAPI вам всегда доступны переменные argc (количество аргументов при запуске приложения) и argv (массив текущих аргументов).

    Начиная с PHP 4.3.0, при использовании CLI SAPI переменные $argc и and $argv зарегистрированы и заполнены соответствующими значениями. В более ранних версиях создание этих переменных, так же, как и для CGI или модуля веб-сервера, требует значение on директивы register_globals. Независимо от версии PHP или статуса опции register_global они всегда доступны как элементы массива $_SERVER или $HTTP_SERVER_VARS. Например: $_SERVER['argv']

    Замечание: Эти директивы не могут быть инициализированы другими значениями из конфигурационного файла php.ini или любого другого (в случае, если он указан). Это является ограничением, поскольку указанные выше значения по умолчанию применяются после обработки конфигурационных файлов. Тем не менее, эти значения могут быть изменены во время работы скрипта (хотя это не имеет особого смысла для указанных директив, например, для register_argc_argv).

  • Облегчена работа с консолью, благодаря следующим определенным константам:

    Специфические 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 автоматически закрывает их после завершения скрипта.

  • CLI SAPI не изменяет текущую директорию на директорию исполняемого скрипта!

    Пример, демонстрирующий отличие 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 с ключом -h:

Usage: php [options] [-f] <file> [args...]
       php [options] -r <code> [args...]
       php [options] [-- args...]
  -s               Отображает исходный код с цветной подсветкой
  -w               Отображает исходный текст без комментариев и пробелов
  -f <file>        Исполняет <file>
  -v               Выводит информацию о версии PHP
  -c <path>|<file> Ищет файл php.ini в указанной директории
  -a               Интерактивный запуск
  -d foo[=bar]     Установить конфигурационную опцию foo значением 'bar'
  -e               Генерация дополнительной информации для отладчика и профайлера
  -z <file>        Загрузить Zend-расширение <file>.
  -l               Проверить синтаксис
  -m               Показать подключенные модули
  -i               Выводит информацию о PHP
  -r <code>        Запустить PHP-код без использования <?..?>
  -h               Текущая справка

  args...          Аргументы, передаваемые скрипту. Используйте -- args в случае, если
                   первый аргумент начинается с '-' или сам скрипт читается из потока STDIN.

CLI SAPI имеет три различных способа получения PHP-кода, который необходимо выполнить:

  1. Указать PHP на исполнение конкретного файла.

    php my_script.php

php -f my_script.php
    Оба способа (с или без использования ключа -f) исполняют указанный файл my_script.php. Вы можете выбрать любой файл - ваши PHP-скрипты не обязаны заканчиваться на .php, а могут иметь любое имя и расширение.

  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 не ограничено (хотя консоль имеет некоторое ограничение на количество передаваемых символов, но на практике вы не должны с этим столкнуться). Все аргументы, переданные вашему скрипту, доступны в виде глобального массива $argv. Нулевой элемент содержит имя скрипта (которое является символом - в случае, если PHP-код читается из потока stdin или указан в командной строке при помощи ключа -r). Вторая определяемая глобальная переменная $argc содержит количество элементов массива $argv (а не количество аргументов, передаваемых при запуске).

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

# Приведенный пример не выполнит указанный код, а выдаст справку об использовании PHP
$ php -r 'var_dump($argv);' -h
Usage: php [options] [-f] <file> [args...]
[...]

# Аргумент '-h' будет передан скрипту, справка напечатана не будет
$ php -r 'var_dump($argv);' -- -h
array(2) {
  [0]=>
  string(1) "-"
  [1]=>
  string(2) "-h"
}

Однако, существует еще один способ использования PHP для написания консольных скриптов. Вы можете написать скрипт, первая строка которого начинается с #!/usr/bin/php. Следующие строки содержат обыкновенный PHP-код, обрамленный открывающими и завершающими PHP-тегами. Также необходимо установить права на выполнение (как правило, это chmod +x test), чтобы ваш скрипт мог запускаться, как обыкновенный консольный (или perl) скрипт:

#!/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 4.3.3.

Опции, доступные из командной строки
Опция | Полное название | Описание
-s --syntax-highlight

Отображает исходный код с цветной подсветкой

Эта опция использует внутренний механизм разбора файла, генерирует подсвеченную HTML-версию и записывает ее в стандартный вывод. Следует заметить, что генерируется только блок <code> [...] </code> с HTML-тегами, без HTML-заголовков.

Замечание: Эта опция не совместима с опцией -r.

-s --syntax-highlighting

Алиас для --syntax-highlight.

-w --strip

Отображает исходный текст без комментариев и пробельных символов.

Замечание: Эта опция не совместима с опцией -r.

-f --file

Исполняет указанный файл. Опция -f является не обязательной и может отсутствовать. Достаточно просто указать имя файла.

-v --version

Выводит информацию о версии PHP, PHP SAPI и Zend, например:

$ php -v
PHP 4.3.0 (cli), Copyright (c) 1997-2002 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2002 Zend Technologies

-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
В случае, если вы не используете данную опцию, конфигурационный файл будет взят из директории по умолчанию.

-n --no-php-ini

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

-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"

-a --interactive

Запускает PHP в интерактивном режиме.

-e --profile-info

Генерирует дополнительную информацию для отладчика и профайлера.

-z --zend-extension

Подгружает дополнительный модуль Zend. В случае, если указано только имя файла, PHP ищет модуль в текущем пути к библиотекам по умолчанию (в Linux-системах он обычно указан в /etc/ld.so.conf). В случае, если указано имя файла и полный путь к нему, поиск в системных библиотеках не производится. Указание относительного пути к модулю приведет к поиску файла по указанному пути относительно текущей директории.

-l --syntax-check

Эта опция предоставляет удобный способ для проверки заданного PHP-кода на наличие синтаксических ошибок. В случае успешной проверки будет напечатана следующая фраза: "No syntax errors detected in <filename>",- и код возврата будет равен 0. А в случае неудачи - текст "Errors parsing <filename>" вместе с внутренними сообщениями разборщика и код возврата 255.

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

Замечание: Эта опция не совместима с опцией -r.

-m --modules

При использовании этой опции PHP напечатает список встроенных (а также подгруженных) модулей Zend и PHP.

$ php -m
[PHP Modules]
xml
tokenizer
standard
session
posix
pcre
overload
mysql
mbstring
ctype

[Zend Modules]

-i | --info | Использование этой опции приводит к вызову функции phpinfo() и и выводу результирующей информации. В случае, если PHP работает некорректно, будет весьма логично выполнить php -i и посмотреть, выводятся ли сообщения об ошибке до информационных таблиц или даже вместо них. Учтите, что в случае использования CGI-модуля весь вывод будет в формате HTML и, как следствие, может выглядеть нечитабельно.
-r --run

Эта опция позволяет выполнять PHP-код, указанный непосредственно в командной строке. Открывающие и завершающие PHP-теги (<?php и ?>) не нужны и, более того, приводят к синтаксической ошибке.

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

$ php -r "$foo = get_defined_constants();"
Command line code(1) : Parse error - parse error, unexpected '='
Проблема заключается в том, что sh/bash выполняет автоматическую подстановку переменных в случае, если используются двойные кавычки ("). Поскольку переменная $foo вряд ли определена, она заменяется пустой строкой, так что передаваемый PHP-код для выполнения выглядит следующим образом:
$ php -r " = get_defined_constants();"
Правильным решением в данном случае будет использование одиночных кавычек ', поскольку автоматическая подстановка переменных, заключенных в одиночные кавычки, в sh/bash не происходит.
$ 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/ или напишите письмо по адресу phpdoc@lists.php.net. Вы вполне можете столкнуться с проблемами при попытке получить доступ к переменным оболочки или при работе с экранирующими обратными слешами. Мы вас предупредили.

Замечание: Ключ -r доступен в CLI SAPI и не доступен в CGI SAPI.

-h | --help | При помощи этой опции вы можете получить информацию о действующем списке опций командной строки и их краткое описание.
-? --usage Алиас для --help.

Исполняемый PHP-файл может использоваться для запуска PHP-скриптов независимо от веб-сервера. В случае, если вы работаете в Unix-подобной системе, вам необходимо добавить ко всем скриптам специальную первую строку и сделать их исполняемыми, чтобы указать, какая из программ должна обрабатывать эти скрипты. На Windows-платформах вы можете назначить обработчик php.exe для файлов с расширениями .php либо создать пакетный (.bat) файл для запуска скриптов посредством PHP. Строка, добавляемая вначале скрипта для Unix-систем, не влияет на их работу в ОС Windows, таким образом вы можете создавать кроссплатформенные скрипты. Ниже приведен простой пример скрипта, выполняемого из командной строки:

Пример #1 Скрипт, предназначенный для запуска из командной строки (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];
}
?>

В приведенном примере мы используем специальную первую строку для указания на то, что этот скрипт необходимо запускать при помощи PHP. Поскольку мы работаем с CLI-версией, то HTTP-заголовки выводиться не будут. При написании консольных приложений на PHP вам доступны две переменные: $argc и $argv. Первая - количество переданных аргументов плюс один (имя выполняемого скрипта). Вторая - массив переданных аргументов, начиная с имени скрипта с нулевым индексом ($argv[0]).

Также в приведенном примере мы проверяем количество переданных аргументов. В случае, если их более или менее одного, а также в случае, если переданный аргумент был --help, -help, -h или -?, мы выводим справочное сообщение, подставляя имя выполняемого скрипта динамически. В обратном случае мы просто печатаем полученный аргумент.

Если вы хотите выполнить приведенный пример в Unix-системе, вам необходимо сделать его исполняемым и просто выполнить из консоли script.php echothis или script.php -h. В Windows-системе вы можете создать для этого пакетный файл:

Пример #2 Пакетный файл для запуска PHP-скрипта из командной строки (script.bat)

@c:\php\cli\php.exe script.php %1 %2 %3 %4

Предполагая, что скрипт называется script.php и полный путь к CLI php.exe совпадает с c:\php\cli\php.exe, приведенный пакетный файл запустит скрипт с переданными вами параметрами: script.bat echothis либо script.bat -h.

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

Ограниченные или недоступные в защищенном режиме функции
Справочник функций
Отличительные особенности


Справочник функций

Подсказка

See also Extension List/Categorization.

  • Affecting PHP's Behaviour
    • APC — Alternative PHP Cache
    • APD — Advanced PHP debugger
    • bcompiler — PHP bytecode Compiler
    • Error Handling — Error Handling and Logging
    • htscanner — htaccess-like support for all SAPIs
    • inclued — Inclusion hierarchy viewer
    • PHP Options/Info — PHP Options and Information
    • Memtrack
    • Object overloading — Object property and method call overloading
    • Output Control — Output Buffering Control
    • runkit
    • scream — Break the silence operator
  • Audio Formats Manipulation
    • ID3 — ID3 Tags
    • KTaglib
    • oggvorbis — OGG/Vorbis
    • OpenAL — OpenAL Audio Bindings
  • Authentication Services
    • KADM5 — Kerberos V
    • Radius
  • Calendar and Event Related Extensions
    • Calendar
    • Date/Time — Date and Time
  • Command Line Specific Extensions
    • Newt
    • Ncurses — Ncurses Terminal Screen Control
    • Readline — GNU Readline
  • Compression and Archive Extensions
    • Функции сжатия Bzip2
    • LZF
    • Phar
    • Функции Rar
    • Zip
    • Zlib
  • Credit Card Processing
    • MCVE — MCVE (Monetra) Payment
    • SPPLUS — SPPLUS Payment System
  • Cryptography Extensions
    • Crack — Cracklib
    • Hash — HASH Message Digest Framework
    • Mcrypt
    • Mhash
    • OpenSSL
  • Database Extensions
    • Abstraction Layers
    • Vendor Specific Database Extensions
  • File System Related Extensions
    • Direct IO
    • Директории — Функции для работы с директориями
    • Fileinfo — File Information
    • Функции для работы с файловой системой
    • Inotify
    • Mimetype
    • xattr
    • xdiff
  • Human Language and Character Encoding Support
    • Enchant — Enchant spelling library
    • FriBiDi
    • Gettext
    • i18n — Internationalization
    • iconv
    • intl — Internationalization Functions
    • Multibyte String
    • Pspell
    • Recode — GNU Recode
    • Unicode
  • Image Processing and Generation
    • Exif — Exchangeable image information
    • GD — Image Processing and GD
    • ImageMagick — Image Processing (ImageMagick)
  • Mail Related Extensions
    • Cyrus — Cyrus IMAP administration
    • IMAP — IMAP, POP3 and NNTP
    • Mail
    • Mailparse
    • vpopmail
  • Mathematical Extensions
    • BC Math — BCMath Arbitrary Precision Mathematics
    • GMP — GNU Multiple Precision
    • Math — Математические функции
    • Statistics
  • Non-Text MIME Output
    • 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
  • Process Control Extensions
    • Program execution — System program execution
    • Expect
    • PCNTL — Process Control
    • POSIX
    • Semaphore — Semaphore, Shared Memory and IPC
    • Shared Memory
  • Other Basic Extensions
    • GeoIP — Geo IP Location
    • JSON — JavaScript Object Notation
    • Misc. — Miscellaneous Functions
    • Parsekit
    • SPL — Standard PHP Library (SPL)
    • SPL Types — SPL Type Handling
    • Streams
    • Tidy
    • Tokenizer
    • URLs — URL Функции
  • Other Services
    • Функции CURL
    • FAM — File Alteration Monitor
    • Функции FTP
    • Hyperwave
    • Hyperwave API
    • HTTP
    • Java — PHP / Java Integration
    • LDAP — Lightweight Directory Access Protocol
    • Lotus Notes
    • Memcache
    • Memcached
    • mqseries
    • Gopher — Net Gopher
    • Network
    • SAM — Simple Asynchronous Messaging
    • SNMP
    • Sockets
    • SSH2 — Secure Shell2
    • SVN — Subversion
    • TCP — TCP Wrappers
    • YAZ
    • YP/NIS
  • Search Engine Extensions
    • mnoGoSearch
    • Sphinx — Sphinx Client
    • Swish — Swish Indexing
  • Server Specific Extensions
    • Apache
    • IIS — IIS Administration
    • NSAPI
  • Session Extensions
    • Msession — Mohawk Software Session Handler Functions
    • Sessions — Session Handling
    • Session PgSQL — PostgreSQL Session Save Handler
  • Text Processing
    • BBCode — Bulletin Board Code
    • PCRE — Функции для работы с регулярными выражениями (Perl-совместимые)
    • POSIX Regex — Regular Expression (POSIX Extended)
    • Строки — Функции работы со строками
  • Variable and Type Related Extensions
    • Массивы — Функции для работы с массивами
    • Классы/Объекты — Функции работы с Классами/Объектами
    • Classkit — Функции classkit
    • ctype — Функции определения типа символов
    • Filter — Функции фильтрации данных
    • Управление функциями
    • Object Aggregation — Object Aggregation/Composition
    • Управление переменными — Функции управления переменными
  • Web Services
    • OAuth
    • SCA
    • SOAP
    • XML-RPC
  • Windows Only Extensions
    • .NET
    • COM — COM and .Net (Windows)
    • Printer
    • W32api
    • win32ps
    • win32service
  • XML Manipulation
    • 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 Parser
    • XMLReader
    • XMLWriter
    • XSL
    • XSLT (PHP4)
Использование PHP в командной строке
Affecting PHP's Behaviour
Руководство по PHP


Affecting PHP's Behaviour

  • APC — Alternative PHP Cache
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • APC Функции
  • APD — Advanced PHP debugger
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • APD Функции
  • bcompiler — PHP bytecode Compiler
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • bcompiler Функции
  • Error Handling — Error Handling and Logging
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Error Handling Функции
  • htscanner — htaccess-like support for all SAPIs
    • Введение
    • Установка и настройка
  • inclued — Inclusion hierarchy viewer
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • inclued Функции
  • PHP Options/Info — PHP Options and Information
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • PHP Options/Info Функции
  • Memtrack
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
  • Object overloading — Object property and method call overloading
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Object overloading Функции
  • Output Control — Output Buffering Control
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Output Control Функции
  • runkit
    • Введение
    • Предопределенные константы
    • Установка и настройка
    • runkit Функции
  • scream — Break the silence operator
    • Введение
    • Установка и настройка
    • Примеры
Справочник функций
APC
Справочник функций


Alternative PHP Cache

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • APC Функции
    • apc_add — Cache a variable in the data store
    • apc_cache_info — Retrieves cached information from APC's data store
    • apc_clear_cache — Clears the APC cache
    • apc_compile_file — Stores a file in the bytecode cache, bypassing all filters.
    • apc_define_constants — Defines a set of constants for retrieval and mass-definition
    • apc_delete — Removes a stored variable from the cache
    • apc_fetch — Fetch a stored variable from the cache
    • 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
Affecting PHP's Behaviour
Введение
Affecting PHP's Behaviour


Введение

The Alternative PHP Cache (APC) is a free and open opcode cache for PHP. It was conceived of to provide a free, open, and robust framework for caching and optimizing PHP intermediate code.

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


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
APC


Требования

Эти функции всегда доступны.

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


Установка

Это расширение » PECL не поставляется вместе с PHP.

Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, могут быть найдены здесь: » http://pecl.php.net/package/apc.

Вы можете скачать DLL этого расширения PECL со страницы » PHP Downloads или » http://snaps.php.net/.

Замечание: On Windows, APC needs a temp path to exist, and be writable by the web server. It checks TMP, TEMP, 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 main decisions you have to make. First, how much shared memory do you want to set aside for APC, and second, whether you want APC to check if a file has been modified on every request. The two ini directives involved here are apc.shm_size and apc.stat. Read the sections on these two directives carefully below.

Once you have a running server, you should copy the apc.php script that comes with the extension to somewhere in your docroot and load it up in your browser. It provides you with a detailed look at what is happening in your cache. If you have GD enabled in PHP, it will even have pretty graphs. First thing to check is of course that it is actually caching files. Assuming it is working you should then pay close attention to the Cache full count number on the left. That tells you the number of times the cache has filled up and has had to forcefully clean up any entries not accessed within the last apc.ttl seconds. You should configure your cache to minimize this number. If you are constantly filling your cache, the resulting cache churn is going to hurt performance. You should either set more memory aside for APC, or use apc.filters to cache fewer scripts.

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 | "30" | 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 | "0" | PHP_INI_SYSTEM | Available since APC 3.0.0.
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.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.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.

Для подробного описания констант PHP_INI_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

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 you have already set apc.shm_size as high as your system allows, you can try raising this value.

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 you're not sure; 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 your 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 your 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 you modify a file on a live web server you really should do so in an atomic manner. That is, write to a temporary file and rename (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 you are certain you always atomically update your files by using something like rsync which does this correctly, you can turn this protection off by setting it to 0. If you have a system that is flooded with io causing some update procedure to take longer than 2 seconds, you may want to increase this a bit.

apc.enable_cli integer

Mostly for testing and debugging. Setting this enables APC for the CLI version of PHP. Normally you wouldn't want to create, populate and tear down the APC cache on every CLI request, but for various test scenarios it is handy to be able to enable APC for the CLI version of APC easily.

apc.max_file_size integer

Prevent files larger than this value from getting cached. Defaults to 1M.

apc.stat integer

Be careful if you change this setting. The default is for this to be On which means that APC will stat (check) the script on each request to see if it has been modified. If it has been modified it will recompile and cache the new version. If you turn this setting off, it will not check. That means that in order to have changes become active you need to restart your web server. On a production server where you rarely change the code, turning stats off can produce a significant performance boost.

For included/required files this option applies as well, but note that if you are using 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 you first start up the server, or when many files are modified, you can end up with all your processes trying to compile and cache the same files. With write_lock enabled, only one process at a time will try to compile an uncached script while the other processes will run uncached instead of sitting around waiting on a lock.

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 you compiled APC 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.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 Функции
APC


APC Функции

Содержание

  • apc_add — Cache a variable in the data store
  • apc_cache_info — Retrieves cached information from APC's data store
  • apc_clear_cache — Clears the APC cache
  • apc_compile_file — Stores a file in the bytecode cache, bypassing all filters.
  • apc_define_constants — Defines a set of constants for retrieval and mass-definition
  • apc_delete — Removes a stored variable from the cache
  • apc_fetch — Fetch a stored variable from the cache
  • 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


Cache a variable in the data store

APC Функции
apc_cache_info
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 ] )

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. key s 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.).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #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_cache_info
APC Функции


Retrieves cached information from APC's data store

apc_add
apc_clear_cache
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), or FALSE on failure

Замечание: 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

apc_add
apc_clear_cache
APC Функции


Clears the APC cache

apc_cache_info
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_cache_info
apc_compile_file
APC Функции


Stores a file in the bytecode cache, bypassing all filters.

apc_clear_cache
apc_define_constants
APC Функции
PHP Manual

apc_compile_file

(PECL apc >= 3.0.13)

apc_compile_file — Stores a file in the bytecode cache, bypassing all filters.

Описание

bool apc_compile_file ( string $filename )

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_clear_cache
apc_define_constants
APC Функции


Defines a set of constants for retrieval and mass-definition

apc_compile_file
apc_delete
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() - Defines a named constant
  • constant() - Returns the value of a constant
  • Or the PHP constants reference

apc_compile_file
apc_delete
APC Функции


Removes a stored variable from the cache

apc_define_constants
apc_fetch
APC Функции
PHP Manual

apc_delete

(PECL apc >= 3.0.0)

apc_delete — Removes a stored variable from the cache

Описание

bool 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_define_constants
apc_fetch
APC Функции


Fetch a stored variable from the cache

apc_delete
apc_load_constants
APC Функции
PHP Manual

apc_fetch

(PECL apc >= 3.0.0)

apc_fetch — Fetch a stored variable from the cache

Описание

mixed apc_fetch ( string $key [, bool &$success ] )

Fetchs a stored variable from the cache.

Список параметров

key

The key used to store the value (with apc_store()).

success

Set to TRUE in success and FALSE in failure.

Возвращаемые значения

The stored variable 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"

Смотрите также

  • apc_store() - Cache a variable in the data store
  • apc_delete() - Removes a stored variable from the cache

apc_delete
apc_load_constants
APC Функции


Loads a set of constants from the cache

apc_fetch
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() - Defines a named constant
  • constant() - Returns the value of a constant
  • Or the PHP constants reference

apc_fetch
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
APD
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 ] )

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. key s 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.).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #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
APD
APC Функции


Advanced PHP debugger

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Building on Win32
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • How to use PHP-APD in your scripts
  • 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
apc_store
Введение
Affecting PHP's Behaviour


Введение

APD is the Advanced PHP Debugger. It was written to provide profiling and debugging capabilities for PHP code, as well as to provide the ability to print out a full stack backtrace. APD supports interactive debugging, but by default it writes data to trace files. It also offers event based logging so that varying levels of information (including function calls, arguments passed, timings, etc.) can be turned on or off for individual scripts.

Предостережение

APD is a Zend Extension, modifying the way the internals of PHP handle function calls, and thus may or may not be compatible with other Zend Extensions (for example Zend Optimizer).

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


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

Содержание

  • Требования
  • Установка
  • Building on Win32
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
APD


Установка

APD is currently available as a PECL extension from » http://pecl.php.net/package/apd.

Run the following command to download, build, and install the latest stable version of APD:

pear install apd

This automatically installs the APD Zend module into your PHP extensions directory. It is not mandatory to keep it there; you can store the module in any directory PHP can read as long as you set the zend_extension parameter accordingly.

Windows users will enable php_apd.dll inside of php.ini in order to use these functions. Вы можете скачать DLL этого расширения PECL со страницы » PHP Downloads или » http://snaps.php.net/.

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_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

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 constants
Constant | Value | Description
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) | example: 1.0.2-dev |
Типы ресурсов
Примеры
APD


Примеры

Содержание

  • How to use PHP-APD in your scripts
Предопределенные константы
How to use PHP-APD in your scripts
APD


How to use PHP-APD in your scripts

  1. As the first line of your PHP script, call the apd_set_pprof_trace() function to start the trace:

    apd_set_pprof_trace();

    You can insert the line anywhere in your script, but if you do not start tracing at the beginning of your script you discard profile data that might otherwise lead you to a performance bottleneck.

  2. Now run your script. The dump output will be written to apd.dumpdir/pprof_pid.ext.

    Подсказка

    If you're running the CGI version of PHP, you will need to add the '-e' flag to enable extended information for apd to work properly. For example: php -e -f script.php

  3. To display formatted profile data, issue the pprofp command with the sort and display options of your choice. The formatted output will look something like:

    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

    The -R option used in this example sorts the profile table by the amount of real time the script spent executing a given function. The "cumm call" column reveals how many times each function was called, and the "s/call" column reveals how many seconds each call to the function required, on average.

  4. To generate a calltree file that you can import into the KCacheGrind profile analysis application, issue the pprof2calltree comand.

Примеры
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
How to use PHP-APD in your scripts
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

An integer which is formed by adding together the XXX_TRACE constants.

It is not recommended to use MEMORY_TRACE. It is very slow and does not appear to be accurate. ASSIGNMENT_TRACE is not implemented yet.

To turn on all functional traces (TIMING, FUNCTIONS, ARGS SUMMARY (like strace -c)) use the value 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

An integer which is formed by adding together the XXX_TRACE constants.

It is not recommended to use MEMORY_TRACE. It is very slow and does not appear to be accurate. ASSIGNMENT_TRACE is not implemented yet.

To turn on all functional traces (TIMING, FUNCTIONS, ARGS SUMMARY (like strace -c)) use the value 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

An integer which is formed by adding together the XXX_TRACE constants.

It is not recommended to use MEMORY_TRACE. It is very slow and does not appear to be accurate. ASSIGNMENT_TRACE is not implemented yet.

To turn on all functional traces (TIMING, FUNCTIONS, ARGS SUMMARY (like strace -c)) use the value 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

An integer which is formed by adding together the XXX_TRACE constants.

It is not recommended to use MEMORY_TRACE. It is very slow and does not appear to be accurate. ASSIGNMENT_TRACE is not implemented yet.

To turn on all functional traces (TIMING, FUNCTIONS, ARGS SUMMARY (like strace -c)) use the value 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

An integer which is formed by adding together the XXX_TRACE constants.

It is not recommended to use MEMORY_TRACE. It is very slow and does not appear to be accurate. ASSIGNMENT_TRACE is not implemented yet.

To turn on all functional traces (TIMING, FUNCTIONS, ARGS SUMMARY (like strace -c)) use the value 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 coma 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
Введение
Affecting PHP's Behaviour


Введение

Внимание

Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, включая имена его функций и относящуюся к нему документацию, может измениться в последующих версиях 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


Установка

short installation note:

  • You need at least PHP 4.3.0 for the compression to work
  • To install on PHP 4.3.0 and later at the Unix command prompt type pear install bcompiler
  • To install on Windows, until the binary package distribution mechanism is finished please search the archives of the pear-general mailing list for pre-built packages. (or send an email to it if you could not find a reference)
  • To install on older versions you need to make some slight changes to the build.
  • untar the bcompiler.tgz archive into php4/ext.(Get it directly from PECL » http://pecl.php.net/get/bcompiler)
  • If the new directory is now called something like bcompiler-0.x, then you should rename it to bcompiler (except you only want to build it as self-contained php-module).
  • If you are using versions before PHP 4.3.0, the you will need to copy the Makefile.in.old to Makefile.in and config.m4.old to config.m4.
  • run phpize in ext/bcompiler
  • run ./buildconf in php4
  • run configure with --enable-bcompiler (and your other options)
  • make; make install
  • that's it.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Данное расширение не определяет никакие директивы конфигурации в 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
Error Handling
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
Error Handling
bcompiler Функции


Error Handling and Logging

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • Error Handling Функции
    • debug_backtrace — Generates a backtrace
    • debug_print_backtrace — Prints a backtrace
    • error_get_last — Get the last occurred error
    • error_log — Send an error message somewhere
    • 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
Введение
Affecting PHP's Behaviour


Введение

These are functions dealing with error handling and logging. They allow you to define your own error handling rules, as well as modify the way the errors can be logged. This allows you to change and enhance error reporting to suit your needs.

With the logging functions, you can send messages directly to other machines, to an email (or email to pager gateway!), to system logs, etc., so you can selectively log and monitor the most important parts of your applications and websites.

The error reporting functions allow you to customize what level and kind of error feedback is given, ranging from simple notices to customized functions returned during errors.

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


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Error Handling


Установка

Для использования этих функций не требуется проведение установки, поскольку они являются частью ядра 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_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

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.

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 Off, then memory leaks will not be shown (on stdout or in the log). This has only effect in a debug compile, 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.

Замечание: You may use these constant names in php.ini but not outside of PHP, like in httpd.conf, where you'd use the bitmask values instead.

Errors and Logging
Value | Constant | Description | Note
1 | E_ERROR (integer) | Fatal run-time errors. These indicate errors that can not be recovered from, such as a memory allocation problem. Execution of the script is halted. |
2 | E_WARNING (integer) | Run-time warnings (non-fatal errors). Execution of the script is not halted. |
4 | E_PARSE (integer) | Compile-time parse errors. Parse errors should only be generated by the parser. |
8 | E_NOTICE (integer) | Run-time notices. Indicate that the script encountered something that could indicate an error, but could also happen in the normal course of running a script. |
16 | E_CORE_ERROR (integer) | Fatal errors that occur during PHP's initial startup. This is like an E_ERROR, except it is generated by the core of PHP. | since PHP 4
32 | E_CORE_WARNING (integer) | Warnings (non-fatal errors) that occur during PHP's initial startup. This is like an E_WARNING, except it is generated by the core of PHP. | since PHP 4
64 | E_COMPILE_ERROR (integer) | Fatal compile-time errors. This is like an E_ERROR, except it is generated by the Zend Scripting Engine. | since PHP 4
128 | E_COMPILE_WARNING (integer) | Compile-time warnings (non-fatal errors). This is like an E_WARNING, except it is generated by the Zend Scripting Engine. | since PHP 4
256 | E_USER_ERROR (integer) | User-generated error message. This is like an E_ERROR, except it is generated in PHP code by using the PHP function trigger_error(). | since PHP 4
512 | E_USER_WARNING (integer) | User-generated warning message. This is like an E_WARNING, except it is generated in PHP code by using the PHP function trigger_error(). | since PHP 4
1024 | E_USER_NOTICE (integer) | User-generated notice message. This is like an E_NOTICE, except it is generated in PHP code by using the PHP function trigger_error(). | since PHP 4
2048 | E_STRICT (integer) | Enable to have PHP suggest changes to your code which will ensure the best interoperability and forward compatibility of your code. | since PHP 5
4096 | E_RECOVERABLE_ERROR (integer) | Catchable fatal error. It indicates that a probably dangerous error occured, but did not leave the Engine in an unstable state. If the error is not caught by a user defined handle (see also set_error_handler()), the application aborts as it was an E_ERROR. | since PHP 5.2.0
8192 | E_DEPRECATED (integer) | Run-time notices. Enable this to receive warnings about code that will not work in future versions. | since PHP 5.3.0
16384 | E_USER_DEPRECATED (integer) | User-generated warning message. This is like an E_DEPRECATED, except it is generated in PHP code by using the PHP function trigger_error(). | since PHP 5.3.0
30719 | E_ALL (integer) | All errors and warnings, as supported, except of level E_STRICT in PHP < 6. | 32767 in PHP 6, 30719 in PHP 5.3.x, 6143 in PHP 5.2.x, 2047 previously

The above values (either numerical or symbolic) are used to build up a bitmask that specifies which errors to report. You can use the bitwise operators to combine these values or mask out certain types of errors. Note that only '|', '~', '!', '^' and '&' will be understood within php.ini.

Типы ресурсов
Примеры
Error Handling


Примеры

Below we can see an example of using the error handling capabilities in PHP. We define an error handling function which logs the information into a file (using an XML format), and e-mails the developer in case a critical error in the logic happens.

Пример #1 Using error handling in a script

<?php
// we will do our own error handling
error_reporting(0);

// user defined error handling function
function userErrorHandler($errno, $errmsg, $filename, $linenum, $vars)
{
    // timestamp for the error entry
    $dt = date("Y-m-d H:i:s (T)");

    // define an assoc array of error string
    // in reality the only entries we should
    // consider are E_WARNING, E_NOTICE, E_USER_ERROR,
    // E_USER_WARNING and E_USER_NOTICE
    $errortype = array (
                E_ERROR              => 'Error',
                E_WARNING            => 'Warning',
                E_PARSE              => 'Parsing Error',
                E_NOTICE             => 'Notice',
                E_CORE_ERROR         => 'Core Error',
                E_CORE_WARNING       => 'Core Warning',
                E_COMPILE_ERROR      => 'Compile Error',
                E_COMPILE_WARNING    => 'Compile Warning',
                E_USER_ERROR         => 'User Error',
                E_USER_WARNING       => 'User Warning',
                E_USER_NOTICE        => 'User Notice',
                E_STRICT             => 'Runtime Notice',
                E_RECOVERABLE_ERROR  => 'Catchable Fatal Error'
                );
    // set of errors for which a var trace will be saved
    $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, "Variables") . "</vartrace>\n";
    }
    $err .= "</errorentry>\n\n";

    // for testing
    // echo $err;

    // save to the error log, and e-mail me if there is a critical user error
    error_log($err, 3, "/usr/local/php4/error.log");
    if ($errno == E_USER_ERROR) {
        mail("phpdev@example.com", "Critical User Error", $err);
    }
}

function distance($vect1, $vect2)
{
    if (!is_array($vect1) || !is_array($vect2)) {
        trigger_error("Incorrect parameters, arrays expected", E_USER_ERROR);
        return NULL;
    }

    if (count($vect1) != count($vect2)) {
        trigger_error("Vectors need to be of the same size", 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("Coordinate $i in vector 1 is not a number, using zero",
                            E_USER_WARNING);
            $c1 = 0.0;
        }
        if (!is_numeric($c2)) {
            trigger_error("Coordinate $i in vector 2 is not a number, using zero",
                            E_USER_WARNING);
            $c2 = 0.0;
        }
        $d += $c2*$c2 - $c1*$c1;
    }
    return sqrt($d);
}

$old_error_handler = set_error_handler("userErrorHandler");

// undefined constant, generates a warning
$t = I_AM_NOT_DEFINED;

// define some "vectors"
$a = array(2, 3, "foo");
$b = array(5.5, 4.3, -1.6);
$c = array(1, -3);

// generate a user error
$t1 = distance($c, $b) . "\n";

// generate another user error
$t2 = distance($b, "i am not an array") . "\n";

// generate a warning
$t3 = distance($a, $b) . "\n";

?>

Предопределенные константы
Error Handling Функции
Error Handling


Error Handling Функции

Смотрите также

See also syslog().

Содержание

  • debug_backtrace — Generates a backtrace
  • debug_print_backtrace — Prints a backtrace
  • error_get_last — Get the last occurred error
  • error_log — Send an error message somewhere
  • 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
Error Handling


Generates a backtrace

Error Handling Функции
debug_print_backtrace
Error Handling Функции
PHP Manual

debug_backtrace

(PHP 4 >= 4.3.0, PHP 5)

debug_backtrace — Generates a backtrace

Описание

array debug_backtrace ([ bool $provide_object= true ] )

debug_backtrace() generates a PHP backtrace.

Список параметров

provide_object

Whether or not to populate the "object" index. Defaults to TRUE.

Возвращаемые значения

Returns an associative array. The possible returned elements are as follows:

Possible returned elements from debug_backtrace()
Имя | Type | Описание
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.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

Error Handling Функции
debug_print_backtrace
Error Handling Функции


Prints a backtrace

debug_backtrace
error_get_last
Error Handling Функции
PHP Manual

debug_print_backtrace

(PHP 5)

debug_print_backtrace — Prints a backtrace

Описание

void debug_print_backtrace ( void )

debug_print_backtrace() prints a PHP backtrace. It prints the function calls, included/required files and eval()ed stuff.

Список параметров

This function has no parameters.

Возвращаемые значения

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

Примеры

Пример #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  eval() called at [/tmp/include.php:5]
#1  a() called at [/tmp/include.php:17]
#2  include(/tmp/include.php) called at [/tmp/test.php:3]

#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
Error Handling Функции


Get the last occurred error

debug_print_backtrace
error_log
Error Handling Функции
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". 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 Handling Функции


Send an error message somewhere

error_get_last
error_reporting
Error Handling Функции
PHP Manual

error_log

(PHP 4, PHP 5)

error_log — Send an error message somewhere

Описание

bool error_log ( string $message [, int $message_type= 0 [, string $destination [, string $extra_headers ]]] )

Sends an error message to the web server's error log, a TCP port or to a file.

Список параметров

message

The error message that should be logged.

message_type

Says where the error should go. The possible message types are as follows:

error_log() log types
0 | message is sent to PHP's system logger, using the Operating System's system logging mechanism or a file, depending on what the error_log configuration directive is set to. This is the default option.
1 | message is sent by email to the address in the destination parameter. This is the only message type where the fourth parameter, extra_headers is used.
2 | No longer an option.
3 | message is appended to the file destination . A newline is not automatically added to the end of the message string.
4 | message is sent directly to the SAPI logging handler.

destination

The destination. Its meaning depends on the message_type parameter as described above.

extra_headers

The extra headers. It's used when the message_type parameter is set to 1. This message type uses the same internal function as mail() does.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.2.7 | The possible value of 4 was added to message_type .

Примеры

Пример #1 error_log() examples

<?php
// Send notification through the server log if we can not
// connect to the database.
if (!Ora_Logon($username, $password)) {
    error_log("Oracle database not available!", 0);
}

// Notify administrator by email if we run out of FOO
if (!($foo = allocate_new_foo())) {
    error_log("Big trouble, we're all out of FOOs!", 1,
               "operator@example.com");
}

// another way to call error_log():
error_log("You messed up!", 3, "/var/tmp/my-errors.log");
?>

error_get_last
error_reporting
Error Handling Функции


Sets which PHP errors are reported

error_log
restore_error_handler
Error Handling Функции
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.

Список параметров

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 are listed below. The actual meanings of these error levels are described in the predefined constants.

error_reporting() level constants and bit values
value | constant
1 | E_ERROR
2 | E_WARNING
4 | E_PARSE
8 | E_NOTICE
16 | E_CORE_ERROR
32 | E_CORE_WARNING
64 | E_COMPILE_ERROR
128 | E_COMPILE_WARNING
256 | E_USER_ERROR
512 | E_USER_WARNING
1024 | E_USER_NOTICE
6143 | E_ALL
2048 | E_STRICT
4096 | E_RECOVERABLE_ERROR
8192 | E_DEPRECATED
16384 | E_USER_DEPRECATED

Возвращаемые значения

Returns the old error_reporting level.

Список изменений

Версия | Описание
5.0.0 | E_STRICT introduced (not part of E_ALL).
5.2.0 | E_RECOVERABLE_ERROR introduced.
5.3.0 | E_DEPRECATED and E_USER_DEPRECATED introduced.
6.0.0 | E_STRICT became 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 6.

Смотрите также

  • 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
Error Handling Функции


Restores the previous error handler function

error_reporting
restore_exception_handler
Error Handling Функции
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
Error Handling Функции


Restores the previously defined exception handler function

restore_error_handler
set_error_handler
Error Handling Функции
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
Error Handling Функции


Sets a user-defined error handler function

restore_exception_handler
set_exception_handler
Error Handling Функции
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. 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)
{
    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
Error Handling Функции


Sets a user-defined exception handler function

set_error_handler
trigger_error
Error Handling Функции
PHP Manual

set_exception_handler

(PHP 5)

set_exception_handler — Sets a user-defined exception handler function

Описание

string 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
Error Handling Функции


Generates a user-level error/warning/notice message

set_exception_handler
user_error
Error Handling Функции
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 (assert($divisor == 0)) {
    trigger_error("Cannot divide by zero", E_USER_ERROR);
}
?>

Смотрите также

  • 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
Error Handling Функции


Alias of trigger_error

trigger_error
htscanner
Error Handling Функции
PHP Manual

user_error

(PHP 4, PHP 5)

user_error — Alias of trigger_error()

Описание

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

trigger_error
htscanner
Error Handling Функции


htaccess-like support for all SAPIs

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
user_error
Введение
Affecting PHP's Behaviour


Введение

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.

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


Установка

Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и 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_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

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
Типы ресурсов
Введение
Affecting PHP's Behaviour


Введение

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.

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


Установка

Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, могут быть найдены здесь: » http://pecl.php.net/package/inclued

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

inclued Опции настройки
Имя | По умолчанию | Меняемо | Changelog
inclued.enabled | Off | PHP_INI_* |
inclued.dumpdir | Off | PHP_INI_* |

Для подробного описания констант PHP_INI_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

inclued.enabled int

Whether or not to enable inclued.

inclued.dumpdir int

Location (path) to the directory that stores inclued files. If set, each PHP request will create a file.

Предостережение

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 from inclued

<?php
// File to store the inclued information
$fp = fopen('/tmp/wp.json', 'w');
if ($fp) {
    $clue = inclued_get_data();
    if ($clue) {
        fwrite($fp, json_encode($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.json -o wp.dot

# Next, create the image
$ dot -Tpng -o inclued.png wp.dot

Примеры
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 Функции
PHP Options/Info
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.

Список параметров

This function has no parameters.

Возвращаемые значения

The inclued data.

Примеры

Пример #1 inclued_get_data() example

See the inclued examples section for ways to create a 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() - include

inclued Функции
PHP Options/Info
inclued Функции


PHP Options and Information

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • PHP Options/Info Функции
    • 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
    • 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 lots of PHP information
    • 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
inclued_get_data
Введение
Affecting PHP's Behaviour


Введение

This functions enable you to get a lot of information about PHP itself, e.g. runtime configuration, loaded extensions, version and much more. You'll also find functions to set options for your running PHP. The probably best known function of PHP - phpinfo() - can be found here.

PHP Options/Info
Установка и настройка
PHP Options/Info


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
PHP Options/Info


Настройка во время выполнения

Поведение этих функций зависит от установок в 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 | Removed in PHP 6.0.0.
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. Removed in PHP 6.0.0.
magic_quotes_runtime | "0" | PHP_INI_ALL | Removed in PHP 6.0.0.
zend.enable_gc | "1" | PHP_INI_ALL | Available since PHP 5.3.0.

Для подробного описания констант PHP_INI_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

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, GET and file uploads.

max_input_nesting_level integer

Sets the max nesting depth of input variables (i.e. $_GET, $_POST..)

magic_quotes_gpc boolean
Внимание

This feature has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 6.0.0. Relying on this feature is highly discouraged.

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
Внимание

This feature has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 6.0.0. Relying on this feature is highly discouraged.

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.

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 Options/Info Функции
PHP Options/Info


PHP Options/Info Функции

Содержание

  • 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
  • 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 lots of PHP information
  • 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 Options/Info


Set/get the various assert flags

PHP Options/Info Функции
assert
PHP Options/Info Функции
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 Options/Info Функции
assert
PHP Options/Info Функции


Checks if assertion is FALSE

assert_options
dl
PHP Options/Info Функции
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 Options/Info Функции


Loads a PHP extension at runtime

assert
extension_loaded
PHP Options/Info Функции
PHP Manual

dl

(PHP 4, PHP 5)

dl — Loads a PHP extension at runtime

Описание

int 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()).

Список параметров

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\ 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 (see Note) or has been disabled (either by turning it off enable_dl 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 | This function now throws an E_DEPRECATED notice on all sapi's except for CLI, CGI and Embed.

Примечания

Замечание: dl() is not supported in multithreaded Web servers. Use the extensions statement in your php.ini when operating under such an environment. However, the CGI and CLI build are not affected !

Замечание: As of PHP 5, the dl() function is deprecated in every SAPI except CLI. Use Extension Loading Directives method instead.

Замечание: Since PHP 6 this function is disabled in all SAPIs, except CLI, CGI and embed.

Замечание: dl() is case sensitive on Unix platforms.

Замечание: Эта функция недоступна в безопасном режиме.

Смотрите также

  • Extension Loading Directives
  • extension_loaded() - Find out whether an extension is loaded

assert
extension_loaded
PHP Options/Info Функции


Find out whether an extension is loaded

dl
gc_collect_cycles
PHP Options/Info Функции
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;
    }
}
?>

Примечания

Замечание: 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 extension available which also use uppercase letters. Be warned that this function compares case sensitive !

Смотрите также

  • 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 lots of PHP information
  • dl() - Loads a PHP extension at runtime

dl
gc_collect_cycles
PHP Options/Info Функции


Forces collection of any existing garbage cycles

extension_loaded
gc_disable
PHP Options/Info Функции
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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns number of collected cycles.

extension_loaded
gc_disable
PHP Options/Info Функции


Deactivates the circular reference collector

gc_collect_cycles
gc_enable
PHP Options/Info Функции
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.

Список параметров

This function has no parameters.

Возвращаемые значения

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

gc_collect_cycles
gc_enable
PHP Options/Info Функции


Activates the circular reference collector

gc_disable
gc_enabled
PHP Options/Info Функции
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.

Список параметров

This function has no parameters.

Возвращаемые значения

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

gc_disable
gc_enabled
PHP Options/Info Функции


Returns status of the circular reference collector

gc_enable
get_cfg_var
PHP Options/Info Функции
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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns TRUE if the garbage collector is enabled, FALSE otherwise.

gc_enable
get_cfg_var
PHP Options/Info Функции


Gets the value of a PHP configuration option

gc_enabled
get_current_user
PHP Options/Info Функции
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 Options/Info Функции


Gets the name of the owner of the current PHP script

get_cfg_var
get_defined_constants
PHP Options/Info Функции
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 Options/Info Функции


Returns an associative array with the names of all the constants and their values

get_current_user
get_extension_funcs
PHP Options/Info Функции
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 ] )

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
(
    [internal] => 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.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() - Checks whether a given named constant exists
  • 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 Options/Info Функции


Returns an array with the names of the functions of a module

get_defined_constants
get_include_path
PHP Options/Info Функции
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 Options/Info Функции


Gets the current include_path configuration option

get_extension_funcs
get_included_files
PHP Options/Info Функции
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() - include

get_extension_funcs
get_included_files
PHP Options/Info Функции


Returns an array with the names of included or required files

get_include_path
get_loaded_extensions
PHP Options/Info Функции
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
  • include_once() - include_once
  • require() - require
  • require_once() - require_once
  • get_required_files() - Псевдоним get_included_files

get_include_path
get_loaded_extensions
PHP Options/Info Функции


Returns an array with the names of all modules compiled and loaded

get_included_files
get_magic_quotes_gpc
PHP Options/Info Функции
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

Return zend_extensions or not, defaults to FALSE (do not list zend_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 lots of PHP information

get_included_files
get_magic_quotes_gpc
PHP Options/Info Функции


Gets the current configuration setting of magic quotes gpc

get_loaded_extensions
get_magic_quotes_runtime
PHP Options/Info Функции
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 the setting magic_quotes_gpc will not work at runtime.

For more information about magic_quotes, see this security section.

Возвращаемые значения

Returns 0 if magic quotes gpc are 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 = addslashes($_POST['lastname']);
} else {
    $lastname = $_POST['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() - Удаляет экранирование символов, произведенное функцией addslashes
  • 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 Options/Info Функции


Gets the current active configuration setting of magic_quotes_runtime

get_magic_quotes_gpc
get_required_files
PHP Options/Info Функции
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())
{
    // Deactive
    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 Options/Info Функции


Псевдоним get_included_files

get_magic_quotes_runtime
getenv
PHP Options/Info Функции
PHP Manual

get_required_files

(PHP 4, PHP 5)

get_required_files — Псевдоним get_included_files()

Описание

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

get_magic_quotes_runtime
getenv
PHP Options/Info Функции


Gets the value of an environment variable

get_required_files
getlastmod
PHP Options/Info Функции
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(). You can find out what many of them mean by taking a look at the » CGI specification, specifically the » page on environmental variables.

Список параметров

varname

The variable name.

Возвращаемые значения

Returns the value of the environment variable varname , or FALSE on an error.

Примеры

Пример #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 Options/Info Функции


Gets time of last page modification

getenv
getmygid
PHP Options/Info Функции
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 Options/Info Функции


Get PHP script owner's GID

getlastmod
getmyinode
PHP Options/Info Функции
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 Options/Info Функции


Gets the inode of the current script

getmygid
getmypid
PHP Options/Info Функции
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 Options/Info Функции


Gets PHP's process ID

getmyinode
getmyuid
PHP Options/Info Функции
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 Options/Info Функции


Gets PHP script owner's UID

getmypid
getopt
PHP Options/Info Функции
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 Options/Info Функции


Gets options from the command line argument list

getmyuid
getrusage
PHP Options/Info Функции
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.
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.

Замечание: Prior to PHP5.3.0 this parameter was only available on few systems

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.

Список изменений

Версия | Описание
5.3.0 | Added support for "=" as argument/value separator.
5.3.0 | Added support for optional values (specified with "::").
5.3.0 | This function is no longer system dependent and 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)
}

getmyuid
getrusage
PHP Options/Info Функции


Gets the current resource usages

getopt
ini_alter
PHP Options/Info Функции
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 Options/Info Функции


Псевдоним ini_set

getrusage
ini_get_all
PHP Options/Info Функции
PHP Manual

ini_alter

(PHP 4, PHP 5)

ini_alter — Псевдоним ini_set()

Описание

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

getrusage
ini_get_all
PHP Options/Info Функции


Gets all configuration options

ini_alter
ini_get
PHP Options/Info Функции
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
    ...
)

Смотрите также

  • How to change configuration settings
  • 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 lots of PHP information

ini_alter
ini_get
PHP Options/Info Функции


Gets the value of a configuration option

ini_get_all
ini_restore
PHP Options/Info Функции
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 on failure or for null values.

Примеры

Пример #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 Options/Info Функции


Restores the value of a configuration option

ini_get
ini_set
PHP Options/Info Функции
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 Options/Info Функции


Sets the value of a configuration option

ini_restore
main
PHP Options/Info Функции
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
main
PHP Options/Info Функции


Dummy for main

ini_set
memory_get_peak_usage
PHP Options/Info Функции
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

ini_set
memory_get_peak_usage
PHP Options/Info Функции


Returns the peak of memory allocated by PHP

main
memory_get_usage
PHP Options/Info Функции
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 Options/Info Функции


Returns the amount of memory allocated to PHP

memory_get_peak_usage
php_ini_loaded_file
PHP Options/Info Функции
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 Options/Info Функции


Retrieve a path to the loaded php.ini file

memory_get_usage
php_ini_scanned_files
PHP Options/Info Функции
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.

Список параметров

This function has no parameters.

Возвращаемые значения

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 lots of PHP information
  • The configuration file

memory_get_usage
php_ini_scanned_files
PHP Options/Info Функции


Return a list of .ini files parsed from the additional ini dir

php_ini_loaded_file
php_logo_guid
PHP Options/Info Функции
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 lots of PHP information
  • php_ini_loaded_file() - Retrieve a path to the loaded php.ini file

php_ini_loaded_file
php_logo_guid
PHP Options/Info Функции


Gets the logo guid

php_ini_scanned_files
php_sapi_name
PHP Options/Info Функции
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 lots of PHP information
  • 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 Options/Info Функции


Returns the type of interface between web server and PHP

php_logo_guid
php_uname
PHP Options/Info Функции
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 Options/Info Функции


Returns information about the operating system PHP is running on

php_sapi_name
phpcredits
PHP Options/Info Функции
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. For the name of just the operating system, consider using the PHP_OS constant, but be reminded this constant will contain the operating system PHP was built on.

On Unix, the output reverts to displaying the operating system information PHP was built on if it cannot determine the currently running OS.

Список параметров

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 lots of PHP information

php_sapi_name
phpcredits
PHP Options/Info Функции


Prints out the credits for PHP

php_uname
phpinfo
PHP Options/Info Функции
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. flag is optional, and it defaults to CREDITS_ALL.

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 4.0 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 lots of PHP information

php_uname
phpinfo
PHP Options/Info Функции


Outputs lots of PHP information

phpcredits
phpversion
PHP Options/Info Функции
PHP Manual

phpinfo

(PHP 4, PHP 5)

phpinfo — Outputs lots of PHP information

Описание

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. This is the default value.

Возвращаемые значения

Возвращает 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 Options/Info Функции


Gets the current PHP version

phpinfo
putenv
PHP Options/Info Функции
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 = PHP_VERSION;

    define('PHP_VERSION_ID', ($version{0} * 10000 + $version{2} * 100 + $version{4}));
}

// PHP_VERSION_ID is defined as a number, where the higher the number
// is, the newer a PHP version is used. Its 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{2});
    define('PHP_RELEASE_VERSION',     $version{4});

    // and so on, ...
}
?>

Примечания

Замечание: This information is also available in the predefined constant PHP_VERSION. More versioning information is available using the PHP_VERSION_* constants.

Смотрите также

  • version_compare() - Compares two "PHP-standardized" version number strings
  • phpinfo() - Outputs lots of PHP information
  • 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 Options/Info Функции


Sets the value of an environment variable

phpversion
restore_include_path
PHP Options/Info Функции
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");
?>

Примечания

Внимание

These directives have only effect when safe-mode itself is enabled!

Смотрите также

  • getenv() - Gets the value of an environment variable

phpversion
restore_include_path
PHP Options/Info Функции


Restores the value of the include_path configuration option

putenv
set_include_path
PHP Options/Info Функции
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() - include

putenv
set_include_path
PHP Options/Info Функции


Sets the include_path configuration option

restore_include_path
set_magic_quotes_runtime
PHP Options/Info Функции
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 or FALSE on failure.

Примеры

Пример #1 set_include_path() example

<?php
// Works as of PHP 4.3.0
set_include_path('/inc');

// Works in all PHP versions
ini_set('include_path', '/inc');
?>

Пример #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() - include

restore_include_path
set_magic_quotes_runtime
PHP Options/Info Функции


Sets the current active configuration setting of magic_quotes_runtime

set_include_path
set_time_limit
PHP Options/Info Функции
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.

Список параметров

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 Options/Info Функции


Limits the maximum execution time

set_magic_quotes_runtime
sys_get_temp_dir
PHP Options/Info Функции
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 Options/Info Функции


Returns directory path used for temporary files

set_time_limit
version_compare
PHP Options/Info Функции
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 Options/Info Функции


Compares two "PHP-standardized" version number strings

sys_get_temp_dir
zend_logo_guid
PHP Options/Info Функции
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: dev < alpha = a < beta = b < RC < pl. 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') === 1) {
    echo 'I am at least PHP version 6.0.0, my version: ' . PHP_VERSION . "\n";
}

if (version_compare(PHP_VERSION, '5.3.0') === 1) {
    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 Options/Info Функции


Gets the Zend guid

version_compare
zend_thread_id
PHP Options/Info Функции
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 Options/Info Функции


Returns a unique identifier for the current thread

zend_logo_guid
zend_version
PHP Options/Info Функции
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 Options/Info Функции


Gets the version of the current Zend engine

zend_thread_id
Memtrack
PHP Options/Info Функции
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 lots of PHP information
  • phpcredits() - Prints out the credits for PHP
  • php_logo_guid() - Gets the logo guid
  • phpversion() - Gets the current PHP version

zend_thread_id
Memtrack
PHP Options/Info Функции


Memtrack

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Creating large array in a function
zend_version
Введение
Affecting PHP's Behaviour


Введение

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


Установка

Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и 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_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

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


Примеры

Содержание

  • Creating large array in a function
Предопределенные константы
Creating large array in a function
Memtrack


Creating large array in a function

Примеры
Object overloading
Примеры
PHP Manual

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
Примеры
Object overloading
Примеры


Object property and method call overloading

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Overloading a PHP class
  • Object overloading Функции
    • overload — Enable property and method call overloading for a class
Creating large array in a function
Введение
Affecting PHP's Behaviour


Введение

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


Примеры

Содержание

  • Overloading a PHP class
Предопределенные константы
Overloading a PHP class
Object overloading


Overloading a PHP class

Примеры
Object overloading Функции
Примеры
PHP Manual

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 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
Overloading a PHP class
overload
Object overloading


Enable property and method call overloading for a class

Object overloading Функции
Output Control
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 Функции
Output Control
Object overloading Функции


Output Buffering Control

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Примеры
  • Output Control Функции
    • flush — Flush the output buffer
    • ob_clean — Clean (erase) the output buffer
    • ob_end_clean — Clean (erase) the output buffer and turn off output buffering
    • ob_end_flush — Flush (send) the output buffer and turn off output buffering
    • ob_flush — Flush (send) the output buffer
    • ob_get_clean — Get current buffer contents and delete current output buffer
    • ob_get_contents — Return the contents of the output buffer
    • ob_get_flush — Flush the output buffer, return it as a string and turn off output buffering
    • ob_get_length — Return the length of the output buffer
    • ob_get_level — Return the nesting level of the output buffering mechanism
    • ob_get_status — Get status of output buffers
    • ob_gzhandler — ob_start callback function to gzip output buffer
    • ob_implicit_flush — Turn implicit flush on/off
    • ob_list_handlers — List all output handlers in use
    • ob_start — Turn on output buffering
    • output_add_rewrite_var — Add URL rewriter values
    • output_reset_rewrite_vars — Reset URL rewriter values
overload
Введение
Affecting PHP's Behaviour


Введение

The Output Control functions allow you to control when output is sent from the script. This can be useful in several different situations, especially if you need to send headers to the browser after your script has began outputting data. The Output Control functions do not affect headers sent using header() or setcookie(), only functions such as echo() and data between blocks of PHP code.

Замечание: When upgrading from PHP 4.1.x (and 4.2.x) to 4.3.x due to a bug in earlier versions you must ensure that implict_flush is OFF in your php.ini, otherwise any output with ob_start() will not be hidden from output.

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


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Output Control


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Output Control configuration options
Name | Default | Changeable | Changelog
output_buffering | "0" | PHP_INI_PERDIR |
output_handler | NULL | PHP_INI_PERDIR | Available since PHP 4.0.4.
implicit_flush | "0" | PHP_INI_ALL | PHP_INI_PERDIR in PHP <= 4.2.3.

Для подробного описания констант PHP_INI_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

output_buffering boolean/integer

You can enable output buffering for all files by setting this directive to 'On'. If you wish to limit the size of the buffer to a certain size - you can use a maximum number of bytes instead of 'On', as a value for this directive (e.g., output_buffering=4096). As of PHP 4.3.5, this directive is always Off in PHP-CLI.

output_handler string

You can redirect all of the output of your scripts to a function. For example, if you set output_handler to mb_output_handler(), character encoding will be transparently converted to the specified encoding. Setting any output handler automatically turns on output buffering.

Замечание:

      You cannot use both mb_output_handler() with
      ob_iconv_handler() and you cannot use both
      ob_gzhandler() and
      zlib.output_compression.

Замечание: Only built-in functions can be used with this directive. For user defined functions, use ob_start().

implicit_flush boolean

FALSE by default. Changing this to TRUE tells PHP to tell the output layer to flush itself automatically after every output block. This is equivalent to calling the PHP function flush() after each and every call to print() or echo() and each and every HTML block.

When using PHP within an web environment, turning this option on has serious performance implications and is generally recommended for debugging purposes only. This value defaults to TRUE when operating under the CLI SAPI.

See also ob_implicit_flush().

Установка
Типы ресурсов
Установка и настройка


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

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

Типы ресурсов
Примеры
Output Control


Примеры
Output Control
PHP Manual

Примеры

Содержание

  • Примеры
Предопределенные константы
Примеры
Output Control


Примеры
Output Control Функции
Примеры
PHP Manual

Примеры

Пример #1 Output Control example

<?php

ob_start();
echo "Hello\n";

setcookie("cookiename", "cookiedata");

ob_end_flush();

?>

In the above example, the output from echo() would be stored in the output buffer until ob_end_flush() was called. In the mean time, the call to setcookie() successfully stored a cookie without causing an error. (You can not normally send headers to the browser after data has already been sent.)

Примеры
Output Control Функции
Примеры
PHP Manual


Output Control Функции

Смотрите также

See also header() and setcookie().

Содержание

  • flush — Flush the output buffer
  • ob_clean — Clean (erase) the output buffer
  • ob_end_clean — Clean (erase) the output buffer and turn off output buffering
  • ob_end_flush — Flush (send) the output buffer and turn off output buffering
  • ob_flush — Flush (send) the output buffer
  • ob_get_clean — Get current buffer contents and delete current output buffer
  • ob_get_contents — Return the contents of the output buffer
  • ob_get_flush — Flush the output buffer, return it as a string and turn off output buffering
  • ob_get_length — Return the length of the output buffer
  • ob_get_level — Return the nesting level of the output buffering mechanism
  • ob_get_status — Get status of output buffers
  • ob_gzhandler — ob_start callback function to gzip output buffer
  • ob_implicit_flush — Turn implicit flush on/off
  • ob_list_handlers — List all output handlers in use
  • ob_start — Turn on output buffering
  • output_add_rewrite_var — Add URL rewriter values
  • output_reset_rewrite_vars — Reset URL rewriter values
Примеры
flush
Output Control


Flush the output buffer

Output Control Функции
ob_clean
Output Control Функции
PHP Manual

flush

(PHP 4, PHP 5)

flush — Flush the output buffer

Описание

void flush ( void )

Flushes the output buffers of PHP and whatever backend PHP is using (CGI, a web server, etc). This effectively tries to push all the output so far to the user's browser.

flush() has no effect on the buffering scheme of your web server or the browser on the client side. Thus you need to call both ob_flush() and flush() to flush the output buffers.

Several servers, especially on Win32, will still buffer the output from your script until it terminates before transmitting the results to the browser.

Server modules for Apache like mod_gzip may do buffering of their own that will cause flush() to not result in data being sent immediately to the client.

Even the browser may buffer its input before displaying it. Netscape, for example, buffers text until it receives an end-of-line or the beginning of a tag, and it won't render tables until the </table> tag of the outermost table is seen.

Some versions of Microsoft Internet Explorer will only start to display the page after they have received 256 bytes of output, so you may need to send extra whitespace before flushing to get those browsers to display the page.

Возвращаемые значения

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

Output Control Функции
ob_clean
Output Control Функции


Clean (erase) the output buffer

flush
ob_end_clean
Output Control Функции
PHP Manual

ob_clean

(PHP 4 >= 4.2.0, PHP 5)

ob_clean — Clean (erase) the output buffer

Описание

void ob_clean ( void )

This function discards the contents of the output buffer.

This function does not destroy the output buffer like ob_end_clean() does.

Возвращаемые значения

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

Смотрите также

  • ob_flush() - Flush (send) the output buffer
  • ob_end_flush() - Flush (send) the output buffer and turn off output buffering
  • ob_end_clean() - Clean (erase) the output buffer and turn off output buffering

flush
ob_end_clean
Output Control Функции


Clean (erase) the output buffer and turn off output buffering

ob_clean
ob_end_flush
Output Control Функции
PHP Manual

ob_end_clean

(PHP 4, PHP 5)

ob_end_clean — Clean (erase) the output buffer and turn off output buffering

Описание

bool ob_end_clean ( void )

This function discards the contents of the topmost output buffer and turns off this output buffering. If you want to further process the buffer's contents you have to call ob_get_contents() before ob_end_clean() as the buffer contents are discarded when ob_end_clean() is called.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Reasons for failure are first that you called the function without an active buffer or that for some reason a buffer could not be deleted (possible for special buffer).

Errors/Exceptions

If the function fails it generates an E_NOTICE.

Список изменений

Версия | Описание
4.2.0 | The boolean return value was added.

Примеры

The following example shows an easy way to get rid of all output buffers:

Пример #1 ob_end_clean() example

<?php
ob_start();
echo 'Text that won\'t get displayed.';
ob_end_clean();
?>

Смотрите также

  • ob_start() - Turn on output buffering
  • ob_get_contents() - Return the contents of the output buffer
  • ob_flush() - Flush (send) the output buffer

ob_clean
ob_end_flush
Output Control Функции


Flush (send) the output buffer and turn off output buffering

ob_end_clean
ob_flush
Output Control Функции
PHP Manual

ob_end_flush

(PHP 4, PHP 5)

ob_end_flush — Flush (send) the output buffer and turn off output buffering

Описание

bool ob_end_flush ( void )

This function will send the contents of the topmost output buffer (if any) and turn this output buffer off. If you want to further process the buffer's contents you have to call ob_get_contents() before ob_end_flush() as the buffer contents are discarded after ob_end_flush() is called.

Замечание: This function is similar to ob_get_flush(), except that ob_get_flush() returns the buffer as a string.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Reasons for failure are first that you called the function without an active buffer or that for some reason a buffer could not be deleted (possible for special buffer).

Errors/Exceptions

If the function fails it generates an E_NOTICE.

Список изменений

Версия | Описание
4.2.0 | The boolean return value was added.

Примеры

Пример #1 ob_end_flush() example

The following example shows an easy way to flush and end all output buffers:

<?php
  while (@ob_end_flush());
?>

Смотрите также

  • ob_start() - Turn on output buffering
  • ob_get_contents() - Return the contents of the output buffer
  • ob_get_flush() - Flush the output buffer, return it as a string and turn off output buffering
  • ob_flush() - Flush (send) the output buffer
  • ob_end_clean() - Clean (erase) the output buffer and turn off output buffering

ob_end_clean
ob_flush
Output Control Функции


Flush (send) the output buffer

ob_end_flush
ob_get_clean
Output Control Функции
PHP Manual

ob_flush

(PHP 4 >= 4.2.0, PHP 5)

ob_flush — Flush (send) the output buffer

Описание

void ob_flush ( void )

This function will send the contents of the output buffer (if any). If you want to further process the buffer's contents you have to call ob_get_contents() before ob_flush() as the buffer contents are discarded after ob_flush() is called.

This function does not destroy the output buffer like ob_end_flush() does.

Возвращаемые значения

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

Смотрите также

  • ob_get_contents() - Return the contents of the output buffer
  • ob_clean() - Clean (erase) the output buffer
  • ob_end_flush() - Flush (send) the output buffer and turn off output buffering
  • ob_end_clean() - Clean (erase) the output buffer and turn off output buffering

ob_end_flush
ob_get_clean
Output Control Функции


Get current buffer contents and delete current output buffer

ob_flush
ob_get_contents
Output Control Функции
PHP Manual

ob_get_clean

(PHP 4 >= 4.3.0, PHP 5)

ob_get_clean — Get current buffer contents and delete current output buffer

Описание

string ob_get_clean ( void )

Gets the current buffer contents and delete current output buffer.

ob_get_clean() essentially executes both
ob_get_contents() and
ob_end_clean().

Возвращаемые значения

Returns the contents of the output buffer and end output buffering. If output buffering isn't active then FALSE is returned.

Примеры

Пример #1 A simple ob_get_clean() example

<?php

ob_start();

echo "Hello World";

$out = ob_get_clean();
$out = strtolower($out);

var_dump($out);
?>

Результат выполнения данного примера:

string(11) "hello world"

Смотрите также

  • ob_get_contents() - Return the contents of the output buffer
  • ob_start() - Turn on output buffering

ob_flush
ob_get_contents
Output Control Функции


Return the contents of the output buffer

ob_get_clean
ob_get_flush
Output Control Функции
PHP Manual

ob_get_contents

(PHP 4, PHP 5)

ob_get_contents — Return the contents of the output buffer

Описание

string ob_get_contents ( void )

Gets the contents of the output buffer without clearing it.

Возвращаемые значения

This will return the contents of the output buffer or FALSE, if output buffering isn't active.

Примеры

Пример #1 A simple ob_get_contents() example

<?php

ob_start();

echo "Hello ";

$out1 = ob_get_contents();

echo "World";

$out2 = ob_get_contents();

ob_end_clean();

var_dump($out1, $out2);
?>

Результат выполнения данного примера:

string(6) "Hello "
string(11) "Hello World"

Смотрите также

  • ob_start() - Turn on output buffering
  • ob_get_length() - Return the length of the output buffer

ob_get_clean
ob_get_flush
Output Control Функции


Flush the output buffer, return it as a string and turn off output buffering

ob_get_contents
ob_get_length
Output Control Функции
PHP Manual

ob_get_flush

(PHP 4 >= 4.3.0, PHP 5)

ob_get_flush — Flush the output buffer, return it as a string and turn off output buffering

Описание

string ob_get_flush ( void )

ob_get_flush() flushes the output buffer, return it as a string and turns off output buffering.

Замечание: This function is similar to ob_end_flush(), except that this function returns the buffer as a string.

Возвращаемые значения

Returns the output buffer or FALSE if no buffering is active.

Примеры

Пример #1 ob_get_flush() example

<?php
//using output_buffering=On
print_r(ob_list_handlers());

//save buffer in a file
$buffer = ob_get_flush();
file_put_contents('buffer.txt', $buffer);

print_r(ob_list_handlers());
?>

Результат выполнения данного примера:

Array
(
    [0] => default output handler
)
Array
(
)

Смотрите также

  • ob_end_clean() - Clean (erase) the output buffer and turn off output buffering
  • ob_end_flush() - Flush (send) the output buffer and turn off output buffering
  • ob_list_handlers() - List all output handlers in use

ob_get_contents
ob_get_length
Output Control Функции


Return the length of the output buffer

ob_get_flush
ob_get_level
Output Control Функции
PHP Manual

ob_get_length

(PHP 4 >= 4.0.2, PHP 5)

ob_get_length — Return the length of the output buffer

Описание

int ob_get_length ( void )

This will return the length of the contents in the output buffer.

Возвращаемые значения

Returns the length of the output buffer contents or FALSE if no buffering is active.

Примеры

Пример #1 A simple ob_get_length() example

<?php

ob_start();

echo "Hello ";

$len1 = ob_get_length();

echo "World";

$len2 = ob_get_length();

ob_end_clean();

echo $len1 . ", ." . $len2;
?>

Результат выполнения данного примера:

6, 11

Смотрите также

  • ob_start() - Turn on output buffering
  • ob_get_contents() - Return the contents of the output buffer

ob_get_flush
ob_get_level
Output Control Функции


Return the nesting level of the output buffering mechanism

ob_get_length
ob_get_status
Output Control Функции
PHP Manual

ob_get_level

(PHP 4 >= 4.2.0, PHP 5)

ob_get_level — Return the nesting level of the output buffering mechanism

Описание

int ob_get_level ( void )

Returns the nesting level of the output buffering mechanism.

Возвращаемые значения

Returns the level of nested output buffering handlers or zero if output buffering is not active.

Смотрите также

  • ob_start() - Turn on output buffering
  • ob_get_contents() - Return the contents of the output buffer

ob_get_length
ob_get_status
Output Control Функции


Get status of output buffers

ob_get_level
ob_gzhandler
Output Control Функции
PHP Manual

ob_get_status

(PHP 4 >= 4.2.0, PHP 5)

ob_get_status — Get status of output buffers

Описание

array ob_get_status ([ bool $full_status = FALSE ] )

ob_get_status() returns status information on either the top level output buffer or all active output buffer levels if full_status is set to TRUE.

Список параметров

full_status

TRUE to return all active output buffer levels. If FALSE or not set, only the top level output buffer is returned.

Возвращаемые значения

If called without the full_status parameter or with full_status = FALSE a simple array with the following elements is returned:

Array
(
    [level] => 2
    [type] => 0
    [status] => 0
    [name] => URL-Rewriter
    [del] => 1
)

Simple ob_get_status() results
Key:level
Value:Output nesting level
Key:type
Value:PHP_OUTPUT_HANDLER_INTERNAL (0) or PHP_OUTPUT_HANDLER_USER (1)
Key:status
Value:One of PHP_OUTPUT_HANDLER_START (0), PHP_OUTPUT_HANDLER_CONT (1) or PHP_OUTPUT_HANDLER_END (2)
Key:name
Value:Name of active output handler or ' default output handler' if none is set
Key:del
Value:Erase-flag as set by ob_start()

If called with full_status = TRUE an array with one element for each active output buffer level is returned. The output level is used as key of the top level array and each array element itself is another array holding status information on one active output level.

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
        )

)

The full output contains these additional elements:

Full ob_get_status() results
Key:chunk_size
Value:Chunk size as set by ob_start()
Key:size
Value:...
Key:blocksize
Value:...

Смотрите также

  • ob_get_level() - Return the nesting level of the output buffering mechanism
  • ob_list_handlers() - List all output handlers in use

ob_get_level
ob_gzhandler
Output Control Функции


ob_start callback function to gzip output buffer

ob_get_status
ob_implicit_flush
Output Control Функции
PHP Manual

ob_gzhandler

(PHP 4 >= 4.0.4, PHP 5)

ob_gzhandler — ob_start callback function to gzip output buffer

Описание

string ob_gzhandler ( string $buffer , int $mode )

ob_gzhandler() is intended to be used as a callback function for ob_start() to help facilitate sending gz-encoded data to web browsers that support compressed web pages. Before ob_gzhandler() actually sends compressed data, it determines what type of content encoding the browser will accept ("gzip", "deflate" or none at all) and will return its output accordingly. All browsers are supported since it's up to the browser to send the correct header saying that it accepts compressed web pages. If a browser doesn't support compressed pages this function returns FALSE.

Список параметров

buffer

mode

Возвращаемые значения

Список изменений

Версия | Описание
4.0.5 | The mode parameter was added.

Примеры

Пример #1 ob_gzhandler() example

<?php

ob_start("ob_gzhandler");

?>
<html>
<body>
<p>This should be a compressed page.</p>
</html>
<body>

Примечания

Замечание: ob_gzhandler() requires the zlib extension.

Замечание: You cannot use both ob_gzhandler() and zlib.output_compression. Also note that using zlib.output_compression is preferred over ob_gzhandler().

Смотрите также

  • ob_start() - Turn on output buffering
  • ob_end_flush() - Flush (send) the output buffer and turn off output buffering

ob_get_status
ob_implicit_flush
Output Control Функции


Turn implicit flush on/off

ob_gzhandler
ob_list_handlers
Output Control Функции
PHP Manual

ob_implicit_flush

(PHP 4, PHP 5)

ob_implicit_flush — Turn implicit flush on/off

Описание

void ob_implicit_flush ([ int $flag ] )

ob_implicit_flush() will turn implicit flushing on or off. Implicit flushing will result in a flush operation after every output call, so that explicit calls to flush() will no longer be needed.

Список параметров

flag

TRUE to turn implicit flushing on, FALSE otherwise. Defaults to TRUE.

Возвращаемые значения

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

Смотрите также

  • flush() - Flush the output buffer
  • ob_start() - Turn on output buffering
  • ob_end_flush() - Flush (send) the output buffer and turn off output buffering

ob_gzhandler
ob_list_handlers
Output Control Функции


List all output handlers in use

ob_implicit_flush
ob_start
Output Control Функции
PHP Manual

ob_list_handlers

(PHP 4 >= 4.3.0, PHP 5)

ob_list_handlers — List all output handlers in use

Описание

array ob_list_handlers ( void )

Lists all output handlers in use.

Возвращаемые значения

This will return an array with the output handlers in use (if any). If output_buffering is enabled or an anonymous function was used with ob_start(), ob_list_handlers() will return "default output handler".

Примеры

Пример #1 ob_list_handlers() example

<?php
//using output_buffering=On
print_r(ob_list_handlers());
ob_end_flush();

ob_start("ob_gzhandler");
print_r(ob_list_handlers());
ob_end_flush();

// anonymous functions
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() - Clean (erase) the output buffer and turn off output buffering
  • ob_end_flush() - Flush (send) the output buffer and turn off output buffering
  • ob_get_flush() - Flush the output buffer, return it as a string and turn off output buffering
  • ob_start() - Turn on output buffering

ob_implicit_flush
ob_start
Output Control Функции


Turn on output buffering

ob_list_handlers
output_add_rewrite_var
Output Control Функции
PHP Manual

ob_start

(PHP 4, PHP 5)

ob_start — Turn on output buffering

Описание

bool ob_start ([ callback $output_callback [, int $chunk_size [, bool $erase ]]] )

This function will turn output buffering on. While output buffering is active no output is sent from the script (other than headers), instead the output is stored in an internal buffer.

The contents of this internal buffer may be copied into a string variable using ob_get_contents(). To output what is stored in the internal buffer, use ob_end_flush(). Alternatively, ob_end_clean() will silently discard the buffer contents.

Внимание

Some web servers (e.g. Apache) change the working directory of a script when calling the callback function. You can change it back by e.g. chdir(dirname($_SERVER['SCRIPT_FILENAME'])) in the callback function.

Output buffers are stackable, that is, you may call ob_start() while another ob_start() is active. Just make sure that you call ob_end_flush() the appropriate number of times. If multiple output callback functions are active, output is being filtered sequentially through each of them in nesting order.

Список параметров

output_callback

An optional output_callback function may be specified. This function takes a string as a parameter and should return a string. The function will be called when the output buffer is flushed (sent) or cleaned (with ob_flush(), ob_clean() or similar function) or when the output buffer is flushed to the browser at the end of the request. When output_callback is called, it will receive the contents of the output buffer as its parameter and is expected to return a new output buffer as a result, which will be sent to the browser. If the output_callback is not a callable function, this function will return FALSE.

If the callback function has two parameters, the second parameter is filled with a bit-field consisting of PHP_OUTPUT_HANDLER_START, PHP_OUTPUT_HANDLER_CONT and PHP_OUTPUT_HANDLER_END.

If output_callback returns FALSE original input is sent to the browser.

The output_callback parameter may be bypassed by passing a NULL value.

ob_end_clean(), ob_end_flush(), ob_clean(), ob_flush() and ob_start() may not be called from a callback function. If you call them from callback function, the behavior is undefined. If you would like to delete the contents of a buffer, return "" (a null string) from callback function. You can't even call functions using the output buffering functions like print_r($expression, true) or highlight_file($filename, true) from a callback function.

Замечание: In PHP 4.0.4, ob_gzhandler() was introduced to facilitate sending gz-encoded data to web browsers that support compressed web pages. ob_gzhandler() determines what type of content encoding the browser will accept and will return its output accordingly.

chunk_size

If the optional parameter chunk_size is passed, the buffer will be flushed after any output call which causes the buffer's length to equal or exceed chunk_size . Default value 0 means that the function is called only in the end, other special value 1 sets chunk_size to 4096.

erase

If the optional parameter erase is set to FALSE, the buffer will not be deleted until the script finishes.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
4.3.2 | This function was changed to return FALSE in case the passed output_callback can not be executed.
4.2.0 | Added the erase parameter.

Примеры

Пример #1 User defined callback function example

<?php

function callback($buffer)
{
  // replace all the apples with oranges
  return (str_replace("apples", "oranges", $buffer));
}

ob_start("callback");

?>
<html>
<body>
<p>It's like comparing apples to oranges.</p>
</body>
</html>
<?php

ob_end_flush();

?>

Результат выполнения данного примера:

<html>
<body>
<p>It's like comparing oranges to oranges.</p>
</body>
</html>

Смотрите также

  • ob_get_contents() - Return the contents of the output buffer
  • ob_end_clean() - Clean (erase) the output buffer and turn off output buffering
  • ob_end_flush() - Flush (send) the output buffer and turn off output buffering
  • ob_implicit_flush() - Turn implicit flush on/off
  • ob_gzhandler() - ob_start callback function to gzip output buffer
  • 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 callback function to repair the buffer

ob_list_handlers
output_add_rewrite_var
Output Control Функции


Add URL rewriter values

ob_start
output_reset_rewrite_vars
Output Control Функции
PHP Manual

output_add_rewrite_var

(PHP 4 >= 4.3.0, PHP 5)

output_add_rewrite_var — Add URL rewriter values

Описание

bool output_add_rewrite_var ( string $name , string $value )

This function adds another name/value pair to the URL rewrite mechanism. The name and value will be added to URLs (as GET parameter) and forms (as hidden input fields) the same way as the session ID when transparent URL rewriting is enabled with session.use_trans_sid. Please note that absolute URLs (http://example.com/..) aren't rewritten.

This function's behavior is controlled by the url_rewriter.tags php.ini parameter.

Замечание: Calling this function will implicitly start output buffering if it is not active already.

Список параметров

name

The variable name.

value

The variable value.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 output_add_rewrite_var() example

<?php
output_add_rewrite_var('var', 'value');

// some links
echo '<a href="file.php">link</a>
<a href="http://example.com">link2</a>';

// a form
echo '<form action="script.php" method="post">
<input type="text" name="var2" />
</form>';

print_r(ob_list_handlers());
?>

Результат выполнения данного примера:

<a href="file.php?var=value">link</a>
<a href="http://example.com">link2</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() - Reset URL rewriter values
  • ob_flush() - Flush (send) the output buffer
  • ob_list_handlers() - List all output handlers in use

ob_start
output_reset_rewrite_vars
Output Control Функции


Reset URL rewriter values

output_add_rewrite_var
runkit
Output Control Функции
PHP Manual

output_reset_rewrite_vars

(PHP 4 >= 4.3.0, PHP 5)

output_reset_rewrite_vars — Reset URL rewriter values

Описание

bool output_reset_rewrite_vars ( void )

This function resets the URL rewriter and removes all rewrite variables previously set by the output_add_rewrite_var() function or the session mechanism (if session.use_trans_sid was set on session_start()).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 output_reset_rewrite_vars() example

<?php
session_start();
output_add_rewrite_var('var', 'value');

echo '<a href="file.php">link</a>';
ob_flush();

output_reset_rewrite_vars();
echo '<a href="file.php">link</a>';
?>

Результат выполнения данного примера:

<a href="file.php?PHPSESSID=xxx&var=value">link</a>
<a href="file.php">link</a>

Смотрите также

  • output_add_rewrite_var() - Add URL rewriter values
  • ob_flush() - Flush (send) the output buffer
  • ob_list_handlers() - List all output handlers in use
  • session_start() - Initialize session data

output_add_rewrite_var
runkit
Output Control Функции


runkit

  • Введение
  • Предопределенные константы
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • runkit Функции
    • Runkit_Sandbox — Runkit Sandbox Class -- PHP Virtual Machine
    • Runkit_Sandbox_Parent — Runkit Anti-Sandbox Class
    • runkit_class_adopt — Convert a base class to an inherited class, add ancestral methods when appropriate
    • runkit_class_emancipate — Convert an inherited class to a base class, removes any method whose scope is ancestral
    • runkit_constant_add — Similar to define(), but allows defining in class definitions as well
    • runkit_constant_redefine — Redefine an already defined constant
    • runkit_constant_remove — Remove/Delete an already defined constant
    • runkit_function_add — Add a new function, similar to create_function
    • runkit_function_copy — Copy a function to a new function name
    • runkit_function_redefine — Replace a function definition with a new implementation
    • runkit_function_remove — Remove a function definition
    • runkit_function_rename — Change a function's name
    • runkit_import — Process a PHP file importing function and class definitions, overwriting where appropriate
    • runkit_lint_file — Check the PHP syntax of the specified file
    • runkit_lint — Check the PHP syntax of the specified php code
    • runkit_method_add — Dynamically adds a new method to a given class
    • runkit_method_copy — Copies a method from class to another
    • runkit_method_redefine — Dynamically changes the code of the given method
    • runkit_method_remove — Dynamically removes the given method
    • runkit_method_rename — Dynamically changes the name of the given method
    • runkit_return_value_used — Determines if the current functions return value will be used
    • runkit_sandbox_output_handler — Specify a function to capture and/or process output from a runkit sandbox
    • runkit_superglobals — Return numerically indexed array of registered superglobals
output_reset_rewrite_vars
Введение
Affecting PHP's Behaviour


Введение

The runkit extension provides means to modify constants, user-defined functions, and user-defined classes. It also provides for custom superglobal variables and embeddable sub-interpreters via sandboxing.

This package is meant as a feature added replacement for the » classkit package. When compiled with the --enable-runkit=classkit option to ./configure, it will export classkit compatible function definitions and constants.

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


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

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

RUNKIT_IMPORT_FUNCTIONS (integer)
runkit_import() flag indicating that normal functions should be imported from the specified file.
RUNKIT_IMPORT_CLASS_METHODS (integer)
runkit_import() flag indicating that class methods should be imported from the specified file.
RUNKIT_IMPORT_CLASS_CONSTS (integer)
runkit_import() flag indicating that class constants should be imported from the specified file. Note that this flag is only meaningful in PHP versions 5.1.0 and above.
RUNKIT_IMPORT_CLASS_PROPS (integer)
runkit_import() flag indicating that class standard properties should be imported from the specified file.
RUNKIT_IMPORT_CLASSES (integer)
runkit_import() flag representing a bitwise OR of the RUNKIT_IMPORT_CLASS_* constants.
RUNKIT_IMPORT_OVERRIDE (integer)
runkit_import() flag indicating that if any of the imported functions, methods, constants, or properties already exist, they should be replaced with the new definitions. If this flag is not set, then any imported definitions which already exist will be discarded.
RUNKIT_ACC_PUBLIC (integer)
PHP 5 specific flag to runkit_method_add()
RUNKIT_ACC_PROTECTED (integer)
PHP 5 specific flag to runkit_method_add()
RUNKIT_ACC_PRIVATE (integer)
PHP 5 specific flag to runkit_method_add()
CLASSKIT_ACC_PUBLIC (integer)
PHP 5 specific flag to classkit_method_add() Only defined when classkit compatibility is enabled.
CLASSKIT_ACC_PROTECTED (integer)
PHP 5 specific flag to classkit_method_add() Only defined when classkit compatibility is enabled.
CLASSKIT_ACC_PRIVATE (integer)
PHP 5 specific flag to classkit_method_add() Only defined when classkit compatibility is enabled.
CLASSKIT_AGGREGATE_OVERRIDE (integer)
PHP 5 specific flag to classkit_import() Only defined when classkit compatibility is enabled.
RUNKIT_VERSION (string)
Defined to the current version of the runkit package.
CLASSKIT_VERSION (string)
Defined to the current version of the runkit package. Only defined when classkit compatibility is enabled.
Введение
Установка и настройка
runkit


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Предопределенные константы
Требования
runkit


Требования

Modifying Constants, Functions, Classes, and Methods works with all releases of PHP 4 and PHP 5. No special requirements are necessary.

Custom Superglobals are only available in PHP 4.2.0 or later.

Sandboxing requires PHP 5.1.0 or later, or PHP 5.0.0 with a special TSRM patch applied. Regardless of which version of PHP is in use it must be compiled with the --enable-maintainer-zts option. See the README file in the runkit package for additional information.

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


Установка

Это расширение » PECL не поставляется вместе с PHP.

Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, могут быть найдены здесь: » http://pecl.php.net/package/runkit.

Вы можете скачать DLL этого расширения PECL со страницы » PHP Downloads или » http://snaps.php.net/.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Runkit Configuration Options
Name | Default | Changeable | Changelog
runkit.superglobal | "" | PHP_INI_PERDIR |
runkit.internal_override | "0" | PHP_INI_SYSTEM |

Для подробного описания констант PHP_INI_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

runkit.superglobal string
Comma-separated list of variable names to be treated as superglobals. This value should be set in the systemwide php.ini file, but may work in perdir configuration contexts depending on your SAPI.

Пример #1 Custom Superglobals with runkit.superglobal=_FOO,_BAR in 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';

/* Displays foo and bar, but not baz */
show_values();
?>
runkit.internal_override boolean
Enables ability to modify/rename/remove internal functions.

Установка
Типы ресурсов
Установка и настройка


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

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

Настройка во время выполнения
runkit Функции
Установка и настройка


runkit Функции

Содержание

  • Runkit_Sandbox — Runkit Sandbox Class -- PHP Virtual Machine
  • Runkit_Sandbox_Parent — Runkit Anti-Sandbox Class
  • runkit_class_adopt — Convert a base class to an inherited class, add ancestral methods when appropriate
  • runkit_class_emancipate — Convert an inherited class to a base class, removes any method whose scope is ancestral
  • runkit_constant_add — Similar to define(), but allows defining in class definitions as well
  • runkit_constant_redefine — Redefine an already defined constant
  • runkit_constant_remove — Remove/Delete an already defined constant
  • runkit_function_add — Add a new function, similar to create_function
  • runkit_function_copy — Copy a function to a new function name
  • runkit_function_redefine — Replace a function definition with a new implementation
  • runkit_function_remove — Remove a function definition
  • runkit_function_rename — Change a function's name
  • runkit_import — Process a PHP file importing function and class definitions, overwriting where appropriate
  • runkit_lint_file — Check the PHP syntax of the specified file
  • runkit_lint — Check the PHP syntax of the specified php code
  • runkit_method_add — Dynamically adds a new method to a given class
  • runkit_method_copy — Copies a method from class to another
  • runkit_method_redefine — Dynamically changes the code of the given method
  • runkit_method_remove — Dynamically removes the given method
  • runkit_method_rename — Dynamically changes the name of the given method
  • runkit_return_value_used — Determines if the current functions return value will be used
  • runkit_sandbox_output_handler — Specify a function to capture and/or process output from a runkit sandbox
  • runkit_superglobals — Return numerically indexed array of registered superglobals
Типы ресурсов
Runkit_Sandbox
runkit


Runkit Sandbox Class -- PHP Virtual Machine

runkit Функции
Runkit_Sandbox_Parent
runkit Функции
PHP Manual

Runkit_Sandbox

(PECL runkit >= 0.7.0)

Runkit_Sandbox — Runkit Sandbox Class -- PHP Virtual Machine

Описание

Instantiating the Runkit_Sandbox class creates a new thread with its own scope and program stack. Using a set of options passed to the constructor, this environment may be restricted to a subset of what the primary interpreter can do and provide a safer environment for executing user supplied code.

Замечание: Sandbox support (required for runkit_lint(), runkit_lint_file(), and the Runkit_Sandbox class) is only available as of PHP 5.1.0 or specially patched versions of PHP 5.0, and requires that thread safety be enabled. See the README file included in the runkit package for more information.

Constructor

void Runkit_Sandbox::__construct ([ array $options ] )

options is an associative array containing any combination of the special ini options listed below.

safe_mode

If the outer script which is instantiating the Runkit_Sandbox class is configured with safe_mode = off, then safe_mode may be turned on for the sandbox environment. This setting can not be used to disable safe_mode when it's already enabled in the outer script.

safe_mode_gid

If the outer script which is instantiating the Runkit_Sandbox class is configured with safe_mode_gid = on, then safe_mode_gid may be turned off for the sandbox environment. This setting can not be used to enable safe_mode_gid when it's already disabled in the outer script.

safe_mode_include_dir

If the outer script which is instantiating the Runkit_Sandbox class is configured with a safe_mode_include_dir, then a new safe_mode_include_dir may be set for sandbox environments below the currently defined value. safe_mode_include_dir may also be cleared to indicate that the bypass feature is disabled. If safe_mode_include_dir was blank in the outer script, but safe_mode was not enabled, then any arbitrary safe_mode_include_dir may be set while turning safe_mode on.

open_basedir

open_basedir may be set to any path below the current setting of open_basedir. If open_basedir is not set within the global scope, then it is assumed to be the root directory and may be set to any location.

allow_url_fopen

Like safe_mode , this setting can only be made more restrictive, in this case by setting it to FALSE when it is previously set to TRUE

disable_functions

Comma separated list of functions to disable within the sandbox sub-interpreter. This list need not contain the names of the currently disabled functions, they will remain disabled whether listed here or not.

disable_classes

Comma separated list of classes to disable within the sandbox sub-interpreter. This list need not contain the names of the currently disabled classes, they will remain disabled whether listed here or not.

runkit.superglobal

Comma separated list of variables to be treated as superglobals within the sandbox sub-interpreter. These variables will be used in addition to any variables defined internally or through the global runkit.superglobal setting.

runkit.internal_override

Ini option runkit.internal_override may be disabled (but not re-enabled) within sandboxes.

Пример #1 Instantiating a restricted sandbox

<?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);
/* Non-protected ini settings may set normally */
$sandbox->ini_set('html_errors',true);
?>

Accessing Variables

All variables in the global scope of the sandbox environment are accessible as properties of the sandbox object. The first thing to note is that because of the way memory between these two threads is managed, object and resource variables can not currently be exchanged between interpreters. Additionally, all arrays are deep copied and any references will be lost. This also means that references between interpreters are not possible.

Пример #2 Working with variables in a sandbox

<?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)

Calling PHP Functions

Any function defined within the sandbox may be called as
a method on the sandbox object.  This also includes a few
pseudo-function language constructs:  eval(),
include(), include_once(),
require(), require_once(),
echo(), print(),
die(), and exit().

Пример #3 Calling sandbox functions

<?php
$sandbox = new Runkit_Sandbox();

echo $sandbox->str_replace('a','f','abc');
?>

Результат выполнения данного примера:

fbc

When passing arguments to a sandbox function, the arguments are taken from the outer instance of PHP. If you wish to pass arguments from the sandbox's scope, be sure to access them as properties of the sandbox object as illustrated above.

Пример #4 Passing arguments to sandbox functions

<?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

Changing Sandbox Settings

As of runkit version 0.5, certain Sandbox settings may be modified on the fly using ArrayAccess syntax. Some settings, such as active are read-only and meant to provide status information. Other settings, such as output_handler may be set and read much like a normal array offset. Future settings may be write-only, however no such settings currently exist.

Sandbox Settings / Status Indicators
Setting | Type | Purpose | Default
active | Boolean (Read Only) | TRUE if the Sandbox is still in a usable state, FALSE if the request is in bailout due to a call to die(), exit(), or because of a fatal error condition. | TRUE (Initial)
output_handler | Callback | When set to a valid callback, all output generated by the Sandbox instance will be processed through the named function. Sandbox output handlers follow the same calling conventions as the system-wide output handler. | None
parent_access | Boolean | May the sandbox use instances of the Runkit_Sandbox_Parent class? Must be enabled for other Runkit_Sandbox_Parent related settings to work. | FALSE
parent_read | Boolean | May the sandbox read variables in its parent's context? | FALSE
parent_write | Boolean | May the sandbox modify variables in its parent's context? | FALSE
parent_eval | Boolean | May the sandbox evaluate arbitrary code in its parent's context? DANGEROUS | FALSE
parent_include | Boolean | May the sandbox include php code files in its parent's context? DANGEROUS | FALSE
parent_echo | Boolean | May the sandbox echo data in its parent's context effectively bypassing its own output_handler? | FALSE
parent_call | Boolean | May the sandbox call functions in its parent's context? | FALSE
parent_die | Boolean | May the sandbox kill its own parent? (And thus itself) | FALSE
parent_scope | Integer | What scope will parental property access look at? 0 == Global scope, 1 == Calling scope, 2 == Scope preceeding calling scope, 3 == The scope before that, etc..., etc... | 0 (Global)
parent_scope | String | When parent_scope is set to a string value, it refers to a named array variable in the global scope. If the named variable does not exist at the time of access it will be created as an empty array. If the variable exists but it not an array, a dummy array will be created containing a reference to the named global variable. |

runkit Функции
Runkit_Sandbox_Parent
runkit Функции


Runkit Anti-Sandbox Class

Runkit_Sandbox
runkit_class_adopt
runkit Функции
PHP Manual

Runkit_Sandbox_Parent

(PECL runkit >= 0.7.0)

Runkit_Sandbox_Parent — Runkit Anti-Sandbox Class

Описание

void Runkit_Sandbox_Parent::__construct ( void )

Instantiating the Runkit_Sandbox_Parent class from within a sandbox environment created from the Runkit_Sandbox class provides some (controlled) means for a sandbox child to access its parent.

Замечание: Sandbox support (required for runkit_lint(), runkit_lint_file(), and the Runkit_Sandbox class) is only available as of PHP 5.1.0 or specially patched versions of PHP 5.0, and requires that thread safety be enabled. See the README file included in the runkit package for more information.

In order for any of the Runkit_Sandbox_Parent features to function. Support must be enabled on a per-sandbox basis by enabling the parent_access flag from the parent's context.

Пример #1 Working with variables in a sandbox

<?php
$sandbox = new Runkit_Sandbox();
$sandbox['parent_access'] = true;
?>

Accessing the Parent's Variables

Just as with sandbox variable access, a sandbox parent's variables may be read from and written to as properties of the Runkit_Sandbox_Parent class. Read access to parental variables may be enabled with the parent_read setting (in addition to the base parent_access setting). Write access, in turn, is enabled through the parent_write setting.

Unlike sandbox child variable access, the variable scope is not limited to globals only. By setting the parent_scope setting to an appropriate integer value, other scopes in the active call stack may be inspected instead. A value of 0 (Default) will direct variable access at the global scope. 1 will point variable access at whatever variable scope was active at the time the current block of sandbox code was executed. Higher values progress back through the functions that called the functions that led to the sandbox executing code that tried to access its own parent's variables.

Пример #2 Accessing parental variables

<?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"

Calling the Parent's Functions

Just as with sandbox access, a sandbox may access its parents functions providing that the proper settings have been enabled. Enabling parent_call will allow the sandbox to call all functions available to the parent scope. Language constructs are each controlled by their own setting: print() and echo() are enabled with parent_echo. die() and exit() are enabled with parent_die. eval() is enabled with parent_eval while include(), include_once(), require(), and require_once() are enabled through parent_include.

Runkit_Sandbox
runkit_class_adopt
runkit Функции


Convert a base class to an inherited class, add ancestral methods when appropriate

Runkit_Sandbox_Parent
runkit_class_emancipate
runkit Функции
PHP Manual

runkit_class_adopt

(PECL runkit >= 0.7.0)

runkit_class_adopt — Convert a base class to an inherited class, add ancestral methods when appropriate

Описание

bool runkit_class_adopt ( string $classname , string $parentname )

Список параметров

classname

Name of class to be adopted

parentname

Parent class which child class is extending

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 A runkit_class_adopt() example

<?php
class myParent {
  function parentFunc() {
    echo "Parent Function Output\n";
  }
}

class myChild {
}

runkit_class_adopt('myChild','myParent');
myChild::parentFunc();
?>

Результат выполнения данного примера:

Parent Function Output

Смотрите также

  • runkit_class_emancipate() - Convert an inherited class to a base class, removes any method whose scope is ancestral

Runkit_Sandbox_Parent
runkit_class_emancipate
runkit Функции


Convert an inherited class to a base class, removes any method whose scope is ancestral

runkit_class_adopt
runkit_constant_add
runkit Функции
PHP Manual

runkit_class_emancipate

(PECL runkit >= 0.7.0)

runkit_class_emancipate — Convert an inherited class to a base class, removes any method whose scope is ancestral

Описание

bool runkit_class_emancipate ( string $classname )

Список параметров

classname

Name of class to emancipate

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 A runkit_class_emancipate() example

<?php
class myParent {
  function parentFunc () {
    echo "Parent Function Output\n";
  }
}
class myChild extends myParent {
}

myChild::parentFunc();
runkit_class_emancipate('myChild');
myChild::parentFunc();
?>

Результат выполнения данного примера:

Parent Function Output
Fatal error: Call to undefined function:  parentFunc() in example.php on line 12

Смотрите также

  • runkit_class_adopt() - Convert a base class to an inherited class, add ancestral methods when appropriate

runkit_class_adopt
runkit_constant_add
runkit Функции


Similar to define(), but allows defining in class definitions as well

runkit_class_emancipate
runkit_constant_redefine
runkit Функции
PHP Manual

runkit_constant_add

(PECL runkit >= 0.7.0)

runkit_constant_add — Similar to define(), but allows defining in class definitions as well

Описание

bool runkit_constant_add ( string $constname , mixed $value )

Список параметров

constname

Name of constant to declare. Either a string to indicate a global constant, or classname::constname to indicate a class constant.

value

NULL, Bool, Long, Double, String, or Resource value to store in the new constant.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • define() - Defines a named constant
  • runkit_constant_redefine() - Redefine an already defined constant
  • runkit_constant_remove() - Remove/Delete an already defined constant

runkit_class_emancipate
runkit_constant_redefine
runkit Функции


Redefine an already defined constant

runkit_constant_add
runkit_constant_remove
runkit Функции
PHP Manual

runkit_constant_redefine

(PECL runkit >= 0.7.0)

runkit_constant_redefine — Redefine an already defined constant

Описание

bool runkit_constant_redefine ( string $constname , mixed $newvalue )

Список параметров

constname

Constant to redefine. Either string indicating global constant, or classname::constname indicating class constant.

newvalue

New value to assign to constant.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • runkit_constant_add() - Similar to define(), but allows defining in class definitions as well
  • runkit_constant_remove() - Remove/Delete an already defined constant

runkit_constant_add
runkit_constant_remove
runkit Функции


Remove/Delete an already defined constant

runkit_constant_redefine
runkit_function_add
runkit Функции
PHP Manual

runkit_constant_remove

(PECL runkit >= 0.7.0)

runkit_constant_remove — Remove/Delete an already defined constant

Описание

bool runkit_constant_remove ( string $constname )

Список параметров

constname

Name of constant to remove. Either a string indicating a global constant, or classname::constname indicating a class constant.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • define() - Defines a named constant
  • runkit_constant_add() - Similar to define(), but allows defining in class definitions as well
  • runkit_constant_redefine() - Redefine an already defined constant

runkit_constant_redefine
runkit_function_add
runkit Функции


Add a new function, similar to create_function

runkit_constant_remove
runkit_function_copy
runkit Функции
PHP Manual

runkit_function_add

(PECL runkit >= 0.7.0)

runkit_function_add — Add a new function, similar to create_function()

Описание

bool runkit_function_add ( string $funcname , string $arglist , string $code )

Список параметров

funcname

Name of function to be created

arglist

Comma separated argument list

code

Code making up the function

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 A runkit_function_add() example

<?php
runkit_function_add('testme','$a,$b','echo "The value of a is $a\n"; echo "The value of b is $b\n";');
testme(1,2);
?>

Результат выполнения данного примера:

The value of a is 1
The value of b is 2

Смотрите также

  • create_function() - Создаёт анонимную (lambda-style) функцию
  • runkit_function_redefine() - Replace a function definition with a new implementation
  • runkit_function_copy() - Copy a function to a new function name
  • runkit_function_rename() - Change a function's name
  • runkit_function_remove() - Remove a function definition
  • runkit_method_add() - Dynamically adds a new method to a given class

runkit_constant_remove
runkit_function_copy
runkit Функции


Copy a function to a new function name

runkit_function_add
runkit_function_redefine
runkit Функции
PHP Manual

runkit_function_copy

(PECL runkit >= 0.7.0)

runkit_function_copy — Copy a function to a new function name

Описание

bool runkit_function_copy ( string $funcname , string $targetname )

Список параметров

funcname

Name of existing function

targetname

Name of new function to copy definition to

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 A runkit_function_copy() example

<?php
function original() {
  echo "In a function\n";
}
runkit_function_copy('original','duplicate');
original();
duplicate();
?>

Результат выполнения данного примера:

In a function
In a function

Смотрите также

  • runkit_function_add() - Add a new function, similar to create_function
  • runkit_function_redefine() - Replace a function definition with a new implementation
  • runkit_function_rename() - Change a function's name
  • runkit_function_remove() - Remove a function definition

runkit_function_add
runkit_function_redefine
runkit Функции


Replace a function definition with a new implementation

runkit_function_copy
runkit_function_remove
runkit Функции
PHP Manual

runkit_function_redefine

(PECL runkit >= 0.7.0)

runkit_function_redefine — Replace a function definition with a new implementation

Описание

bool runkit_function_redefine ( string $funcname , string $arglist , string $code )

Замечание: By default, only userspace functions may be removed, renamed, or modified. In order to override internal functions, you must enable the runkit.internal_override setting in php.ini.

Список параметров

funcname

Name of function to redefine

arglist

New list of arguments to be accepted by function

code

New code implementation

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 A runkit_function_redefine() example

<?php
function testme() {
  echo "Original Testme Implementation\n";
}
testme();
runkit_function_redefine('testme','','echo "New Testme Implementation\n";');
testme();
?>

Результат выполнения данного примера:

Original Testme Implementation
New Testme Implementation

Смотрите также

  • runkit_function_add() - Add a new function, similar to create_function
  • runkit_function_copy() - Copy a function to a new function name
  • runkit_function_rename() - Change a function's name
  • runkit_function_remove() - Remove a function definition

runkit_function_copy
runkit_function_remove
runkit Функции


Remove a function definition

runkit_function_redefine
runkit_function_rename
runkit Функции
PHP Manual

runkit_function_remove

(PECL runkit >= 0.7.0)

runkit_function_remove — Remove a function definition

Описание

bool runkit_function_remove ( string $funcname )

Замечание: By default, only userspace functions may be removed, renamed, or modified. In order to override internal functions, you must enable the runkit.internal_override setting in php.ini.

Список параметров

funcname

Name of function to be deleted

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • runkit_function_add() - Add a new function, similar to create_function
  • runkit_function_copy() - Copy a function to a new function name
  • runkit_function_redefine() - Replace a function definition with a new implementation
  • runkit_function_rename() - Change a function's name

runkit_function_redefine
runkit_function_rename
runkit Функции


Change a function's name

runkit_function_remove
runkit_import
runkit Функции
PHP Manual

runkit_function_rename

(PECL runkit >= 0.7.0)

runkit_function_rename — Change a function's name

Описание

bool runkit_function_rename ( string $funcname , string $newname )

Замечание: By default, only userspace functions may be removed, renamed, or modified. In order to override internal functions, you must enable the runkit.internal_override setting in php.ini.

Список параметров

funcname

Current function name

newname

New function name

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • runkit_function_add() - Add a new function, similar to create_function
  • runkit_function_copy() - Copy a function to a new function name
  • runkit_function_redefine() - Replace a function definition with a new implementation
  • runkit_function_remove() - Remove a function definition

runkit_function_remove
runkit_import
runkit Функции


Process a PHP file importing function and class definitions, overwriting where appropriate

runkit_function_rename
runkit_lint_file
runkit Функции
PHP Manual

runkit_import

(PECL runkit >= 0.7.0)

runkit_import — Process a PHP file importing function and class definitions, overwriting where appropriate

Описание

bool runkit_import ( string $filename [, int $flags= RUNKIT_IMPORT_CLASS_METHODS ] )

Similar to include() however any code residing outside of a function or class is simply ignored. Additionally, depending on the value of flags , any functions or classes which already exist in the currently running environment will be automatically overwritten by their new definitions.

Список параметров

filename

Filename to import function and class definitions from

flags

Bitwise OR of the RUNKIT_IMPORT_* family of constants.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

runkit_function_rename
runkit_lint_file
runkit Функции


Check the PHP syntax of the specified file

runkit_import
runkit_lint
runkit Функции
PHP Manual

runkit_lint_file

(PECL runkit >= 0.7.0)

runkit_lint_file — Check the PHP syntax of the specified file

Описание

bool runkit_lint_file ( string $filename )

The runkit_lint_file() function performs a syntax (lint) check on the specified filename testing for scripting errors. This is similar to using php -l from the commandline.

Замечание: Sandbox support (required for runkit_lint(), runkit_lint_file(), and the Runkit_Sandbox class) is only available as of PHP 5.1.0 or specially patched versions of PHP 5.0, and requires that thread safety be enabled. See the README file included in the runkit package for more information.

Список параметров

filename

File containing PHP Code to be lint checked

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • runkit_lint() - Check the PHP syntax of the specified php code

runkit_import
runkit_lint
runkit Функции


Check the PHP syntax of the specified php code

runkit_lint_file
runkit_method_add
runkit Функции
PHP Manual

runkit_lint

(PECL runkit >= 0.7.0)

runkit_lint — Check the PHP syntax of the specified php code

Описание

bool runkit_lint ( string $code )

The runkit_lint() function performs a syntax (lint) check on the specified php code testing for scripting errors. This is similar to using php -l from the command line except runkit_lint() accepts actual code rather than a filename.

Замечание: Sandbox support (required for runkit_lint(), runkit_lint_file(), and the Runkit_Sandbox class) is only available as of PHP 5.1.0 or specially patched versions of PHP 5.0, and requires that thread safety be enabled. See the README file included in the runkit package for more information.

Список параметров

code

PHP Code to be lint checked

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • runkit_lint_file() - Check the PHP syntax of the specified file

runkit_lint_file
runkit_method_add
runkit Функции


Dynamically adds a new method to a given class

runkit_lint
runkit_method_copy
runkit Функции
PHP Manual

runkit_method_add

(PECL runkit >= 0.7.0)

runkit_method_add — Dynamically adds a new method to a given class

Описание

bool runkit_method_add ( string $classname , string $methodname , string $args , string $code [, int $flags= RUNKIT_ACC_PUBLIC ] )
Внимание

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

Список параметров

classname

The class to which this method will be added

methodname

The name of the method to add

args

Comma-delimited list of arguments for the newly-created method

code

The code to be evaluated when methodname is called

flags

The type of method to create, can be RUNKIT_ACC_PUBLIC, RUNKIT_ACC_PROTECTED or RUNKIT_ACC_PRIVATE

Замечание: This parameter is only used as of PHP 5, because, prior to this, all methods were public.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 runkit_method_add() example

<?php
class Example {
    function foo() {
        echo "foo!\n";
    }
}

// create an Example object
$e = new Example();

// Add a new public method
runkit_method_add(
    'Example',
    'add',
    '$num1, $num2',
    'return $num1 + $num2;',
    RUNKIT_ACC_PUBLIC
);

// add 12 + 4
echo $e->add(12, 4);
?>

Результат выполнения данного примера:

16

Смотрите также

  • runkit_method_copy() - Copies a method from class to another
  • runkit_method_redefine() - Dynamically changes the code of the given method
  • runkit_method_remove() - Dynamically removes the given method
  • runkit_method_rename() - Dynamically changes the name of the given method
  • runkit_function_add() - Add a new function, similar to create_function

runkit_lint
runkit_method_copy
runkit Функции


Copies a method from class to another

runkit_method_add
runkit_method_redefine
runkit Функции
PHP Manual

runkit_method_copy

(PECL runkit >= 0.7.0)

runkit_method_copy — Copies a method from class to another

Описание

bool runkit_method_copy ( string $dClass , string $dMethod , string $sClass [, string $sMethod ] )
Внимание

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

Список параметров

dClass

Destination class for copied method

dMethod

Destination method name

sClass

Source class of the method to copy

sMethod

Name of the method to copy from the source class. If this parameter is omitted, the value of dMethod is assumed.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 runkit_method_copy() example

<?php
class Foo {
    function example() {
        return "foo!\n";
    }
}

class Bar {
    // initially, no methods
}

// copy the example() method from the Foo class to the Bar class, as baz()
runkit_method_copy('Bar', 'baz', 'Foo', 'example');

// output copied function
echo Bar::baz();
?>

Результат выполнения данного примера:

foo!

Смотрите также

  • runkit_method_add() - Dynamically adds a new method to a given class
  • runkit_method_redefine() - Dynamically changes the code of the given method
  • runkit_method_remove() - Dynamically removes the given method
  • runkit_method_rename() - Dynamically changes the name of the given method
  • runkit_function_copy() - Copy a function to a new function name

runkit_method_add
runkit_method_redefine
runkit Функции


Dynamically changes the code of the given method

runkit_method_copy
runkit_method_remove
runkit Функции
PHP Manual

runkit_method_redefine

(PECL runkit >= 0.7.0)

runkit_method_redefine — Dynamically changes the code of the given method

Описание

bool runkit_method_redefine ( string $classname , string $methodname , string $args , string $code [, int $flags= RUNKIT_ACC_PUBLIC ] )

Замечание: This function cannot be used to manipulate the currently running (or chained) method.

Внимание

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

Список параметров

classname

The class in which to redefine the method

methodname

The name of the method to redefine

args

Comma-delimited list of arguments for the redefined method

code

The new code to be evaluated when methodname is called

flags

The redefined method can be RUNKIT_ACC_PUBLIC, RUNKIT_ACC_PROTECTED or RUNKIT_ACC_PRIVATE

Замечание: This parameter is only used as of PHP 5, because, prior to this, all methods were public.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 runkit_method_redefine() example

<?php
class Example {
    function foo() {
        return "foo!\n";
    }
}

// create an Example object
$e = new Example();

// output Example::foo() (before redefine)
echo "Before: " . $e->foo();

// Redefine the 'foo' method
runkit_method_redefine(
    'Example',
    'foo',
    '',
    'return "bar!\n";',
    RUNKIT_ACC_PUBLIC
);

// output Example::foo() (after redefine)
echo "After: " . $e->foo();
?>

Результат выполнения данного примера:

Before: foo!
After: bar!

Смотрите также

  • runkit_method_add() - Dynamically adds a new method to a given class
  • runkit_method_copy() - Copies a method from class to another
  • runkit_method_remove() - Dynamically removes the given method
  • runkit_method_rename() - Dynamically changes the name of the given method
  • runkit_function_redefine() - Replace a function definition with a new implementation

runkit_method_copy
runkit_method_remove
runkit Функции


Dynamically removes the given method

runkit_method_redefine
runkit_method_rename
runkit Функции
PHP Manual

runkit_method_remove

(PECL runkit >= 0.7.0)

runkit_method_remove — Dynamically removes the given method

Описание

bool runkit_method_remove ( string $classname , string $methodname )

Замечание: This function cannot be used to manipulate the currently running (or chained) method.

Внимание

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

Список параметров

classname

The class in which to remove the method

methodname

The name of the method to remove

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 runkit_method_remove() example

<?php
class Example {
    function foo() {
        return "foo!\n";
    }

    function bar() {
        return "bar!\n";
    }
}

// Remove the 'foo' method
runkit_method_remove(
    'Example',
    'foo'
);

echo implode(' ', get_class_methods('Example'));

?>

Результат выполнения данного примера:

bar

Смотрите также

  • runkit_method_add() - Dynamically adds a new method to a given class
  • runkit_method_copy() - Copies a method from class to another
  • runkit_method_redefine() - Dynamically changes the code of the given method
  • runkit_method_rename() - Dynamically changes the name of the given method
  • runkit_function_remove() - Remove a function definition

runkit_method_redefine
runkit_method_rename
runkit Функции


Dynamically changes the name of the given method

runkit_method_remove
runkit_return_value_used
runkit Функции
PHP Manual

runkit_method_rename

(PECL runkit >= 0.7.0)

runkit_method_rename — Dynamically changes the name of the given method

Описание

bool runkit_method_rename ( string $classname , string $methodname , string $newname )

Замечание: This function cannot be used to manipulate the currently running (or chained) method.

Внимание

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

Список параметров

classname

The class in which to rename the method

methodname

The name of the method to rename

newname

The new name to give to the renamed method

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 runkit_method_rename() example

<?php
class Example {
    function foo() {
        return "foo!\n";
    }
}

// Rename the 'foo' method to 'bar'
runkit_method_rename(
    'Example',
    'foo',
    'bar'
);

// output renamed function
echo Example::bar();
?>

Результат выполнения данного примера:

foo!

Смотрите также

  • runkit_method_add() - Dynamically adds a new method to a given class
  • runkit_method_copy() - Copies a method from class to another
  • runkit_method_redefine() - Dynamically changes the code of the given method
  • runkit_method_remove() - Dynamically removes the given method
  • runkit_function_rename() - Change a function's name

runkit_method_remove
runkit_return_value_used
runkit Функции


Determines if the current functions return value will be used

runkit_method_rename
runkit_sandbox_output_handler
runkit Функции
PHP Manual

runkit_return_value_used

(PECL runkit >= 0.8.0)

runkit_return_value_used — Determines if the current functions return value will be used

Описание

bool runkit_return_value_used ( void )

Возвращаемые значения

Returns TRUE if the function's return value is used by the calling scope, otherwise FALSE

Примеры

Пример #1 runkit_return_value_used() example

<?php
function foo() {
  var_dump(runkit_return_value_used());
}

foo();
$f = foo();
?>

Результат выполнения данного примера:

bool(false)
bool(true)

runkit_method_rename
runkit_sandbox_output_handler
runkit Функции


Specify a function to capture and/or process output from a runkit sandbox

runkit_return_value_used
runkit_superglobals
runkit Функции
PHP Manual

runkit_sandbox_output_handler

(PECL runkit >= 0.7.0)

runkit_sandbox_output_handler — Specify a function to capture and/or process output from a runkit sandbox

Описание

mixed runkit_sandbox_output_handler ( object $sandbox [, mixed $callback ] )

Ordinarily, anything output (such as with echo() or print()) will be output as though it were printed from the parent's scope. Using runkit_sandbox_output_handler() however, output generated by the sandbox (including errors), can be captured by a function outside of the sandbox.

Замечание: Sandbox support (required for runkit_lint(), runkit_lint_file(), and the Runkit_Sandbox class) is only available as of PHP 5.1.0 or specially patched versions of PHP 5.0, and requires that thread safety be enabled. See the README file included in the runkit package for more information.

Замечание: Deprecated
As of runkit version 0.5, this function is deprecated and is scheduled to be removed from the package prior to a 1.0 release. The output handler for a given Runkit_Sandbox instance may be read/set using the array offset syntax shown on the Runkit_Sandbox class definition page.

Список параметров

sandbox

Object instance of Runkit_Sandbox class on which to set output handling.

callback

Name of a function which expects one parameter. Output generated by sandbox will be passed to this callback. Anything returned by the callback will be displayed normally. If this parameter is not passed then output handling will not be changed. If a non-truth value is passed, output handling will be disabled and will revert to direct display.

Возвращаемые значения

Returns the name of the previously defined output handler callback, or FALSE if no handler was previously defined.

Примеры

Пример #1 Feeding output to a variable

<?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 Функции


Return numerically indexed array of registered superglobals

runkit_sandbox_output_handler
scream
runkit Функции
PHP Manual

runkit_superglobals

(PECL runkit >= 0.7.0)

runkit_superglobals — Return numerically indexed array of registered superglobals

Описание

array runkit_superglobals ( void )

Возвращаемые значения

Returns a numerically indexed array of the currently registered superglobals. i.e. _GET, _POST, _REQUEST, _COOKIE, _SESSION, _SERVER, _ENV, _FILES

Смотрите также

  • Variable Scope

runkit_sandbox_output_handler
scream
runkit Функции


Break the silence operator

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Примеры
    • Example that shows the effect of scream
runkit_superglobals
Введение
Affecting PHP's Behaviour


Введение

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


Установка

Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, могут быть найдены здесь: » http://pecl.php.net/package/scream

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

scream Опции настройки
Имя | По умолчанию | Меняемо | Changelog
scream.enabled | Off | PHP_INI_ALL |

Для подробного описания констант PHP_INI_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

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.

Примеры
Audio Formats Manipulation
Примеры


Audio Formats Manipulation

  • ID3 — ID3 Tags
    • Введение
    • Установка и настройка
    • Predefined Constants
    • 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 Функции
Example that shows the effect of scream
ID3
Справочник функций


ID3 Tags

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Predefined Constants
  • ID3 Функции
    • id3_get_frame_long_name — Get the long name of an ID3v2 frame
    • id3_get_frame_short_name — Get the short name of an ID3v2 frame
    • id3_get_genre_id — Get the id for a genre
    • id3_get_genre_list — Get all possible genre values
    • id3_get_genre_name — Get the name for a genre id
    • id3_get_tag — Get all information stored in an ID3 tag
    • id3_get_version — Get version of an ID3 tag
    • id3_remove_tag — Remove an existing ID3 tag
    • id3_set_tag — Update information stored in an ID3 tag
Audio Formats Manipulation
Введение
Audio Formats Manipulation


Введение

These functions let you read and manipulate ID3 tags. ID3 tags are used in MP3 files to store title of the song, as well as information about the artist, album, genre, year and track number.

Since version 0.2 it is also possible to extract text frames from ID3 v2.2+ tags.

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


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
ID3


Установка

id3 is part of PECL and can be installed using the PEAR installer. To compile PHP with id3 support, download the sourcecode, put it in php-src/ext/id3 and compile PHP using --enable-id3.

Требования
Настройка во время выполнения
Установка и настройка


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

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

Настройка во время выполнения
Predefined Constants
Установка и настройка


Predefined Constants

Most of the id3 functions either let you specify or return a tag version. In order to specify the version please use on of these constants.

ID3_V1_0 (integer)
ID3_V1_0 is used if you are working with ID3 V1.0 tags. These tags may contain the fields title, artist, album, genre, year and comment.
ID3_V1_1 (integer)
ID3_V1_1 is used if you are working with ID3 V1.1 tags. These tags may all information contained in v1.0 tags plus the track number.
ID3_V2_1 (integer)
ID3_V2_1 is used if you are working with ID3 V2.1 tags.
ID3_V2_2 (integer)
ID3_V2_2 is used if you are working with ID3 V2.2 tags.
ID3_V2_3 (integer)
ID3_V2_3 is used if you are working with ID3 V2.3 tags.
ID3_V2_4 (integer)
ID3_V2_4 is used if you are working with ID3 V2.4 tags.
ID3_BEST (integer)
ID3_BEST is used if would like to let the id3 functions determine which tag version should be used.

Типы ресурсов
ID3 Функции
ID3


ID3 Функции

Содержание

  • id3_get_frame_long_name — Get the long name of an ID3v2 frame
  • id3_get_frame_short_name — Get the short name of an ID3v2 frame
  • id3_get_genre_id — Get the id for a genre
  • id3_get_genre_list — Get all possible genre values
  • id3_get_genre_name — Get the name for a genre id
  • id3_get_tag — Get all information stored in an ID3 tag
  • id3_get_version — Get version of an ID3 tag
  • id3_remove_tag — Remove an existing ID3 tag
  • id3_set_tag — Update information stored in an ID3 tag
Predefined Constants
id3_get_frame_long_name
ID3


Get the long name of an ID3v2 frame

ID3 Функции
id3_get_frame_short_name
ID3 Функции
PHP Manual

id3_get_frame_long_name

(PECL id3 >= 0.2)

id3_get_frame_long_name — Get the long name of an ID3v2 frame

Описание

string id3_get_frame_long_name ( string $frameId )

id3_get_frame_long_name() returns the long name for an ID3v2 frame.

Список параметров

frameId

An ID3v2 frame

Возвращаемые значения

Returns the frame long name or FALSE on errors.

Примеры

Пример #1 id3_get_frame_long_name() example

<?php
$longName = id3_get_frame_long_name("TOLY");
echo $longName;
?>

Результат выполнения данного примера:

Original lyricist(s)/text writer(s)

Смотрите также

  • id3_get_frame_short_name() - Get the short name of an ID3v2 frame

ID3 Функции
id3_get_frame_short_name
ID3 Функции


Get the short name of an ID3v2 frame

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 — Get the short name of an ID3v2 frame

Описание

string id3_get_frame_short_name ( string $frameId )

id3_get_frame_short_name() returns the short name for an ID3v2 frame.

Список параметров

frameId

An ID3v2 frame

Возвращаемые значения

Returns the frame short name or FALSE on errors.

The values returned by id3_get_frame_short_name() are used in the array returned by id3_get_tag().

Примеры

Пример #1 id3_get_frame_short_name() example

<?php
$shortName = id3_get_frame_short_name("TOLY");
echo $shortName;
?>

Результат выполнения данного примера:

originalLyricist

Смотрите также

  • id3_get_frame_long_name() - Get the long name of an ID3v2 frame

id3_get_frame_long_name
id3_get_genre_id
ID3 Функции


Get the id for a genre

id3_get_frame_short_name
id3_get_genre_list
ID3 Функции
PHP Manual

id3_get_genre_id

(PECL id3 >= 0.1)

id3_get_genre_id — Get the id for a genre

Описание

int id3_get_genre_id ( string $genre )

id3_get_genre_id() returns the id for a genre.

Список параметров

genre

An integer ranging from 0 to 147

Возвращаемые значения

The genre id or FALSE on errors.

Примеры

Пример #1 id3_get_genre_id() example

<?php
$id = id3_get_genre_id("Alternative");
echo $id;
?>

Результат выполнения данного примера:

20

Смотрите также

  • id3_get_genre_name() - Get the name for a genre id
  • id3_get_genre_list() - Get all possible genre values

id3_get_frame_short_name
id3_get_genre_list
ID3 Функции


Get all possible genre values

id3_get_genre_id
id3_get_genre_name
ID3 Функции
PHP Manual

id3_get_genre_list

(PECL id3 >= 0.1)

id3_get_genre_list — Get all possible genre values

Описание

array id3_get_genre_list ( void )

id3_get_genre_list() returns an array containing all possible genres that may be stored in an ID3 tag. This list has been created by Eric Kemp and later extended by WinAmp.

This function is useful to provide you users a list of genres from which they may choose one. When updating the ID3 tag you will always have to specify the genre as an integer ranging from 0 to 147.

Возвращаемые значения

Returns an array containing all possible genres that may be stored in an ID3 tag.

Примеры

Пример #1 id3_get_genre_list() example

<?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() - Get the name for a genre id
  • id3_get_genre_id() - Get the id for a genre

id3_get_genre_id
id3_get_genre_name
ID3 Функции


Get the name for a genre id

id3_get_genre_list
id3_get_tag
ID3 Функции
PHP Manual

id3_get_genre_name

(PECL id3 >= 0.1)

id3_get_genre_name — Get the name for a genre id

Описание

string id3_get_genre_name ( int $genre_id )

id3_get_genre_name() returns the name for a genre id.

Список параметров

genre_id

An integer ranging from 0 to 147

Возвращаемые значения

Returns the name as a string.

Примеры

Пример #1 id3_get_genre_name() example

<?php
$genre = id3_get_genre_name(20);
echo $genre;
?>

Результат выполнения данного примера:

Alternative

Смотрите также

  • id3_get_genre_list() - Get all possible genre values
  • id3_get_genre_id() - Get the id for a genre

id3_get_genre_list
id3_get_tag
ID3 Функции


Get all information stored in an ID3 tag

id3_get_genre_name
id3_get_version
ID3 Функции
PHP Manual

id3_get_tag

(PECL id3 >= 0.1)

id3_get_tag — Get all information stored in an ID3 tag

Описание

array id3_get_tag ( string $filename [, int $version= ID3_BEST ] )

id3_get_tag() is used to get all information stored in the id3 tag of the specified file.

Список параметров

filename

The path to the MP3 file

Instead of a filename you may also pass a valid stream resource

version

Allows you to specify the version of the tag as MP3 files may contain both, version 1.x and version 2.x tags

Since version 0.2 id3_get_tag() also supports ID3 tags of version 2.2, 2.3 and 2.4. To extract information from these tags, pass one of the constants ID3_V2_2, ID3_V2_3 or ID3_V2_4 as the second parameter. ID3 v2.x tags can contain a lot more information about the MP3 file than ID3 v1.x tags.

Возвращаемые значения

Returns an associative array with various keys like: title, artist, ..

The key genre will contain an integer between 0 and 147. You may use id3_get_genre_name() to convert it to a human readable string.

Примеры

Пример #1 id3_get_tag() example

<?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() example

<?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() - Update information stored in an ID3 tag
  • id3_remove_tag() - Remove an existing ID3 tag
  • id3_get_version() - Get version of an ID3 tag

id3_get_genre_name
id3_get_version
ID3 Функции


Get version of an ID3 tag

id3_get_tag
id3_remove_tag
ID3 Функции
PHP Manual

id3_get_version

(PECL id3 >= 0.1)

id3_get_version — Get version of an ID3 tag

Описание

int id3_get_version ( string $filename )

id3_get_version() retrieves the version(s) of the ID3 tag(s) in the MP3 file.

If a file contains an ID3 v1.1 tag, it always contains a 1.0 tag, as version 1.1 is just an extension of 1.0.

Список параметров

filename

The path to the MP3 file

Instead of a filename you may also pass a valid stream resource

Возвращаемые значения

Returns the version number of the ID3 tag of the file. As a tag can contain ID3 v1.x and v2.x tags, the return value of this function should be bitwise compared with the predefined constants ID3_V1_0, ID3_V1_1 and ID3_V2.

Примеры

Пример #1 id3_get_version() example

<?php
$version = id3_get_version( "path/to/example.mp3" );
if ($version & ID3_V1_0) {
    echo "Contains a 1.x tag\n";
}
if ($version & ID3_V1_1) {
    echo "Contains a 1.1 tag\n";
}
if ($version & ID3_V2) {
    echo "Contains a 2.x tag\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

Contains a 1.x tag
Contains a 1.1 tag

Смотрите также

  • id3_set_tag() - Update information stored in an ID3 tag
  • id3_get_tag() - Get all information stored in an ID3 tag
  • id3_remove_tag() - Remove an existing ID3 tag

id3_get_tag
id3_remove_tag
ID3 Функции


Remove an existing ID3 tag

id3_get_version
id3_set_tag
ID3 Функции
PHP Manual

id3_remove_tag

(PECL id3 >= 0.1)

id3_remove_tag — Remove an existing ID3 tag

Описание

bool id3_remove_tag ( string $filename [, int $version= ID3_V1_0 ] )

id3_remove_tag() is used to remove the information stored of an ID3 tag.

Список параметров

filename

The path to the MP3 file

Instead of a filename you may also pass a valid stream resource

version

Allows you to specify the version of the tag as MP3 files may contain both, version 1.x and version 2.x tags.

Возвращаемые значения

Возвращает 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";
}
?>

If the file is writable and contained a 1.0 tag, this will output:

Tag succesfully removed

Примечания

Замечание: Currently id3_remove_tag() only supports version 1.0 and 1.1. If you choose to remove a 1.0 tag and the file contains a 1.1 tag, this tag will be removed, as v1.1 is only an extension of 1.0.

Смотрите также

  • id3_set_tag() - Update information stored in an ID3 tag
  • id3_get_tag() - Get all information stored in an ID3 tag
  • id3_get_version() - Get version of an ID3 tag

id3_get_version
id3_set_tag
ID3 Функции


Update information stored in an ID3 tag

id3_remove_tag
KTaglib
ID3 Функции
PHP Manual

id3_set_tag

(PECL id3 >= 0.1)

id3_set_tag — Update information stored in an ID3 tag

Описание

bool id3_set_tag ( string $filename , array $tag [, int $version= ID3_V1_0 ] )

id3_set_tag() is used to change the information stored of an ID3 tag. If no tag has been present, it will be added to the file.

Список параметров

filename

The path to the MP3 file

Instead of a filename you may also pass a valid stream resource

tag

An associative array of tag keys and values

The following keys may be used in the associative array:

Keys in the associative array
key | possible value | available in version
title | string with maximum of 30 characters | v1.0, v1.1
artist | string with maximum of 30 characters | v1.0, v1.1
album | string with maximum of 30 characters | v1.0, v1.1
year | 4 digits | v1.0, v1.1
genre | integer value between 0 and 147 | v1.0, v1.1
comment | string with maximum of 30 characters (28 in v1.1) | v1.0, v1.1
track | integer between 0 and 255 | v1.1

version

Allows you to specify the version of the tag as MP3 files may contain both, version 1.x and version 2.x tags

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 id3_set_tag() example

<?php
$data = array(
              "title" => "Re:Start",
              "artist" => "Re:\Legion",
              "comment" => "A nice track"
             );
$result = id3_set_tag( "path/to/example.mp3", $data, ID3_V1_0 );
if ($result === true) {
    echo "Tag succesfully updated\n";
}
?>

If the file is writable, this will output:

Tag succesfully updated

Примечания

Замечание: Currently id3_remove_tag() only supports version 1.0 and 1.1.

Смотрите также

  • id3_remove_tag() - Remove an existing ID3 tag
  • id3_get_tag() - Get all information stored in an ID3 tag
  • id3_get_version() - Get version of an ID3 tag

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
Введение
Audio Formats Manipulation


Введение

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.

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


Установка

KTaglib support in PHP is not enabled by default. You will need to configure PHP --with-ktaglib[=DIR]

Замечание: KTaglib is part of PECL.

Требования
Предопределенные константы
Установка и настройка


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

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если 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 {
}

Содержание

  • 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 {
}

Содержание

  • 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 {
}

Содержание

  • 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

KTagLib_ID3v2_Tag
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

KTagLib_ID3v2_Frame
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

KTaglib_ID3v2_AttachedPictureFrame
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
Введение
Audio Formats Manipulation


Введение

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.

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


Установка

Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и 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.
Введение
Audio Formats Manipulation


Введение

Platform independent audio bindings. Requires the » OpenAL library.

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


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
OpenAL


Установка

Это расширение » PECL не поставляется вместе с PHP.

Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, могут быть найдены здесь: » http://pecl.php.net/package/openal.

Вы можете скачать DLL этого расширения PECL со страницы » PHP Downloads или » http://snaps.php.net/.

Требования
Настройка во время выполнения
Установка и настройка


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

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 or FALSE on failure.

Смотрите также

  • 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), or FALSE on failure.

Смотрите также

  • 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 or FALSE on failure.

Смотрите также

  • 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
Authentication Services
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, or FALSE on failure.

Смотрите также

  • openal_source_create() - Generate a source resource
  • fwrite() - Бинарно-безопасная запись в файл

openal_source_stop
Authentication Services
OpenAL Функции


Authentication Services

  • KADM5 — Kerberos V
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • KADM5 Функции
  • Radius
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Radius Функции
openal_stream
KADM5
Справочник функций


Kerberos V

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
    • Constants for Attribute Flags
    • Constants for Options
  • Примеры
    • KADM5 extension overview example
  • 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
Authentication Services
Введение
Authentication Services


Введение

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


Установка

These functions allow you to access Kerberos administration servers. In order to have these functions available, you must compile PHP with KADM5 support by using the --with-kadm5 configurable option. If you use this option 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.

Требования
Настройка во время выполнения
Установка и настройка


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

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
Примеры
Предопределенные константы


Примеры

Содержание

  • KADM5 extension overview example
Constants for Options
KADM5 extension overview example
KADM5


KADM5 extension overview example

Примеры
KADM5 Функции
Примеры
PHP Manual

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
KADM5 extension overview example
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, or FALSE on failure.

Примеры

Пример #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, or FALSE on failure.

Примеры

Пример #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, or FALSE on failure.

Примеры

Пример #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, or FALSE on failure.

Примеры

Пример #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
Введение
Authentication Services


Введение

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


Установка

Howto install the package?

  • untar the package (usually into php4/ext)
  • rename radius-x.x to radius
  • run ./buildconf in php4
  • run ./configure --enable-radius
  • make; make install

or if you would like to have it as .so:

  • untar the package
  • run phpize in the radius-x.x directory
  • run ./configure in the radius-x.x directory
  • make; make install

For Windows I recommend to use the php_radius.dll from » http://snaps.php.net/. Вы можете получить не встроенное расширение PECL с различных страниц снимков PECL (выберите соответствующий репозиторий для вашей версии PHP): » PECL для PHP 4.3.x, » PECL для PHP 5.0.x или » PECL Нестабильные.

Требования
Настройка во время выполнения
Установка и настройка


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

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если 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
Calendar and Event Related Extensions
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
Calendar and Event Related Extensions
Radius Функции


Calendar and Event Related Extensions

  • Calendar
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Calendar Функции
  • Date/Time — Date and Time
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • List of Supported Timezones
    • DateTime — The DateTime class
    • DateTimeZone — The DateTimeZone class
    • DateInterval — The DateInterval class
    • DatePeriod — The DatePeriod class
    • Date/Time Функции
radius_strerror
Calendar
Справочник функций


Calendar

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Calendar Функции
    • cal_days_in_month — Return the number of days in a month for a given year and calendar
    • cal_from_jd — Converts from Julian Day Count to a supported calendar
    • cal_info — Returns information about a particular calendar
    • cal_to_jd — Converts from a supported calendar to Julian Day Count
    • easter_date — Get Unix timestamp for midnight on Easter of a given year
    • easter_days — Get number of days after March 21 on which Easter falls for a given year
    • FrenchToJD — Converts a date from the French Republican Calendar to a Julian Day Count
    • GregorianToJD — Converts a Gregorian date to Julian Day Count
    • JDDayOfWeek — Returns the day of the week
    • JDMonthName — Returns a month name
    • JDToFrench — Converts a Julian Day Count to the French Republican Calendar
    • JDToGregorian — Converts Julian Day Count to Gregorian date
    • jdtojewish — Converts a Julian day count to a Jewish calendar date
    • JDToJulian — Converts a Julian Day Count to a Julian Calendar Date
    • jdtounix — Convert Julian Day to Unix timestamp
    • JewishToJD — Converts a date in the Jewish Calendar to Julian Day Count
    • JulianToJD — Converts a Julian Calendar date to Julian Day Count
    • unixtojd — Convert Unix timestamp to Julian Day
Calendar and Event Related Extensions
Введение
Calendar and Event Related Extensions


Введение

The calendar extension presents a series of functions to simplify converting between different calendar formats. The intermediary or standard it is based on is the Julian Day Count. The Julian Day Count is a count of days starting from January 1st, 4713 B.C. To convert between calendar systems, you must first convert to Julian Day Count, then to the calendar system of your choice. Julian Day Count is very different from the Julian Calendar! For more information on Julian Day Count, visit » http://www.hermetic.ch/cal_stud/jdn.htm. For more information on calendar systems visit » http://www.fourmilab.ch/documents/calendar/. Excerpts from this page are included in these instructions, and are in quotes.

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


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Calendar


Установка

To get these functions to work, you have to compile PHP with --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)

The following constants are available since PHP 4.3.0 :

CAL_EASTER_DEFAULT (integer)
CAL_EASTER_ROMAN (integer)
CAL_EASTER_ALWAYS_GREGORIAN (integer)
CAL_EASTER_ALWAYS_JULIAN (integer)

The following constants are available since PHP 5.0.0 :

CAL_JEWISH_ADD_ALAFIM_GERESH (integer)
CAL_JEWISH_ADD_ALAFIM (integer)
CAL_JEWISH_ADD_GERESHAYIM (integer)
Типы ресурсов
Calendar Функции
Calendar


Calendar Функции

Содержание

  • cal_days_in_month — Return the number of days in a month for a given year and calendar
  • cal_from_jd — Converts from Julian Day Count to a supported calendar
  • cal_info — Returns information about a particular calendar
  • cal_to_jd — Converts from a supported calendar to Julian Day Count
  • easter_date — Get Unix timestamp for midnight on Easter of a given year
  • easter_days — Get number of days after March 21 on which Easter falls for a given year
  • FrenchToJD — Converts a date from the French Republican Calendar to a Julian Day Count
  • GregorianToJD — Converts a Gregorian date to Julian Day Count
  • JDDayOfWeek — Returns the day of the week
  • JDMonthName — Returns a month name
  • JDToFrench — Converts a Julian Day Count to the French Republican Calendar
  • JDToGregorian — Converts Julian Day Count to Gregorian date
  • jdtojewish — Converts a Julian day count to a Jewish calendar date
  • JDToJulian — Converts a Julian Day Count to a Julian Calendar Date
  • jdtounix — Convert Julian Day to Unix timestamp
  • JewishToJD — Converts a date in the Jewish Calendar to Julian Day Count
  • JulianToJD — Converts a Julian Calendar date to Julian Day Count
  • unixtojd — Convert Unix timestamp to Julian Day
Предопределенные константы
cal_days_in_month
Calendar


Return the number of days in a month for a given year and calendar

Calendar Функции
cal_from_jd
Calendar Функции
PHP Manual

cal_days_in_month

(PHP 4 >= 4.1.0, PHP 5)

cal_days_in_month — Return the number of days in a month for a given year and calendar

Описание

int cal_days_in_month ( int $calendar , int $month , int $year )

This function will return the number of days in the month of year for the specified calendar .

Список параметров

calendar

Calendar to use for calculation

month

Month in the selected calendar

year

Year in the selected calendar

Возвращаемые значения

The length in days of the selected month in the given calendar

Примеры

Пример #1 cal_days_in_month() example

<?php
$num = cal_days_in_month(CAL_GREGORIAN, 8, 2003); // 31
echo "There was $num days in August 2003";
?>

Calendar Функции
cal_from_jd
Calendar Функции


Converts from Julian Day Count to a supported calendar

cal_days_in_month
cal_info
Calendar Функции
PHP Manual

cal_from_jd

(PHP 4 >= 4.1.0, PHP 5)

cal_from_jd — Converts from Julian Day Count to a supported calendar

Описание

array cal_from_jd ( int $jd , int $calendar )

cal_from_jd() converts the Julian day given in jd into a date of the specified calendar . Supported calendar values are CAL_GREGORIAN, CAL_JULIAN, CAL_JEWISH and CAL_FRENCH.

Список параметров

jd

Julian day as integer

calendar

Calendar to convert to

Возвращаемые значения

Returns an array containing calendar information like month, day, year, day of week, abbreviated and full names of weekday and month and the date in string form "month/day/year".

Примеры

Пример #1 cal_from_jd() example

<?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() - Converts from a supported calendar to Julian Day Count
  • jdtofrench() - Converts a Julian Day Count to the French Republican Calendar
  • jdtogregorian() - Converts Julian Day Count to Gregorian date
  • jdtojewish() - Converts a Julian day count to a Jewish calendar date
  • jdtojulian() - Converts a Julian Day Count to a Julian Calendar Date
  • jdtounix() - Convert Julian Day to Unix timestamp

cal_days_in_month
cal_info
Calendar Функции


Returns information about a particular calendar

cal_from_jd
cal_to_jd
Calendar Функции
PHP Manual

cal_info

(PHP 4 >= 4.1.0, PHP 5)

cal_info — Returns information about a particular calendar

Описание

array cal_info ([ int $calendar= -1 ] )

cal_info() returns information on the specified calendar .

Calendar information is returned as an array containing the elements calname, calsymbol, month, abbrevmonth and maxdaysinmonth. The names of the different calendars which can be used as calendar are as follows:

  • 0 or CAL_GREGORIAN - Gregorian Calendar
  • 1 or CAL_JULIAN - Julian Calendar
  • 2 or CAL_JEWISH - Jewish Calendar
  • 3 or CAL_FRENCH - French Revolutionary Calendar

If no calendar is specified information on all supported calendars is returned as an array.

Список параметров

calendar

Calendar to return information for. If no calendar is specified information about all calendars is returned.

Возвращаемые значения

Список изменений

Версия | Описание
Since 5.0 | The calendar parameter becomes optional and defaults to "all calendars" if omitted.

Примеры

Пример #1 cal_info() example

<?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
Calendar Функции


Converts from a supported calendar to Julian Day Count

cal_info
easter_date
Calendar Функции
PHP Manual

cal_to_jd

(PHP 4 >= 4.1.0, PHP 5)

cal_to_jd — Converts from a supported calendar to Julian Day Count

Описание

int cal_to_jd ( int $calendar , int $month , int $day , int $year )

cal_to_jd() calculates the Julian day count for a date in the specified calendar . Supported calendar s are CAL_GREGORIAN, CAL_JULIAN, CAL_JEWISH and CAL_FRENCH.

Список параметров

calendar

Calendar to convert from, one of CAL_GREGORIAN, CAL_JULIAN, CAL_JEWISH or CAL_FRENCH.

month

The month as a number, the valid range depends on the calendar

day

The day as a number, the valid range depends on the calendar

year

The year as a number, the valid range depends on the calendar

Возвращаемые значения

A Julian Day number.

Смотрите также

  • cal_from_jd() - Converts from Julian Day Count to a supported calendar
  • frenchtojd() - Converts a date from the French Republican Calendar to a Julian Day Count
  • gregoriantojd() - Converts a Gregorian date to Julian Day Count
  • jewishtojd() - Converts a date in the Jewish Calendar to Julian Day Count
  • juliantojd() - Converts a Julian Calendar date to Julian Day Count
  • unixtojd() - Convert Unix timestamp to Julian Day

cal_info
easter_date
Calendar Функции


Get Unix timestamp for midnight on Easter of a given year

cal_to_jd
easter_days
Calendar Функции
PHP Manual

easter_date

(PHP 4, PHP 5)

easter_date — Get Unix timestamp for midnight on Easter of a given year

Описание

int easter_date ([ int $year ] )

Returns the Unix timestamp corresponding to midnight on Easter of the given year.

Внимание

This function will generate a warning if the year is outside of the range for Unix timestamps (i.e. before 1970 or after 2037).

The date of Easter Day was defined by the Council of Nicaea in AD325 as the Sunday after the first full moon which falls on or after the Spring Equinox. The Equinox is assumed to always fall on 21st March, so the calculation reduces to determining the date of the full moon and the date of the following Sunday. The algorithm used here was introduced around the year 532 by Dionysius Exiguus. Under the Julian Calendar (for years before 1753) a simple 19-year cycle is used to track the phases of the Moon. Under the Gregorian Calendar (for years after 1753 - devised by Clavius and Lilius, and introduced by Pope Gregory XIII in October 1582, and into Britain and its then colonies in September 1752) two correction factors are added to make the cycle more accurate.

(The code is based on a C program by Simon Kershaw, <webmaster at ely.anglican dot org>)

Список параметров

year

The year as a number between 1970 an 2037

Возвращаемые значения

The easter date as a unix timestamp.

Список изменений

Версия | Описание
Since 4.3.0 | The year parameter is optional and defaults to the current year according to the local time if omitted.

Примеры

Пример #1 easter_date() example

<?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() - Get number of days after March 21 on which Easter falls for a given year for calculating Easter before 1970 or after 2037

cal_to_jd
easter_days
Calendar Функции


Get number of days after March 21 on which Easter falls for a given year

easter_date
FrenchToJD
Calendar Функции
PHP Manual

easter_days

(PHP 4, PHP 5)

easter_days — Get number of days after March 21 on which Easter falls for a given year

Описание

int easter_days ([ int $year [, int $method= CAL_EASTER_DEFAULT ]] )

Returns the number of days after March 21 on which Easter falls for a given year. If no year is specified, the current year is assumed.

This function can be used instead of easter_date() to calculate Easter for years which fall outside the range of Unix timestamps (i.e. before 1970 or after 2037).

The date of Easter Day was defined by the Council of Nicaea in AD325 as the Sunday after the first full moon which falls on or after the Spring Equinox. The Equinox is assumed to always fall on 21st March, so the calculation reduces to determining the date of the full moon and the date of the following Sunday. The algorithm used here was introduced around the year 532 by Dionysius Exiguus. Under the Julian Calendar (for years before 1753) a simple 19-year cycle is used to track the phases of the Moon. Under the Gregorian Calendar (for years after 1753 - devised by Clavius and Lilius, and introduced by Pope Gregory XIII in October 1582, and into Britain and its then colonies in September 1752) two correction factors are added to make the cycle more accurate.

(The code is based on a C program by Simon Kershaw, <webmaster at ely.anglican dot org>)

Список параметров

year

The year as a positive number

method

Allows to calculate easter dates based on the Gregorian calendar during the years 1582 - 1752 when set to CAL_EASTER_ROMAN. See the calendar constants for more valid constants.

Возвращаемые значения

The number of days after March 21st that the Easter Sunday is in the given year .

Список изменений

Версия | Описание
Since 4.3.0 | The year parameter is optional and defaults to the current year according to the local time if omitted.
Since 4.3.0 | The method parameter was introduced.

Примеры

Пример #1 easter_days() example

<?php

echo easter_days(1999);        // 14, i.e. April 4
echo easter_days(1492);        // 32, i.e. April 22
echo easter_days(1913);        //  2, i.e. March 23

?>

Смотрите также

  • easter_date() - Get Unix timestamp for midnight on Easter of a given year

easter_date
FrenchToJD
Calendar Функции


Converts a date from the French Republican Calendar to a Julian Day Count

easter_days
GregorianToJD
Calendar Функции
PHP Manual

FrenchToJD

(PHP 4, PHP 5)

FrenchToJD — Converts a date from the French Republican Calendar to a Julian Day Count

Описание

int frenchtojd ( int $month , int $day , int $year )

Converts a date from the French Republican Calendar to a Julian Day Count.

These routines only convert dates in years 1 through 14 (Gregorian dates 22 September 1792 through 22 September 1806). This more than covers the period when the calendar was in use.

Список параметров

month

The month as a number from 1 (for Vendémiaire) to 13 (for the period of 5-6 days at the end of each year)

day

The day as a number from 1 to 30

year

The year as a number between 1 and 14

Возвращаемые значения

The julian day for the given french revolution date as an integer.

Смотрите также

  • jdtofrench() - Converts a Julian Day Count to the French Republican Calendar
  • cal_to_jd() - Converts from a supported calendar to Julian Day Count

easter_days
GregorianToJD
Calendar Функции


Converts a Gregorian date to Julian Day Count

FrenchToJD
JDDayOfWeek
Calendar Функции
PHP Manual

GregorianToJD

(PHP 4, PHP 5)

GregorianToJD — Converts a Gregorian date to Julian Day Count

Описание

int gregoriantojd ( int $month , int $day , int $year )

Valid Range for Gregorian Calendar 4714 B.C. to 9999 A.D.

Although this function can handle dates all the way back to 4714 B.C., such use may not be meaningful. The Gregorian calendar was not instituted until October 15, 1582 (or October 5, 1582 in the Julian calendar). Some countries did not accept it until much later. For example, Britain converted in 1752, The USSR in 1918 and Greece in 1923. Most European countries used the Julian calendar prior to the Gregorian.

Список параметров

month

The month as a number from 1 (for January) to 12 (for December)

day

The day as a number from 1 to 31

year

The year as a number between -4714 and 9999

Возвращаемые значения

The julian day for the given gregorian date as an integer.

Примеры

Пример #1 Calendar functions

<?php
$jd = GregorianToJD(10, 11, 1970);
echo "$jd\n";
$gregorian = JDToGregorian($jd);
echo "$gregorian\n";
?>

Смотрите также

  • jdtogregorian() - Converts Julian Day Count to Gregorian date
  • cal_to_jd() - Converts from a supported calendar to Julian Day Count

FrenchToJD
JDDayOfWeek
Calendar Функции


Returns the day of the week

GregorianToJD
JDMonthName
Calendar Функции
PHP Manual

JDDayOfWeek

(PHP 4, PHP 5)

JDDayOfWeek — Returns the day of the week

Описание

mixed jddayofweek ( int $julianday [, int $mode= CAL_DOW_DAYNO ] )

Returns the day of the week. Can return a string or an integer depending on the mode.

Список параметров

julianday

A julian day number as integer

mode
Calendar week modes
Mode | Meaning
0 (Default) | Return the day number as an int (0=Sunday, 1=Monday, etc)
1 | Returns string containing the day of week (English-Gregorian)
2 | Return a string containing the abbreviated day of week (English-Gregorian)

Возвращаемые значения

The gregorian weekday as either an integer or string.

GregorianToJD
JDMonthName
Calendar Функции


Returns a month name

JDDayOfWeek
JDToFrench
Calendar Функции
PHP Manual

JDMonthName

(PHP 4, PHP 5)

JDMonthName — Returns a month name

Описание

string jdmonthname ( int $julianday , int $mode )

Returns a string containing a month name. mode tells this function which calendar to convert the Julian Day Count to, and what type of month names are to be returned.

Calendar modes
Mode | Meaning | Values
0 | Gregorian - abbreviated | Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
1 | Gregorian | January, February, March, April, May, June, July, August, September, October, November, December
2 | Julian - abbreviated | Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
3 | Julian | January, February, March, April, May, June, July, August, September, October, November, December
4 | Jewish | Tishri, Heshvan, Kislev, Tevet, Shevat, AdarI, AdarII, Nisan, Iyyar, Sivan, Tammuz, Av, Elul
5 | French Republican | Vendemiaire, Brumaire, Frimaire, Nivose, Pluviose, Ventose, Germinal, Floreal, Prairial, Messidor, Thermidor, Fructidor, Extra

Список параметров

jday

The Julian Day to operate on

calendar

The calendar to take the month name from

Возвращаемые значения

The month name for the given Julian Day and calendar .

JDDayOfWeek
JDToFrench
Calendar Функции


Converts a Julian Day Count to the French Republican Calendar

JDMonthName
JDToGregorian
Calendar Функции
PHP Manual

JDToFrench

(PHP 4, PHP 5)

JDToFrench — Converts a Julian Day Count to the French Republican Calendar

Описание

string jdtofrench ( int $juliandaycount )

Converts a Julian Day Count to the French Republican Calendar.

Список параметров

julianday

A julian day number as integer

Возвращаемые значения

The french revolution date as a string in the form "month/day/year"

Смотрите также

  • frenchtojd() - Converts a date from the French Republican Calendar to a Julian Day Count
  • cal_from_jd() - Converts from Julian Day Count to a supported calendar

JDMonthName
JDToGregorian
Calendar Функции


Converts Julian Day Count to Gregorian date

JDToFrench
jdtojewish
Calendar Функции
PHP Manual

JDToGregorian

(PHP 4, PHP 5)

JDToGregorian — Converts Julian Day Count to Gregorian date

Описание

string jdtogregorian ( int $julianday )

Converts Julian Day Count to a string containing the Gregorian date in the format of "month/day/year".

Список параметров

julianday

A julian day number as integer

Возвращаемые значения

The gregorian date as a string in the form "month/day/year"

Смотрите также

  • gregoriantojd() - Converts a Gregorian date to Julian Day Count
  • cal_from_jd() - Converts from Julian Day Count to a supported calendar

JDToFrench
jdtojewish
Calendar Функции


Converts a Julian day count to a Jewish calendar date

JDToGregorian
JDToJulian
Calendar Функции
PHP Manual

jdtojewish

(PHP 4, PHP 5)

jdtojewish — Converts a Julian day count to a Jewish calendar date

Описание

string jdtojewish ( int $juliandaycount [, bool $hebrew= false [, int $fl= 0 ]] )

Converts a Julian Day Count to the Jewish Calendar.

Список параметров

julianday

A julian day number as integer

hebrew

If the hebrew parameter is set to TRUE, the fl parameter is used for Hebrew, string based, output format.

fl

The available formats are: CAL_JEWISH_ADD_ALAFIM_GERESH, CAL_JEWISH_ADD_ALAFIM, CAL_JEWISH_ADD_GERESHAYIM.

Возвращаемые значения

The jewish date as a string in the form "month/day/year"

Список изменений

Версия | Описание
5.0.0 | The fl parameter was added.
4.3.0 | The hebrew parameter was added.

Примеры

Пример #1 jdtojewish() Example

<?php
echo jdtojewish(gregoriantojd(10, 8, 2002), true,
       CAL_JEWISH_ADD_GERESHAYIM + CAL_JEWISH_ADD_ALAFIM + CAL_JEWISH_ADD_ALAFIM_GERESH);
?>

Смотрите также

  • jewishtojd() - Converts a date in the Jewish Calendar to Julian Day Count
  • cal_from_jd() - Converts from Julian Day Count to a supported calendar

JDToGregorian
JDToJulian
Calendar Функции


Converts a Julian Day Count to a Julian Calendar Date

jdtojewish
jdtounix
Calendar Функции
PHP Manual

JDToJulian

(PHP 4, PHP 5)

JDToJulian — Converts a Julian Day Count to a Julian Calendar Date

Описание

string jdtojulian ( int $julianday )

Converts Julian Day Count to a string containing the Julian Calendar Date in the format of "month/day/year".

Список параметров

julianday

A julian day number as integer

Возвращаемые значения

The julian date as a string in the form "month/day/year"

Смотрите также

  • juliantojd() - Converts a Julian Calendar date to Julian Day Count
  • cal_from_jd() - Converts from Julian Day Count to a supported calendar

jdtojewish
jdtounix
Calendar Функции


Convert Julian Day to Unix timestamp

JDToJulian
JewishToJD
Calendar Функции
PHP Manual

jdtounix

(PHP 4, PHP 5)

jdtounix — Convert Julian Day to Unix timestamp

Описание

int jdtounix ( int $jday )

This function will return a Unix timestamp corresponding to the Julian Day given in jday or FALSE if jday is not inside the Unix epoch (Gregorian years between 1970 and 2037 or 2440588 <= jday <= 2465342 ). The time returned is localtime (and not GMT).

Список параметров

jday

A julian day number between 2440588 and 2465342.

Возвращаемые значения

The unix timestamp for the start of the given julian day.

Смотрите также

  • unixtojd() - Convert Unix timestamp to Julian Day

JDToJulian
JewishToJD
Calendar Функции


Converts a date in the Jewish Calendar to Julian Day Count

jdtounix
JulianToJD
Calendar Функции
PHP Manual

JewishToJD

(PHP 4, PHP 5)

JewishToJD — Converts a date in the Jewish Calendar to Julian Day Count

Описание

int jewishtojd ( int $month , int $day , int $year )

Although this function can handle dates all the way back to the year 1 (3761 B.C.), such use may not be meaningful. The Jewish calendar has been in use for several thousand years, but in the early days there was no formula to determine the start of a month. A new month was started when the new moon was first observed.

Список параметров

month

The month as a number from 1 to 13

day

The day as a number from 1 to 30

year

The year as a number between 1 and 9999

Возвращаемые значения

The julian day for the given jewish date as an integer.

Смотрите также

  • jdtojewish() - Converts a Julian day count to a Jewish calendar date
  • cal_to_jd() - Converts from a supported calendar to Julian Day Count

jdtounix
JulianToJD
Calendar Функции


Converts a Julian Calendar date to Julian Day Count

JewishToJD
unixtojd
Calendar Функции
PHP Manual

JulianToJD

(PHP 4, PHP 5)

JulianToJD — Converts a Julian Calendar date to Julian Day Count

Описание

int juliantojd ( int $month , int $day , int $year )

Valid Range for Julian Calendar 4713 B.C. to 9999 A.D.

Although this function can handle dates all the way back to 4713 B.C., such use may not be meaningful. The calendar was created in 46 B.C., but the details did not stabilize until at least 8 A.D., and perhaps as late at the 4th century. Also, the beginning of a year varied from one culture to another - not all accepted January as the first month.

Предостережение

Remember, the current calendar system being used worldwide is the Gregorian calendar. gregoriantojd() can be used to convert such dates to their Julian Day count.

Список параметров

month

The month as a number from 1 (for January) to 12 (for December)

day

The day as a number from 1 to 31

year

The year as a number between -4713 and 9999

Возвращаемые значения

The julian day for the given julian date as an integer.

Смотрите также

  • jdtojulian() - Converts a Julian Day Count to a Julian Calendar Date
  • cal_to_jd() - Converts from a supported calendar to Julian Day Count

JewishToJD
unixtojd
Calendar Функции


Convert Unix timestamp to Julian Day

JulianToJD
Date/Time
Calendar Функции
PHP Manual

unixtojd

(PHP 4, PHP 5)

unixtojd — Convert Unix timestamp to Julian Day

Описание

int unixtojd ([ int $timestamp= time() ] )

Return the Julian Day for a Unix timestamp (seconds since 1.1.1970), or for the current day if no timestamp is given.

Список параметров

timestamp

A unix timestamp to convert.

Возвращаемые значения

A julian day number as integer.

Смотрите также

  • jdtounix() - Convert Julian Day to Unix timestamp

JulianToJD
Date/Time
Calendar Функции


Date and Time

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • List of Supported Timezones
    • Africa
    • America
    • Antarctica
    • Arctic
    • Asia
    • Atlantic
    • Australia
    • Europe
    • Indian
    • Pacific
    • Others
  • DateTime — The DateTime class
    • DateTime::add — Adds an amount of days, months, years, hours, minutes and seconds to a DateTime object
    • DateTime::__construct — Returns new DateTime object
    • DateTime::createFromFormat — Returns new DateTime object formatted according to the specified format
    • DateTime::diff — Returns the difference between two DateTime objects
    • DateTime::format — Returns date formatted according to given format
    • DateTime::getLastErrors — Returns the warnings and errors
    • DateTime::getOffset — Returns the daylight saving time offset
    • DateTime::getTimestamp — Gets the Unix timestamp
    • DateTime::getTimezone — Return time zone relative to given DateTime
    • DateTime::modify — Alters the timestamp
    • DateTime::__set_state — The __set_state handler
    • DateTime::setDate — Sets the date
    • DateTime::setISODate — Sets the ISO date
    • DateTime::setTime — Sets the time
    • DateTime::setTimestamp — Sets the date and time based on an Unix timestamp
    • DateTime::setTimezone — Sets the time zone for the DateTime object
    • DateTime::sub — Subtracts an amount of days, months, years, hours, minutes and seconds from a DateTime object
    • DateTime::__wakeup — The __wakeup handler
  • DateTimeZone — The DateTimeZone class
    • DateTimeZone::__construct — Creates new DateTimeZone object
    • DateTimeZone::getLocation — Returns location information for a timezone
    • DateTimeZone::getName — Returns the name of the timezone
    • DateTimeZone::getOffset — Returns the timezone offset from GMT
    • DateTimeZone::getTransitions — Returns all transitions for the timezone
    • DateTimeZone::listAbbreviations — Returns associative array containing dst, offset and the timezone name
    • DateTimeZone::listIdentifiers — Returns numerically index array with all timezone identifiers
  • DateInterval — The DateInterval class
    • DateInterval::__construct — Creates new DateInterval object
    • DateInterval::createFromDateString — Sets up a DateInterval from the relative parts of the string
    • DateInterval::format — Formats the interval
  • DatePeriod — The DatePeriod class
    • DatePeriod::__construct — Creates new DatePeriod object
  • Date/Time Функции
    • checkdate — Проверяет правильность даты по грегорианскому календарю
    • date_add — Псевдоним DateTime::add
    • date_create_from_format — Псевдоним DateTime::createFromFormat
    • date_create — Returns new DateTime object
    • date_date_set — Псевдоним DateTime::setDate
    • date_default_timezone_get — Gets the default timezone used by all date/time functions in a script
    • date_default_timezone_set — Sets the default timezone used by all date/time functions in a script
    • 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 — Get info about given date
    • date_parse — Returns associative array with detailed info about given date
    • date_sub — Псевдоним DateTime::sub
    • date_sun_info — Returns an array with information about sunset/sunrise and twilight begin/end
    • date_sunrise — Returns time of sunrise for a given day and location
    • date_sunset — Returns time of sunset for a given day and location
    • 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 — Format a local time/date as integer
    • localtime — Возвращает системное время
    • microtime — Возвращает метку времени с микросекундами
    • mktime — Возвращает метку времени для заданной даты
    • strftime — Форматирует текущую дату/время с учетом текущей локали
    • strptime — Parse a time/date generated with strftime
    • strtotime — Преобразует текстовое представление даты на английском языке в метку времени Unix
    • time — Возвращает текущую метку времени
    • timezone_abbreviations_list — Псевдоним DateTimeZone::listAbbreviations
    • timezone_identifiers_list — Псевдоним DateTimeZone::listIdentifiers
    • timezone_location_get — Псевдоним DateTimeZone::getLocation
    • timezone_name_from_abbr — Returns the timezone name from abbreviation
    • timezone_name_get — Псевдоним DateTimeZone::getName
    • timezone_offset_get — Псевдоним DateTimeZone::getOffset
    • timezone_open — Returns new DateTimeZone object
    • timezone_transitions_get — Псевдоним DateTimeZone::getTransitions
    • timezone_version_get — Gets the version of the timezonedb
unixtojd
Введение
Calendar and Event Related Extensions


Введение

These functions allow you to get the date and time from the server where your PHP scripts are running. You can use these functions to format the date and time in many different ways.

Замечание: Please keep in mind that these functions are dependent on the locale settings of your server. Make sure to take daylight saving time (use e.g. $date = strtotime('+7 days', $date) and not $date += 7*24*60*60) and leap years into consideration when working with these functions.

Замечание: The timezones referenced in this section can be found in the List of Supported Timezones.

Date/Time
Установка и настройка
Date/Time


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Date/Time


Установка

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

Замечание: Getting the latest timezone database
The latest version of the timezone database can be installed via PECL's » timezonedb.

Замечание: Experimental DateTime support in PHP 5.1.x
Although the DateTime class (and related functions) are enabled by default since PHP 5.2.0, it is possible to add experimental support into PHP 5.1.x by using the following flag before configure/compile: CFLAGS=-DEXPERIMENTAL_DATE_SUPPORT=1

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Date/Time Configuration Options
Name | Default | Changeable | Changelog
date.default_latitude | "31.7667" | PHP_INI_ALL | Available since PHP 5.0.0.
date.default_longitude | "35.2333" | PHP_INI_ALL | Available since PHP 5.0.0.
date.sunrise_zenith | "90.583333" | PHP_INI_ALL | Available since PHP 5.0.0.
date.sunset_zenith | "90.583333" | PHP_INI_ALL | Available since PHP 5.0.0.
date.timezone | "" | PHP_INI_ALL | Available since PHP 5.1.0.

Для подробного описания констант PHP_INI_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

date.default_latitude float

The default latitude.

date.default_longitude float

The default longitude.

date.sunrise_zenith float

The default sunrise zenith.

date.sunset_zenith float

The default sunset zenith.

date.timezone string

The default timezone used by all date/time functions if the TZ environment variable isn't set. The precedence order is described in the date_default_timezone_get() page. See List of Supported Timezones for a list of supported timezones.

Замечание: The first four configuration options are currently only used by date_sunrise() and date_sunset().

Установка
Типы ресурсов
Установка и настройка


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

The DATE_ constants are defined since PHP 5.1.1 and they offer standard date representations, which can be used along with the date format functions (like date()).

Following constants exists since PHP 5.1.2 and specify a format returned by functions date_sunrise() and date_sunset().

SUNFUNCS_RET_TIMESTAMP (integer)
Timestamp
SUNFUNCS_RET_STRING (integer)
Hours:minutes (example: 08:02)
SUNFUNCS_RET_DOUBLE (integer)
Hours as floating point number (example 8.75)
Типы ресурсов
List of Supported Timezones
Date/Time


List of Supported Timezones

Содержание

  • Africa
  • America
  • Antarctica
  • Arctic
  • Asia
  • Atlantic
  • Australia
  • Europe
  • Indian
  • Pacific
  • Others

Here you'll find the complete list of timezones supported by PHP, which are meant to be used with e.g. date_default_timezone_set().

Замечание: The latest version of the timezone database can be installed via PECL's » timezonedb.

Замечание: This list is based upon Version 2009.10 of the timezonedb.

Предопределенные константы
Africa
Date/Time


Africa

Africa
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/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 |  |
List of Supported Timezones
America
List of Supported Timezones


America

America
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/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/La_Paz | America/Lima | America/Los_Angeles | America/Louisville
America/Maceio | America/Managua | America/Manaus | America/Marigot | America/Martinique
America/Mazatlan | America/Mendoza | America/Menominee | America/Merida | 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/Center | America/North_Dakota/New_Salem | 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/Santarem
America/Santiago | America/Santo_Domingo | America/Sao_Paulo | America/Scoresbysund | America/Shiprock
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 |
Africa
Antarctica
List of Supported Timezones


Antarctica

Antarctica
Antarctica/Casey | Antarctica/Davis | Antarctica/DumontDUrville | Antarctica/Mawson | Antarctica/McMurdo
Antarctica/Palmer | Antarctica/Rothera | Antarctica/South_Pole | Antarctica/Syowa | Antarctica/Vostok
America
Arctic
List of Supported Timezones


Arctic

Arctic
Arctic/Longyearbyen
Antarctica
Asia
List of Supported Timezones


Asia

Asia
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/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/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 |  |  |
Arctic
Atlantic
List of Supported Timezones


Atlantic

Atlantic
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 |  |  |
Asia
Australia
List of Supported Timezones


Australia

Australia
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 |  |
Atlantic
Europe
List of Supported Timezones


Europe

Europe
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 |  |
Australia
Indian
List of Supported Timezones


Indian

Indian
Indian/Antananarivo | Indian/Chagos | Indian/Christmas | Indian/Cocos | Indian/Comoro
Indian/Kerguelen | Indian/Mahe | Indian/Maldives | Indian/Mauritius | Indian/Mayotte
Indian/Reunion |  |  |  |
Europe
Pacific
List of Supported Timezones


Pacific

Pacific
Pacific/Apia | Pacific/Auckland | Pacific/Chatham | 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/Ponape | Pacific/Port_Moresby
Pacific/Rarotonga | Pacific/Saipan | Pacific/Samoa | Pacific/Tahiti | Pacific/Tarawa
Pacific/Tongatapu | Pacific/Truk | Pacific/Wake | Pacific/Wallis | Pacific/Yap
Indian
Others
List of Supported Timezones


Others

Others
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 |  |  |  |
Внимание

Please do not use any of the timezones listed here (besides UTC), they only exist for backward compatible reasons.

Pacific
DateTime
List of Supported Timezones


The DateTime class

Введение

Representation of date and time.

Class synopsis

DateTime
DateTime {
/* Constants */
const string DateTime::ATOM = Y-m-d\TH:i:sP ;
const string DateTime::COOKIE = l, d-M-y H:i:s T ;
const string DateTime::ISO8601 = Y-m-d\TH:i:sO ;
const string DateTime::RFC822 = D, d M y H:i:s O ;
const string DateTime::RFC850 = l, d-M-y H:i:s T ;
const string DateTime::RFC1036 = D, d M y H:i:s O ;
const string DateTime::RFC1123 = D, d M Y H:i:s O ;
const string DateTime::RFC2822 = D, d M Y H:i:s O ;
const string DateTime::RFC3339 = Y-m-d\TH:i:sP ;
const string DateTime::RSS = D, d M Y H:i:s O ;
const string DateTime::W3C = Y-m-d\TH:i:sP ;
/* Methods */
public DateTime add ( string $interval )
__construct ([ string $time= "now" [, DateTimeZone $timezone= NULL ]] )
public static DateTime createFromFormat ( string $format , string $time [, DateTimeZone $timezone ] )
public DateInterval diff ( DateTime $datetime [, bool $absolute ] )
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 ] )
public DateTime setTime ( int $hour , int $minute [, int $second ] )
public DateTime setTimestamp ( int $unixtimestamp )
public DateTime setTimezone ( DateTimeZone $timezone )
public DateTime sub ( DateInterval $interval )
public DateTime __wakeup ( void )
}

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

DateTime Node Types

DateTime::ATOM
DATE_ATOM
Atom (example: 2005-08-15T15:52:01+00:00)
DateTime::COOKIE
DATE_COOKIE
HTTP Cookies (example: Monday, 15-Aug-05 15:52:01 UTC)
DateTime::ISO8601
DATE_ISO8601
ISO-8601 (example: 2005-08-15T15:52:01+0000)
DateTime::RFC822
DATE_RFC822
RFC 822 (example: Mon, 15 Aug 05 15:52:01 +0000)
DateTime::RFC850
DATE_RFC850
RFC 850 (example: Monday, 15-Aug-05 15:52:01 UTC)
DateTime::RFC1036
DATE_RFC1036
RFC 1036 (example: Mon, 15 Aug 05 15:52:01 +0000)
DateTime::RFC1123
DATE_RFC1123
RFC 1123 (example: 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
Same as DATE_ATOM (since 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 (example: 2005-08-15T15:52:01+00:00)

Содержание

  • DateTime::add — Adds an amount of days, months, years, hours, minutes and seconds to a DateTime object
  • DateTime::__construct — Returns new DateTime object
  • DateTime::createFromFormat — Returns new DateTime object formatted according to the specified format
  • DateTime::diff — Returns the difference between two DateTime objects
  • DateTime::format — Returns date formatted according to given format
  • DateTime::getLastErrors — Returns the warnings and errors
  • DateTime::getOffset — Returns the daylight saving time offset
  • DateTime::getTimestamp — Gets the Unix timestamp
  • DateTime::getTimezone — Return time zone relative to given DateTime
  • DateTime::modify — Alters the timestamp
  • DateTime::__set_state — The __set_state handler
  • DateTime::setDate — Sets the date
  • DateTime::setISODate — Sets the ISO date
  • DateTime::setTime — Sets the time
  • DateTime::setTimestamp — Sets the date and time based on an Unix timestamp
  • DateTime::setTimezone — Sets the time zone for the DateTime object
  • DateTime::sub — Subtracts an amount of days, months, years, hours, minutes and seconds from a DateTime object
  • DateTime::__wakeup — The __wakeup handler
Others
DateTime::add
Date/Time


Adds an amount of days, months, years, hours, minutes and seconds to a DateTime object

DateTime
DateTime::__construct
DateTime
PHP Manual

DateTime::add

(PHP 5 >= 5.3.0)

DateTime::add — Adds an amount of days, months, years, hours, minutes and seconds to a DateTime object

Описание

public DateTime DateTime::add ( string $interval )
DateTime date_add ( DateTime $object , DateInterval $interval )

Adds the specified DateInterval object to the specified DateTime object.

Список параметров

object

Procedural style only: A DateTime object returned by date_create()

interval

The amount to be added. For the date use "P3D", "P3M", "P3Y" or a combination of the three e.g. "P2M5D" (Y = Years, M = Months, D = Days.) MUST BE YEAR MONTH DAY FORMAT "P5Y", "P5M2D", "P5Y4D". For the time use "T3H", "T3M", "T3S" or or a combination of the three e.g. "T5H20M" (H = Hours, M = Minutes, S = Seconds). For dateTime use "P5D2M4YT5H20M". The digit before the letter (NOT P or T) can be any amount.

Возвращаемые значения

Returns the modified DateTime.

Примеры

Пример #1 date_add() example

<?php

$date = new DateTime("18-July-2008 16:30:30");
echo $date->format("d-m-Y H:i:s").'<br />';

date_add($date, new DateInterval("P5D"));
echo '<br />'.$date->format("d-m-Y").' : 5 Days';

date_add($date, new DateInterval("P5M"));
echo '<br />'.$date->format("d-m-Y").' : 5 Months';

date_add($date, new DateInterval("P5Y"));
echo '<br />'.$date->format("d-m-Y").' : 5 Years';

date_add($date, new DateInterval("P5Y5M5D"));
echo '<br />'.$date->format("d-m-Y").' : 5 Days, 5 Months, 5 Years';

date_add($date, new DateInterval("P5YT5H"));
echo '<br />'.$date->format("d-m-Y H:i:s").' : 5 Years, 5 Hours';

?>

Примечания

Внимание

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

Смотрите также

  • DateTime::sub() - Subtracts an amount of days, months, years, hours, minutes and seconds from a DateTime object
  • DateTime::diff() - Returns the difference between two DateTime objects

DateTime
DateTime::__construct
DateTime


Returns new DateTime object

DateTime::add
DateTime::createFromFormat
DateTime
PHP Manual

DateTime::__construct

(PHP 5 >= 5.2.0)

DateTime::__construct — Returns new DateTime object

Описание

DateTime::__construct ([ string $time= "now" [, DateTimeZone $timezone= NULL ]] )

Returns new DateTime object.

Список параметров

time

String in a format accepted by strtotime(), defaults to "now".

timezone

Time zone of the time.

Errors/Exceptions

Emits Exception in case of an error.

Примеры

Пример #1 DateTime::__construct() example

<?php
date_default_timezone_set('Europe/London');

$datetime = new DateTime('2008-08-03 14:52:10');
echo $datetime->format(DATE_ATOM);
?>

DateTime::add
DateTime::createFromFormat
DateTime


Returns new DateTime object formatted according to the specified format

DateTime::__construct
DateTime::diff
DateTime
PHP Manual

DateTime::createFromFormat

(PHP 5 >= 5.3.0)

DateTime::createFromFormat — Returns new DateTime object formatted according to the specified format

Описание

public static DateTime DateTime::createFromFormat ( string $format , string $time [, DateTimeZone $timezone ] )

Returns new DateTime object formatted according to the specified format.

Список параметров

format

Format accepted by date().

time

String representing the time.

timezone

Time zone.

Возвращаемые значения

Returns new DateTime instance.

DateTime::__construct
DateTime::diff
DateTime


Returns the difference between two DateTime objects

DateTime::createFromFormat
DateTime::format
DateTime
PHP Manual

DateTime::diff

(PHP 5 >= 5.3.0)

DateTime::diff — Returns the difference between two DateTime objects

Описание

public DateInterval DateTime::diff ( DateTime $datetime [, bool $absolute ] )

Returns the difference between two DateTime objects.

Список параметров

datetime

The date to compare to.

absolute

Whether to return absolute difference. Defaults to FALSE.

Возвращаемые значения

The difference between two dates.

DateTime::createFromFormat
DateTime::format
DateTime


Returns date formatted according to given format

DateTime::diff
DateTime::getLastErrors
DateTime
PHP Manual

DateTime::format

(PHP 5 >= 5.2.0)

DateTime::format — Returns date formatted according to given format

Описание

public string DateTime::format ( string $format )
string date_format ( DateTime $object , string $format )

Список параметров

object

Procedural style only: A DateTime object returned by date_create()

format

Format accepted by date().

Возвращаемые значения

Returns formatted date on success or FALSE on failure.

Примеры

Пример #1 Displaying the date and time using the procedural form

<?php
date_default_timezone_set('Europe/London');

$datetime = date_create('2008-08-03 14:52:10');
echo date_format($datetime, 'jS, F Y') . "\n";
echo date_format($datetime, DATE_ATOM);
?>

Пример #2 Displaying the date and time using the object oriented form

<?php
date_default_timezone_set('Europe/London');

$datetime = new DateTime('2008-08-03 14:52:10');
echo $datetime->format('jS, F Y') . "\n";
echo $datetime->format(DATE_ATOM);
?>
?>

Результат выполнения данного примера:

3rd, August 2008
2008-08-03T14:52:10+01:00

Смотрите также

  • date() - Форматирует системную дату/время

DateTime::diff
DateTime::getLastErrors
DateTime


Returns the warnings and errors

DateTime::format
DateTime::getOffset
DateTime
PHP Manual

DateTime::getLastErrors

(PHP 5 >= 5.3.0)

DateTime::getLastErrors — Returns the warnings and errors

Описание

public static array DateTime::getLastErrors ( void )

Returns the warnings and errors found while parsing a date/time string.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns array containing info about warnings and errors.

Примеры

Пример #1 DateTime::getLastErrors() example

<?php
$date = date_create('asdfasdf');
print_r(DateTime::getLastErrors());
?>

Результат выполнения данного примера:

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


Returns the daylight saving time offset

DateTime::getLastErrors
DateTime::getTimestamp
DateTime
PHP Manual

DateTime::getOffset

(PHP 5 >= 5.2.0)

DateTime::getOffset — Returns the daylight saving time offset

Описание

public int DateTime::getOffset ( void )
int date_offset_get ( DateTime $object )

Список параметров

object

Procedural style only: A DateTime object returned by date_create()

Возвращаемые значения

Returns DST offset in seconds on success or FALSE on failure.

Примеры

Пример #1 Comparing offsets between Summer and Winter

<?php
date_default_timezone_set('Europe/London');

$winter = new DateTime('2008-12-25 14:25:41');
$summer = new DateTime('2008-07-14 14:25:41');

echo $winter->getOffset(); // Winter offset: 0
echo $summer->getOffset(); // Summer offset: 3600 = 1 hour
?>

DateTime::getLastErrors
DateTime::getTimestamp
DateTime


Gets the Unix timestamp

DateTime::getOffset
DateTime::getTimezone
DateTime
PHP Manual

DateTime::getTimestamp

(PHP 5 >= 5.3.0)

DateTime::getTimestamp — Gets the Unix timestamp

Описание

public int DateTime::getTimestamp ( void )

Gets the Unix timestamp.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns Unix timestamp representing the date.

Смотрите также

  • DateTime::setTimestamp - Sets the date and time based on an Unix timestamp

DateTime::getOffset
DateTime::getTimezone
DateTime


Return time zone relative to given DateTime

DateTime::getTimestamp
DateTime::modify
DateTime
PHP Manual

DateTime::getTimezone

(PHP 5 >= 5.2.0)

DateTime::getTimezone — Return time zone relative to given DateTime

Описание

public DateTimeZone DateTime::getTimezone ( void )
DateTimeZone date_timezone_get ( DateTime $object )

Список параметров

object

Procedural style only: A DateTime object returned by date_create()

Возвращаемые значения

Returns DateTimeZone object on success or FALSE on failure.

Примеры

Пример #1 Setting and getting DateTimeZone objects

<?php
date_default_timezone_set('Europe/London');

$datetime = new DateTime('2008-08-03 12:35:23');
echo $datetime->getTimezone()->getName() . "\n";

$datetime = new DateTime('2008-08-03 12:35:23');
$la_time = new DateTimeZone('America/Los_Angeles');
$datetime->setTimezone($la_time);
echo $datetime->getTimezone()->getName();
?>

Результат выполнения данного примера:

Europe/London
America/Los_Angeles

Смотрите также

  • DateTime::setTimezone() - Sets the time zone for the DateTime object
  • timezone_open() - Returns new DateTimeZone object

DateTime::getTimestamp
DateTime::modify
DateTime


Alters the timestamp

DateTime::getTimezone
DateTime::__set_state
DateTime
PHP Manual

DateTime::modify

(PHP 5 >= 5.2.0)

DateTime::modify — Alters the timestamp

Описание

public DateTime DateTime::modify ( string $modify )
DateTime date_modify ( DateTime $object , string $modify )

Alter the timestamp of a DateTime object by incrementing or decrementing in a format accepted by strtotime().

Список параметров

object

Procedural style only: A DateTime object returned by date_create()

modify

String in a relative format accepted by strtotime().

Возвращаемые значения

Returns the modified DateTime.

Список изменений

Версия | Описание
5.3.0 | Changed the return value from NULL to DateTime.

Примеры

Пример #1 A date_modify() example

<?php
$date = new DateTime("2006-12-12");
$date->modify("+1 day");
echo $date->format("Y-m-d");
?>

Результат выполнения данного примера:

2006-12-13

Смотрите также

  • strtotime() - Преобразует текстовое представление даты на английском языке в метку времени Unix

DateTime::getTimezone
DateTime::__set_state
DateTime


The __set_state handler

DateTime::modify
DateTime::setDate
DateTime
PHP Manual

DateTime::__set_state

(PHP 5 >= 5.2.0)

DateTime::__set_state — The __set_state handler

Описание

public static DateTime DateTime::__set_state ( array $array )

The __set_state handler.

Список параметров

array

Initialization array.

Возвращаемые значения

Returns a new instance of a DateTime object.

DateTime::modify
DateTime::setDate
DateTime


Sets the date

DateTime::__set_state
DateTime::setISODate
DateTime
PHP Manual

DateTime::setDate

(PHP 5 >= 5.2.0)

DateTime::setDate — Sets the date

Описание

public DateTime DateTime::setDate ( int $year , int $month , int $day )
DateTime date_date_set ( DateTime $object , int $year , int $month , int $day )

Resets the current date of the DateTime object to a different date.

Список параметров

object

Procedural style only: A DateTime object returned by date_create()

year

Year of the date.

month

Month of the date.

day

Day of the date.

Возвращаемые значения

Returns the modified DateTime.

Список изменений

Версия | Описание
5.3.0 | Changed the return value from NULL to DateTime.

Примеры

Пример #1 Object oriented example usage

<?php
date_default_timezone_set('Europe/London');

$datetime = new DateTime('2008-08-03 14:52:10');
$datetime->setDate(2008, 10, 12);

echo $datetime->format(DATE_RFC2822);
?>

Пример #2 Procedural example usage

<?php
date_default_timezone_set('Europe/London');

$datetime = date_create('2008-08-03 14:52:10');
date_date_set($datetime, 2008, 10, 12);

echo date_format($datetime, DATE_RFC2822);
?>

Результат выполнения данного примера:

Sun, 12 Oct 2008 14:52:10 +0100

Смотрите также

  • DateTime::setISODate() - Sets the ISO date
  • DateTime::setTime() - Sets the time

DateTime::__set_state
DateTime::setISODate
DateTime


Sets the ISO date

DateTime::setDate
DateTime::setTime
DateTime
PHP Manual

DateTime::setISODate

(PHP 5 >= 5.2.0)

DateTime::setISODate — Sets the ISO date

Описание

public DateTime DateTime::setISODate ( int $year , int $week [, int $day ] )
DateTime date_isodate_set ( DateTime $object , int $year , int $week [, int $day ] )

Set a date according to the ISO 8601 standard - using weeks and day offsets rather than specific dates.

Список параметров

object

Procedural style only: A DateTime object returned by date_create()

year

Year of the date.

week

Week of the date.

day

Offset from the first day of the week.

Возвращаемые значения

Returns the modified DateTime.

Список изменений

Версия | Описание
5.3.0 | Changed the return value from NULL to DateTime.

Примеры

Пример #1 Finding the date from a week number and day offset

<?php
date_default_timezone_set('Europe/London');

$datetime = new DateTime();

// Offset from start of week 2 (7) = 5
$datetime->setISODate(2008, 2, 5); // Day 5 of week 2 of 2008 is the 11th of January.

// Offset from start of week 2 (7) = 10
$datetime->setISODate(2008, 2, 10); // Day 10 of week 2 of 2008 is the 16th of January.
?>

Пример #2 Finding the month a week is in

<?php
date_default_timezone_set('Europe/London');

$datetime = date_create();
date_isodate_set($datetime, 2008, 6); // Week 6 of 2008 is in February.
?>

Смотрите также

  • DateTime::setDate() - Sets the date

DateTime::setDate
DateTime::setTime
DateTime


Sets the time

DateTime::setISODate
DateTime::setTimestamp
DateTime
PHP Manual

DateTime::setTime

(PHP 5 >= 5.2.0)

DateTime::setTime — Sets the time

Описание

public DateTime DateTime::setTime ( int $hour , int $minute [, int $second ] )
DateTime date_time_set ( DateTime $object , int $hour , int $minute [, int $second ] )

Resets the current time of the DateTime object to a different time.

Список параметров

object

Procedural style only: A DateTime object returned by date_create()

hour

Hour of the time.

minute

Minute of the time.

second

Second of the time.

Возвращаемые значения

Returns the modified DateTime.

Список изменений

Версия | Описание
5.3.0 | Changed the return value from NULL to DateTime.

Примеры

Пример #1 Changing the time of a DateTime object

<?php
date_default_timezone_set('Europe/London');

$datetime = new DateTime('2008-08-03 12:35:23');
echo $datetime->format('Y-m-d H:i:s') . "\n";

$datetime->setTime(14, 55, 24);
echo $datetime->format('Y-m-d H:i:s') . "\n";

// Warning: Does not increment the hour!
// This is because the hour has been set (14) - see date_modify()
$datetime->setTime($datetime->format('H'), $datetime->format('n') + 6);
echo $datetime->format('Y-m-d H:i:s') . "\n";

// *Does* increment the day, because the day has not been set
$datetime->setTime($datetime->format('H') + 12, $datetime->format('n'));
echo $datetime->format('Y-m-d H:i:s') . "\n";
?>

Результат выполнения данного примера:

2008-08-03 12:35:23
2008-08-03 14:55:24
2008-08-03 14:14:00
2008-08-04 02:08:00

Смотрите также

  • DateTime::setDate() - Sets the date

DateTime::setISODate
DateTime::setTimestamp
DateTime


Sets the date and time based on an Unix timestamp

DateTime::setTime
DateTime::setTimezone
DateTime
PHP Manual

DateTime::setTimestamp

(PHP 5 >= 5.3.0)

DateTime::setTimestamp — Sets the date and time based on an Unix timestamp

Описание

public DateTime DateTime::setTimestamp ( int $unixtimestamp )

Sets the date and time based on an Unix timestamp.

Список параметров

unixtimestamp

Unix timestamp representing the date.

Возвращаемые значения

Returns the modified DateTime.

Смотрите также

  • DateTime::getTimestamp - Gets the Unix timestamp

DateTime::setTime
DateTime::setTimezone
DateTime


Sets the time zone for the DateTime object

DateTime::setTimestamp
DateTime::sub
DateTime
PHP Manual

DateTime::setTimezone

(PHP 5 >= 5.2.0)

DateTime::setTimezone — Sets the time zone for the DateTime object

Описание

public DateTime DateTime::setTimezone ( DateTimeZone $timezone )
DateTime date_timezone_set ( DateTime $object , DateTimeZone $timezone )

Список параметров

object

Procedural style only: A DateTime object returned by date_create()

timezone

Desired time zone.

Возвращаемые значения

Returns the modified DateTime.

Список изменений

Версия | Описание
5.3.0 | Changed the return value from NULL to DateTime.

Примеры

Пример #1 Setting and getting DateTimeZone objects

<?php
date_default_timezone_set('Europe/London');

$datetime = new DateTime('2008-08-03 12:35:23');
echo $datetime->getTimezone()->getName() . "\n";

$datetime = new DateTime('2008-08-03 12:35:23');
$la_time = new DateTimeZone('America/Los_Angeles');
$datetime->setTimezone($la_time);
echo $datetime->getTimezone()->getName();
?>

Результат выполнения данного примера:

Europe/London
America/Los_Angeles

Смотрите также

  • DateTime::getTimezone() - Return time zone relative to given DateTime
  • timezone_open() - Returns new DateTimeZone object

DateTime::setTimestamp
DateTime::sub
DateTime


Subtracts an amount of days, months, years, hours, minutes and seconds from a DateTime object

DateTime::setTimezone
DateTime::__wakeup
DateTime
PHP Manual

DateTime::sub

(PHP 5 >= 5.3.0)

DateTime::sub — Subtracts an amount of days, months, years, hours, minutes and seconds from a DateTime object

Описание

public DateTime DateTime::sub ( DateInterval $interval )
DateTime date_sub ( DateTime $object , DateInterval $interval )

Subtracts the specified DateInterval object from the specified DateTime object.

Список параметров

object

Procedural style only: A DateTime object returned by date_create()

interval

The amount to be subtracted. For the date use "P3D", "P3M", "P3Y" or a combination of the three e.g. "P2M5D" (Y = Years, M = Months, D = Days.) MUST BE YEAR MONTH DAY FORMAT "P5Y", "P5M2D", "P5Y4D". For the time use "T3H", "T3M", "T3S" or or a combination of the three e.g. "T5H20M" (H = Hours, M = Minutes, S = Seconds). For dateTime us "P5D2M4YT5H20M". The digit before the letter (NOT P or T) can be any amount.

Возвращаемые значения

Returns the modified DateTime.

Примеры

Пример #1 date_sub() example

<?php

$date = new DateTime("18-July-2008 16:30:30");
echo $date->format("d-m-Y H:i:s").'<br />';

date_sub($date, new DateInterval("P5D"));
echo '<br />'.$date->format("d-m-Y").' : 5 Days';

date_sub($date, new DateInterval("P5M"));
echo '<br />'.$date->format("d-m-Y").' : 5 Months';

date_sub($date, new DateInterval("P5Y"));
echo '<br />'.$date->format("d-m-Y").' : 5 Years';

date_sub($date, new DateInterval("P5Y5M5D"));
echo '<br />'.$date->format("d-m-Y").' : 5 Days, 5 Months, 5 Years';

date_sub($date, new DateInterval("P5YT5H"));
echo '<br />'.$date->format("d-m-Y H:i:s").' : 5 Years, 5 Hours';

?>

Примечания

Внимание

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

Смотрите также

  • DateTime::add() - Adds an amount of days, months, years, hours, minutes and seconds to a DateTime object
  • DateTime::diff() - Returns the difference between two DateTime objects

DateTime::setTimezone
DateTime::__wakeup
DateTime


The __wakeup handler

DateTime::sub
DateTimeZone
DateTime
PHP Manual

DateTime::__wakeup

(PHP 5 >= 5.2.0)

DateTime::__wakeup — The __wakeup handler

Описание

public DateTime DateTime::__wakeup ( void )

The __wakeup handler.

Список параметров

This function has no parameters.

Возвращаемые значения

Initializes a DateTime object.

DateTime::sub
DateTimeZone
DateTime


The DateTimeZone class

Введение

Representation of time zone.

Class synopsis

DateTimeZone
DateTimeZone {
/* Constants */
const integer DateTimeZone::AFRICA = 1 ;
const integer DateTimeZone::AMERICA = 2 ;
const integer DateTimeZone::ANTARCTICA = 4 ;
const integer DateTimeZone::ARCTIC = 8 ;
const integer DateTimeZone::ASIA = 16 ;
const integer DateTimeZone::ATLANTIC = 32 ;
const integer DateTimeZone::AUSTRALIA = 64 ;
const integer DateTimeZone::EUROPE = 128 ;
const integer DateTimeZone::INDIAN = 256 ;
const integer DateTimeZone::PACIFIC = 512 ;
const integer DateTimeZone::UTC = 1024 ;
const integer DateTimeZone::ALL = 2047 ;
const integer DateTimeZone::ALL_WITH_BC = 4095 ;
const integer DateTimeZone::PER_COUNTRY = 4096 ;
/* Methods */
__construct ( string $timezone )
public array getLocation ( void )
public string getName ( void )
int getOffset ( DateTime $datetime )
array getTransitions ([ int $timestamp_begin [, int $timestamp_end ]] )
array listAbbreviations ( void )
array listIdentifiers ([ int $what= DateTime::ALL [, string $country= NULL ]] )
}

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

DateTimeZone Node Types

DateTimeZone::AFRICA

Africa time zones.

DateTimeZone::AMERICA

America time zones.

DateTimeZone::ANTARCTICA

Antarctica time zones.

DateTimeZone::ARCTIC

Artic time zones.

DateTimeZone::ASIA

Asia time zones.

DateTimeZone::ATLANTIC

Atlantic time zones.

DateTimeZone::AUSTRALIA

Australia time zones.

DateTimeZone::EUROPE

Europe time zones.

DateTimeZone::INDIAN

Indian time zones.

DateTimeZone::PACIFIC

Pacific time zones.

DateTimeZone::UTC

UTC time zones.

DateTimeZone::ALL

All time zones.

DateTimeZone::ALL_WITH_BC

All time zones including backwards compatible.

DateTimeZone::PER_COUNTRY

Time zones per country.

Содержание

  • DateTimeZone::__construct — Creates new DateTimeZone object
  • DateTimeZone::getLocation — Returns location information for a timezone
  • DateTimeZone::getName — Returns the name of the timezone
  • DateTimeZone::getOffset — Returns the timezone offset from GMT
  • DateTimeZone::getTransitions — Returns all transitions for the timezone
  • DateTimeZone::listAbbreviations — Returns associative array containing dst, offset and the timezone name
  • DateTimeZone::listIdentifiers — Returns numerically index array with all timezone identifiers
DateTime::__wakeup
DateTimeZone::__construct
Date/Time


Creates new DateTimeZone object

DateTimeZone
DateTimeZone::getLocation
DateTimeZone
PHP Manual

DateTimeZone::__construct

(PHP 5 >= 5.2.0)

DateTimeZone::__construct — Creates new DateTimeZone object

Описание

DateTimeZone::__construct ( string $timezone )

Creates new DateTimeZone object.

Список параметров

timezone

One of timezones.

Возвращаемые значения

Returns DateTimeZone on success.

Errors/Exceptions

This method throws Exception if the timezone supplied is not recognised as a valid timezone.

Примеры

Пример #1 Catching errors when instantiating DateTimeZone

<?php
// Error handling by catching exceptions
$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


Returns location information for a timezone

DateTimeZone::__construct
DateTimeZone::getName
DateTimeZone
PHP Manual

DateTimeZone::getLocation

(PHP 5 >= 5.3.0)

DateTimeZone::getLocation — Returns location information for a timezone

Описание

public array DateTimeZone::getLocation ( void )

Returns location information for a timezone, including country code, latitude/longitude and comments.

Список параметров

This function has no parameters.

Возвращаемые значения

Array containing location information about timezone.

Примеры

Пример #1 DateTimeZone::getLocation() example

<?php
$tz = new DateTimeZone("Europe/Prague");
print_r($tz->getLocation());
?>

Результат выполнения данного примера:

Array
(
    [country_code] => CZ
    [latitude] => 50.08333
    [longitude] => 14.43333
    [comments] =>
)

DateTimeZone::__construct
DateTimeZone::getName
DateTimeZone


Returns the name of the timezone

DateTimeZone::getLocation
DateTimeZone::getOffset
DateTimeZone
PHP Manual

DateTimeZone::getName

(PHP 5 >= 5.2.0)

DateTimeZone::getName — Returns the name of the timezone

Описание

public string DateTimeZone::getName ( void )

Returns the name of the timezone.

Список параметров

This function has no parameters.

Возвращаемые значения

One of timezones.

DateTimeZone::getLocation
DateTimeZone::getOffset
DateTimeZone


Returns the timezone offset from GMT

DateTimeZone::getName
DateTimeZone::getTransitions
DateTimeZone
PHP Manual

DateTimeZone::getOffset

(PHP 5 >= 5.2.0)

DateTimeZone::getOffset — Returns the timezone offset from GMT

Описание

int DateTimeZone::getOffset ( DateTime $datetime )
int timezone_offset_get ( DateTimeZone $object , DateTime $datetime )

This function returns the offset to GMT for the date/time specified in the datetime parameter. The GMT offset is calculated with the timezone information contained in the DateTimeZone object being used.

Список параметров

object

Procedural style only: A DateTimeZone object returned by timezone_open()

datetime

DateTime that contains the date/time to compute the offset from.

Возвращаемые значения

Returns time zone offset in seconds on success or FALSE on failure.

Примеры

Пример #1 DateTimeZone::getOffset() examples

<?php
// Create two timezone objects, one for Taipei (Taiwan) and one for
// Tokyo (Japan)
$dateTimeZoneTaipei = new DateTimeZone("Asia/Taipei");
$dateTimeZoneJapan = new DateTimeZone("Asia/Tokyo");

// Create two DateTime objects that will contain the same Unix timestamp, but
// have different timezones attached to them.
$dateTimeTaipei = new DateTime("now", $dateTimeZoneTaipei);
$dateTimeJapan = new DateTime("now", $dateTimeZoneJapan);

// Calculate the GMT offset for the date/time contained in the $dateTimeTaipei
// object, but using the timezone rules as defined for Tokyo
// ($dateTimeZoneJapan).
$timeOffset = $dateTimeZoneJapan->getOffset($dateTimeTaipei);

// Should show int(32400) (for dates after Sat Sep 8 01:00:00 1951 JST).
var_dump($timeOffset);
?>

DateTimeZone::getName
DateTimeZone::getTransitions
DateTimeZone


Returns all transitions for the timezone

DateTimeZone::getOffset
DateTimeZone::listAbbreviations
DateTimeZone
PHP Manual

DateTimeZone::getTransitions

(PHP 5 >= 5.2.0)

DateTimeZone::getTransitions — Returns all transitions for the timezone

Описание

array DateTimeZone::getTransitions ([ int $timestamp_begin [, int $timestamp_end ]] )
array timezone_transitions_get ( DateTimeZone $object [, int $timestamp_begin [, int $timestamp_end ]] )

Список параметров

object

Procedural style only: A DateTimeZone object returned by timezone_open()

timestamp_begin

Begin timestamp.

timestamp_end

End timestamp.

Возвращаемые значения

Returns numerically indexed array containing associative array with all transitions on success or FALSE on failure.

Список изменений

Версия | Описание
5.3.0 | The optional timestamp_begin and timestamp_end were added.

Примеры

Пример #1 A timezone_transitions_get() example

<?php
$timezone = new DateTimeZone("CET");
print_r(reset($timezone->getTransitions()));
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [ts] => -1693706400
    [time] => 1916-04-30T22:00:00+0000
    [offset] => 7200
    [isdst] => 1
    [abbr] => CEST
)

DateTimeZone::getOffset
DateTimeZone::listAbbreviations
DateTimeZone


Returns associative array containing dst, offset and the timezone name

DateTimeZone::getTransitions
DateTimeZone::listIdentifiers
DateTimeZone
PHP Manual

DateTimeZone::listAbbreviations

(PHP 5 >= 5.2.0)

DateTimeZone::listAbbreviations — Returns associative array containing dst, offset and the timezone name

Описание

array DateTimeZone::listAbbreviations ( void )
array timezone_abbreviations_list ( void )

Возвращаемые значения

Returns array on success or FALSE on failure.

Примеры

Пример #1 A timezone_abbreviations_list() example

<?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


Returns numerically index array with all timezone identifiers

DateTimeZone::listAbbreviations
DateInterval
DateTimeZone
PHP Manual

DateTimeZone::listIdentifiers

(PHP 5 >= 5.3.0)

DateTimeZone::listIdentifiers — Returns numerically index array with all timezone identifiers

Описание

array DateTimeZone::listIdentifiers ([ int $what= DateTime::ALL [, string $country= NULL ]] )
array timezone_identifiers_list ([ int $what= DateTime::ALL [, string $country= NULL ]] )

Список параметров

object

Procedural style only: A DateTime object returned by date_create()

what

One of DateTimeZone class constants, defaults to DateTimeZone::ALL.

country

A two-letter ISO 3166-1 compatible country code.

Возвращаемые значения

Returns array on success or FALSE on failure.

Примеры

Пример #1 A timezone_identifiers_list() example

<?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/Asmera

Смотрите также

  • timezone_abbreviations_list() - Псевдоним DateTimeZone::listAbbreviations

DateTimeZone::listAbbreviations
DateInterval
DateTimeZone


The DateInterval class

Введение

Representation of date interval.

Class synopsis

DateInterval
DateInterval {
/* Methods */
__construct ( string $interval_spec )
public static DateInterval createFromDateString ( string $time )
public string format ( string $format )
}

Содержание

  • DateInterval::__construct — Creates new DateInterval object
  • DateInterval::createFromDateString — Sets up a DateInterval from the relative parts of the string
  • DateInterval::format — Formats the interval
DateTimeZone::listIdentifiers
DateInterval::__construct
Date/Time


Creates new DateInterval object

DateInterval
DateInterval::createFromDateString
DateInterval
PHP Manual

DateInterval::__construct

(PHP 5 >= 5.3.0)

DateInterval::__construct — Creates new DateInterval object

Описание

DateInterval::__construct ( string $interval_spec )

Creates new DateInterval object.

Список параметров

interval_spec

Interval specification.

DateInterval
DateInterval::createFromDateString
DateInterval


Sets up a DateInterval from the relative parts of the string

DateInterval::__construct
DateInterval::format
DateInterval
PHP Manual

DateInterval::createFromDateString

(PHP 5 >= 5.3.0)

DateInterval::createFromDateString — Sets up a DateInterval from the relative parts of the string

Описание

public static DateInterval DateInterval::createFromDateString ( string $time )

Uses the normal date parsers and sets up a DateInterval from the relative parts of the parsed string.

Список параметров

time

Date with relative parts.

Возвращаемые значения

Returns new DateInterval instance if success.

DateInterval::__construct
DateInterval::format
DateInterval


Formats the interval

DateInterval::createFromDateString
DatePeriod
DateInterval
PHP Manual

DateInterval::format

(PHP 5 >= 5.3.0)

DateInterval::format — Formats the interval

Описание

public string DateInterval::format ( string $format )

Formats the interval.

Список параметров

format

Возвращаемые значения

Returns the formatted interval.

DateInterval::createFromDateString
DatePeriod
DateInterval


The DatePeriod class

Введение

Representation of date period.

Class synopsis

DatePeriod
DatePeriod implements Traversable {
/* Constants */
const integer DatePeriod::EXCLUDE_START_DATE = 1 ;
/* Methods */
__construct ( DateTime $start , DateInterval $interval , int $recurrences [, int $options ] )
}

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

DatePeriod Node Types

DatePeriod::EXCLUDE_START_DATE

Exclude start date, used in DatePeriod::__construct().

Содержание

  • DatePeriod::__construct — Creates new DatePeriod object
DateInterval::format
DatePeriod::__construct
Date/Time


Creates new DatePeriod object

DatePeriod
Date/Time Функции
DatePeriod
PHP Manual

DatePeriod::__construct

(PHP 5 >= 5.3.0)

DatePeriod::__construct — Creates new DatePeriod object

Описание

DatePeriod::__construct ( DateTime $start , DateInterval $interval , int $recurrences [, int $options ] )
DatePeriod::__construct ( DateTime $start , DateInterval $interval , DateTime $end [, int $options ] )
DatePeriod::__construct ( string $isostr [, int $options ] )

Creates new DatePeriod object.

Список параметров

start

Start date.

interval

Interval.

recurrences

Number of recurrences.

end

End date.

isostr

String containing the ISO interval.

options

Can be set to DateTime::EXCLUDE_START_DATE.

DatePeriod
Date/Time Функции
DatePeriod


Date/Time Функции

Содержание

  • checkdate — Проверяет правильность даты по грегорианскому календарю
  • date_add — Псевдоним DateTime::add
  • date_create_from_format — Псевдоним DateTime::createFromFormat
  • date_create — Returns new DateTime object
  • date_date_set — Псевдоним DateTime::setDate
  • date_default_timezone_get — Gets the default timezone used by all date/time functions in a script
  • date_default_timezone_set — Sets the default timezone used by all date/time functions in a script
  • 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 — Get info about given date
  • date_parse — Returns associative array with detailed info about given date
  • date_sub — Псевдоним DateTime::sub
  • date_sun_info — Returns an array with information about sunset/sunrise and twilight begin/end
  • date_sunrise — Returns time of sunrise for a given day and location
  • date_sunset — Returns time of sunset for a given day and location
  • 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 — Format a local time/date as integer
  • localtime — Возвращает системное время
  • microtime — Возвращает метку времени с микросекундами
  • mktime — Возвращает метку времени для заданной даты
  • strftime — Форматирует текущую дату/время с учетом текущей локали
  • strptime — Parse a time/date generated with strftime
  • strtotime — Преобразует текстовое представление даты на английском языке в метку времени Unix
  • time — Возвращает текущую метку времени
  • timezone_abbreviations_list — Псевдоним DateTimeZone::listAbbreviations
  • timezone_identifiers_list — Псевдоним DateTimeZone::listIdentifiers
  • timezone_location_get — Псевдоним DateTimeZone::getLocation
  • timezone_name_from_abbr — Returns the timezone name from abbreviation
  • timezone_name_get — Псевдоним DateTimeZone::getName
  • timezone_offset_get — Псевдоним DateTimeZone::getOffset
  • timezone_open — Returns new DateTimeZone object
  • timezone_transitions_get — Псевдоним DateTimeZone::getTransitions
  • timezone_version_get — Gets the version of the timezonedb
DatePeriod::__construct
checkdate
Date/Time


Проверяет правильность даты по грегорианскому календарю

Date/Time Функции
date_add
Date/Time Функции
PHP Manual

checkdate

(PHP 4, PHP 5)

checkdate — Проверяет правильность даты по грегорианскому календарю

Описание

bool checkdate ( int $month , int $day , int $year )

Возвращает TRUE если дата, заданная аргументами, является правильной; иначе возвращает FALSE. Дата считается правильной, если:

  • год в диапазоне от 1 до 32767 включительно
  • месяц в диапазоне от 1 до 12 включительно
  • day является допустимым номером дня для месяца, заданного аргументом month , принимая во внимание,что year может задавать високосный год.

Пример #1 Пример использования функции checkdate()

<?php
var_dump(checkdate(12, 31, 2000));
var_dump(checkdate(2, 29, 2001));
?>

Приведенный выше пример выведет:

bool(true)
bool(false)

См.также описание функций mktime() и strtotime().

Date/Time Функции
date_add
Date/Time Функции


Псевдоним DateTime::add

checkdate
date_create_from_format
Date/Time Функции
PHP Manual

date_add

(PHP 5 >= 5.3.0)

date_add — Псевдоним DateTime::add

Описание

Эта функция является псевдонимом DateTime::add

checkdate
date_create_from_format
Date/Time Функции


Псевдоним DateTime::createFromFormat

date_add
date_create
Date/Time Функции
PHP Manual

date_create_from_format

(PHP 5 >= 5.3.0)

date_create_from_format — Псевдоним DateTime::createFromFormat

Описание

Эта функция является псевдонимом DateTime::createFromFormat

date_add
date_create
Date/Time Функции


Returns new DateTime object

date_create_from_format
date_date_set
Date/Time Функции
PHP Manual

date_create

(PHP 5 >= 5.2.0)

date_create — Returns new DateTime object

Описание

DateTime date_create ([ string $time= "now" [, DateTimeZone $timezone= NULL ]] )

Список параметров

time

String in a format accepted by strtotime(), defaults to "now".

timezone

Time zone of the time.

Возвращаемые значения

Returns DateTime object on success or FALSE on failure.

Примеры

Пример #1 date_create() example

<?php
date_default_timezone_set('Europe/London');

$datetime = date_create('2008-08-03 14:52:10');
echo date_format($datetime, DATE_ATOM);
?>

Результат выполнения данного примера:

2008-08-03T14:52:10+01:00

date_create_from_format
date_date_set
Date/Time Функции


Псевдоним DateTime::setDate

date_create
date_default_timezone_get
Date/Time Функции
PHP Manual

date_date_set

(PHP 5 >= 5.2.0)

date_date_set — Псевдоним DateTime::setDate

Описание

Эта функция является псевдонимом DateTime::setDate

date_create
date_default_timezone_get
Date/Time Функции


Gets the default timezone used by all date/time functions in a script

date_date_set
date_default_timezone_set
Date/Time Функции
PHP Manual

date_default_timezone_get

(PHP 5 >= 5.1.0)

date_default_timezone_get — Gets the default timezone used by all date/time functions in a script

Описание

string date_default_timezone_get ( void )

In order of preference, this function returns the default timezone by:

  • Reading the timezone set using the date_default_timezone_set() function (if any)

  • Reading the TZ environment variable (if non empty)

  • Reading the value of the date.timezone ini option (if set)

  • Querying the host operating system (if supported and allowed by the OS)

If none of the above succeed, date_default_timezone_get will return a default timezone of UTC.

Возвращаемые значения

Returns a string.

Примеры

Пример #1 Getting the default timezone

<?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 Getting the abbreviation of a timezone

<?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() - Sets the default timezone used by all date/time functions in a script

date_date_set
date_default_timezone_set
Date/Time Функции


Sets the default timezone used by all date/time functions in a script

date_default_timezone_get
date_diff
Date/Time Функции
PHP Manual

date_default_timezone_set

(PHP 5 >= 5.1.0)

date_default_timezone_set — Sets the default timezone used by all date/time functions in a script

Описание

bool date_default_timezone_set ( string $timezone_identifier )

date_default_timezone_set() sets the default timezone used by all date/time functions.

Замечание: Since PHP 5.1.0 (when the date/time functions were rewritten), every call to a date/time function will generate a E_NOTICE if the timezone isn't valid, and/or a E_WARNING message if using the system settings or the TZ environment variable.

Instead of using this function to set the default timezone in your script, you can also use the INI setting date.timezone to set the default timezone.

Список параметров

timezone_identifier

The timezone identifier, like UTC or Europe/Lisbon. The list of valid identifiers is available in the List of Supported Timezones.

Возвращаемые значения

This function returns FALSE if the timezone_identifier isn't valid, or TRUE otherwise.

Примеры

Пример #1 Getting the default timezone

<?php
date_default_timezone_set('America/Los_Angeles');

$script_tz = date_default_timezone_get();

if (strcmp($script_tz, ini_get('date.timezone'))){
    echo 'Script timezone differs from ini-set timezone.';
} else {
    echo 'Script timezone and ini-set timezone match.';
}
?>

Список изменений

Версия | Описание
5.3.0 | Now throws E_WARNING rather then E_STRICT.
5.1.2 | The function started to validate the timezone_identifier parameter.

Смотрите также

  • date_default_timezone_get() - Gets the default timezone used by all date/time functions in a script

date_default_timezone_get
date_diff
Date/Time Функции


Псевдоним DateTime::diff

date_default_timezone_set
date_format
Date/Time Функции
PHP Manual

date_diff

(PHP 5 >= 5.3.0)

date_diff — Псевдоним DateTime::diff

Описание

Эта функция является псевдонимом DateTime::diff

date_default_timezone_set
date_format
Date/Time Функции


Псевдоним DateTime::format

date_diff
date_get_last_errors
Date/Time Функции
PHP Manual

date_format

(PHP 5 >= 5.2.0)

date_format — Псевдоним DateTime::format

Описание

Эта функция является псевдонимом DateTime::format

date_diff
date_get_last_errors
Date/Time Функции


Псевдоним DateTime::getLastErrors

date_format
date_interval_create_from_date_string
Date/Time Функции
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
Date/Time Функции


Псевдоним DateInterval::createFromDateString

date_get_last_errors
date_interval_format
Date/Time Функции
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
Date/Time Функции


Псевдоним DateInterval::format

date_interval_create_from_date_string
date_isodate_set
Date/Time Функции
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
Date/Time Функции


Псевдоним DateTime::setISODate

date_interval_format
date_modify
Date/Time Функции
PHP Manual

date_isodate_set

(PHP 5 >= 5.2.0)

date_isodate_set — Псевдоним DateTime::setISODate

Описание

Эта функция является псевдонимом DateTime::setISODate

date_interval_format
date_modify
Date/Time Функции


Псевдоним DateTime::modify

date_isodate_set
date_offset_get
Date/Time Функции
PHP Manual

date_modify

(PHP 5 >= 5.2.0)

date_modify — Псевдоним DateTime::modify

Описание

Эта функция является псевдонимом DateTime::modify

date_isodate_set
date_offset_get
Date/Time Функции


Псевдоним DateTime::getOffset

date_modify
date_parse_from_format
Date/Time Функции
PHP Manual

date_offset_get

(PHP 5 >= 5.2.0)

date_offset_get — Псевдоним DateTime::getOffset

Описание

Эта функция является псевдонимом DateTime::getOffset

date_modify
date_parse_from_format
Date/Time Функции


Get info about given date

date_offset_get
date_parse
Date/Time Функции
PHP Manual

date_parse_from_format

(PHP 5 >= 5.3.0)

date_parse_from_format — Get info about given date

Описание

array date_parse_from_format ( string $format , string $date )

Returns associative array with detailed info about given date.

Список параметров

format

Format accepted by date() with some extras.

date

String representing the date.

Возвращаемые значения

Returns associative array with detailed info about given date.

Примеры

Пример #1 date_parse_from_format() example

<?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] =>
)

date_offset_get
date_parse
Date/Time Функции


Returns associative array with detailed info about given date

date_parse_from_format
date_sub
Date/Time Функции
PHP Manual

date_parse

(PHP 5 >= 5.2.0)

date_parse — Returns associative array with detailed info about given date

Описание

array date_parse ( string $date )

Список параметров

date

Date in format accepted by strtotime().

Возвращаемые значения

Returns array with information about the parsed date on success, or FALSE on failure.

Errors/Exceptions

In case the date format has an error, the element 'errors' will contains the error messages.

Примеры

Пример #1 A date_parse() example

<?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] =>
)

Смотрите также

  • getdate() - Возвращает информацию о дате/времени

date_parse_from_format
date_sub
Date/Time Функции


Псевдоним DateTime::sub

date_parse
date_sun_info
Date/Time Функции
PHP Manual

date_sub

(PHP 5 >= 5.3.0)

date_sub — Псевдоним DateTime::sub

Описание

Эта функция является псевдонимом DateTime::sub

date_parse
date_sun_info
Date/Time Функции


Returns an array with information about sunset/sunrise and twilight begin/end

date_sub
date_sunrise
Date/Time Функции
PHP Manual

date_sun_info

(PHP 5 >= 5.1.2)

date_sun_info — Returns an array with information about sunset/sunrise and twilight begin/end

Описание

array date_sun_info ( int $time , float $latitude , float $longitude )

Список параметров

time

Timestamp.

latitude

Latitude in degrees.

longitude

Longitude in degrees.

Возвращаемые значения

Returns array on success or FALSE on failure.

Примеры

Пример #1 A date_sun_info() example

<?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() - Returns time of sunrise for a given day and location
  • date_sunset() - Returns time of sunset for a given day and location

date_sub
date_sunrise
Date/Time Функции


Returns time of sunrise for a given day and location

date_sun_info
date_sunset
Date/Time Функции
PHP Manual

date_sunrise

(PHP 5)

date_sunrise — Returns time of sunrise for a given day and location

Описание

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() returns the sunrise time for a given day (specified as a timestamp ) and location.

Список параметров

timestamp

The timestamp of the day from which the sunrise time is taken.

format

format constants
constant | description | example
SUNFUNCS_RET_STRING | returns the result as string | 16:46
SUNFUNCS_RET_DOUBLE | returns the result as float | 16.78243132
SUNFUNCS_RET_TIMESTAMP | returns the result as integer (timestamp) | 1095034606

latitude

Defaults to North, pass in a negative value for South. See also: date.default_latitude

longitude

Defaults to East, pass in a negative value for West. See also: date.default_longitude

zenith

Default: date.sunrise_zenith

gmtoffset

Specified in hours.

Возвращаемые значения

Returns the sunrise time in a specified format on success, or FALSE on failure.

Errors/Exceptions

Every call to a date/time function will generate a E_NOTICE if the time zone is not valid, and/or a E_STRICT message if using the system settings or the TZ environment variable. See also date_default_timezone_set()

Список изменений

Версия | Описание
5.1.0 | Now issues the E_STRICT and E_NOTICE time zone errors.

Примеры

Пример #1 date_sunrise() example

<?php

/* calculate the sunrise time for Lisbon, Portugal
Latitude: 38.4 North
Longitude: 9 West
Zenith ~= 90
offset: +1 GMT
*/

echo date("D M d Y"). ', sunrise time : ' .date_sunrise(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1);

?>

Результатом выполнения данного примера будет что-то подобное:

Mon Dec 20 2004, sunrise time : 08:54

Смотрите также

  • date_sunset() - Returns time of sunset for a given day and location

date_sun_info
date_sunset
Date/Time Функции


Returns time of sunset for a given day and location

date_sunrise
date_time_set
Date/Time Функции
PHP Manual

date_sunset

(PHP 5)

date_sunset — Returns time of sunset for a given day and location

Описание

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() returns the sunset time for a given day (specified as a timestamp ) and location.

Список параметров

timestamp

The timestamp of the day from which the sunset time is taken.

format

format constants
constant | description | example
SUNFUNCS_RET_STRING | returns the result as string | 16:46
SUNFUNCS_RET_DOUBLE | returns the result as float | 16.78243132
SUNFUNCS_RET_TIMESTAMP | returns the result as integer (timestamp) | 1095034606

latitude

Defaults to North, pass in a negative value for South. See also: date.default_latitude

longitude

Defaults to East, pass in a negative value for West. See also: date.default_longitude

zenith

Default: date.sunset_zenith

gmtoffset

Specified in hours.

Errors/Exceptions

Every call to a date/time function will generate a E_NOTICE if the time zone is not valid, and/or a E_STRICT message if using the system settings or the TZ environment variable. See also date_default_timezone_set()

Список изменений

Версия | Описание
5.1.0 | Now issues the E_STRICT and E_NOTICE time zone errors.

Возвращаемые значения

Returns the sunset time in a specified format on success, or FALSE on failure.

Примеры

Пример #1 date_sunset() example

<?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"). ', sunset time : ' .date_sunset(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1);

?>

Результатом выполнения данного примера будет что-то подобное:

Mon Dec 20 2004, sunset time : 18:13

Смотрите также

  • date_sunrise() - Returns time of sunrise for a given day and location

date_sunrise
date_time_set
Date/Time Функции


Псевдоним DateTime::setTime

date_sunset
date_timestamp_get
Date/Time Функции
PHP Manual

date_time_set

(PHP 5 >= 5.2.0)

date_time_set — Псевдоним DateTime::setTime

Описание

Эта функция является псевдонимом DateTime::setTime

date_sunset
date_timestamp_get
Date/Time Функции


Псевдоним DateTime::getTimestamp

date_time_set
date_timestamp_set
Date/Time Функции
PHP Manual

date_timestamp_get

(PHP 5 >= 5.3.0)

date_timestamp_get — Псевдоним DateTime::getTimestamp

Описание

Эта функция является псевдонимом DateTime::getTimestamp

date_time_set
date_timestamp_set
Date/Time Функции


Псевдоним DateTime::setTimestamp

date_timestamp_get
date_timezone_get
Date/Time Функции
PHP Manual

date_timestamp_set

(PHP 5 >= 5.3.0)

date_timestamp_set — Псевдоним DateTime::setTimestamp

Описание

Эта функция является псевдонимом DateTime::setTimestamp

date_timestamp_get
date_timezone_get
Date/Time Функции


Псевдоним DateTime::getTimezone

date_timestamp_set
date_timezone_set
Date/Time Функции
PHP Manual

date_timezone_get

(PHP 5 >= 5.2.0)

date_timezone_get — Псевдоним DateTime::getTimezone

Описание

Эта функция является псевдонимом DateTime::getTimezone

date_timestamp_set
date_timezone_set
Date/Time Функции


Псевдоним DateTime::setTimezone

date_timezone_get
date
Date/Time Функции
PHP Manual

date_timezone_set

(PHP 5 >= 5.2.0)

date_timezone_set — Псевдоним DateTime::setTimezone

Описание

Эта функция является псевдонимом DateTime::setTimezone

date_timezone_get
date
Date/Time Функции


Форматирует системную дату/время

date_timezone_set
getdate
Date/Time Функции
PHP Manual

date

(PHP 4, PHP 5)

date — Форматирует системную дату/время

Описание

string date ( string $format [, int $ timestamp ] )

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

Замечание: Для большинства систем допустимыми являются даты с 13 декабря 1901, 20:45:54 GMT по 19 января 2038, 03:14:07 GMT. (Эти даты соответствуют минимальному и максимальному значению 32-битового целого со знаком). Для Windows допустимы даты с 01-01-1970 по 19-01-2038.

Замечание: Для получения метки времени из строкового представления даты можно использовать функцию strtotime(). Кроме того, некоторые базы данных имеют собственные функции для преобразования внутреннего представления даты в метку времени (напрмер, функция MySQL » UNIX_TIMESTAMP).

В параметре format распознаются следующие символы
Символ в строке format | Описание | Пример возвращаемого значения
a | Ante meridiem или Post meridiem в нижнем регистре | am или pm
A | Ante meridiem или Post meridiem в верхнем регистре | AM или PM
B | Время в стадарте Swatch Internet | От 000 до 999
c | Дата в формате ISO 8601 (добавлено в PHP 5) | 2004-02-12T15:19:21+00:00
d | День месяца, 2 цифры с ведущими нулями | от 01 до 31
D | Сокращенное наименование дня недели, 3 символа | от Mon до Sun
F | Полное наименование месяца, например January или March | от January до December
g | Часы в 12-часовом формате без ведущих нулей | От 1 до 12
G | Часы в 24-часовом формате без ведущих нулей | От 0 до 23
h | Часы в 12-часовом формате с ведущими нулями | От 01 до 12
H | Часы в 24-часовом формате с ведущими нулями | От 00 до 23
i | Минуты с ведущими нулями | 00 to 59
I (заглавная i) | Признак летнего времени | 1, если дата соответствует летнему времени, иначе 0 otherwise.
j | День месяца без ведущих нулей | От 1 до 31
l (строчная 'L') | Полное наименование дня недели | От Sunday до Saturday
L | Признак високосного года | 1, если год високосный, иначе 0.
m | Порядковый номер месяца с ведущими нулями | От 01 до 12
M | Сокращенное наименование месяца, 3 символа | От Jan до Dec
n | Порядковый номер месяца без ведущих нулей | От 1 до 12
O | Разница с временем по Гринвичу в часах | Например: +0200
r | Дата в формате » RFC 2822 | Например: Thu, 21 Dec 2000 16:01:07 +0200
s | Секунды с ведущими нулями | От 00 до 59
S | Английский суффикс порядкового числительного дня месяца, 2 символа | st, nd, rd или th. Применяется совместно с j
t | Количество дней в месяце | От 28 до 31
T | Временная зона на сервере | Примеры: EST, MDT ...
U | Количество секунд, прошедших с начала Эпохи Unix (The Unix Epoch, 1 января 1970, 00:00:00 GMT) | См. также time()
w | Порядковый номер дня недели | От 0 (воскресенье) до 6 (суббота)
W | Порядковый номер недели года по ISO-8601, первый день недели - понедельник (добавлено в PHP 4.1.0) | Например: 42 (42-я неделя года)
Y | Порядковый номер года, 4 цифры | Примеры: 1999, 2003
y | Номер года, 2 цифры | Примеры: 99, 03
z | Порядковый номер дня в году (нумерация с 0) | От 0 до 365
Z | Смещение временной зоны в секундах. Для временных зон западнее UTC это отрицательное число, восточнее UTC - положительное. | От -43200 до 43200

Любые другие символы, встреченные в строке format , будут выведены в результирующую строку без изменений. Z всегда возвращает 0 при использовании gmdate().

Пример #1 Примеры использования функции date()

<?php
// вывод дня недели, например Wednesday
echo date("l");

// вывод даты в формате: Wednesday 15th of January 2003 05:51:38 AM
echo date("l dS 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));
?>

Избежать распознавания символа как форматирующего можно, если экранировать этот символ с помощью \ Если в сочетании с \ символ являееся специальным (например, \t), следует добавлять еще один \.

Пример #2 Экранирование символов в функции date()

<?php
// вывод: Wednesday the 15th
echo date("l \\t\h\e jS");
?>

Функции date() и mktime() для вывода прошедших и будущих дат.

Пример #3 date() и mktime() example

<?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);
?>

Замечание: Этот метод более надежен, чем вычитание и прибавление секунд к метке времени, так как mktime() учитывает любые неоднозначности в датах (переход на летнее/зимнее время и др.).

Приведем еще несколько примеров использования функции date(). Помните, что следует экранировать все символы, которые вы хотите видеть в результате работы функции без изменений. Это относится и к символам, которые в текущей версии PHP не распознаются как специальные, так как этим символам может быть назначено значение в следующих версиях. Используйте одинарные кавычки для предотвращения преобразования \n в перевод строки.

Пример #4 Форматирование с использованием date()

<?php
// Предположим, что текущая дата March 10th, 2001, 5:16:18 pm

$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 z ');  // 05-16-17, 10-03-01, 1631 1618 6 Fripm01
$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 15:16:08 MST 2001
$today = date('H:m:s \m \i\s\ \m\o\n\t\h');     // 17:03:17 m is month
$today = date("H:i:s");                         // 17:16:17
?>

Для форматирования дат на других языках используйте функции setlocale() и strftime().

См. также описание функций getlastmod(), gmdate(),
mktime(), strftime()
и time().

date_timezone_set
getdate
Date/Time Функции


Возвращает информацию о дате/времени

date
gettimeofday
Date/Time Функции
PHP Manual

getdate

(PHP 4, PHP 5)

getdate — Возвращает информацию о дате/времени

Описание

array getdate ([ int $timestamp ] )

Возвращает ассоциативный массив, содержащий информацию о дате, представленной меткой времени timestamp или текущем системном времени, если 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) | От 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
)

See also date(),
time(), and
setlocale().

date
gettimeofday
Date/Time Функции


Возвращает текущее время

getdate
gmdate
Date/Time Функции
PHP Manual

gettimeofday

(PHP 4, PHP 5)

gettimeofday — Возвращает текущее время

Описание

array gettimeofday ( void )

Эта функция является интерфейсом к системному вызову gettimeofday(2). Она возвращает ассоциативный массив, содержащий информацию, полученную от системной функции.

  • "sec" - секунды
  • "usec" - микросекунды
  • "minuteswest" - смещение к западу от Гринвича, в минутах
  • "dsttime" - тип коррекции летнего времени

Пример #1 Пример использования функции gettimeofday()

<?php
print_r(gettimeofday());
?>

Вывод будет выглядеть так:

Array
(
    [sec] => 1073504408
    [usec] => 238215
    [minuteswest] => 0
    [dsttime] => 1
)

getdate
gmdate
Date/Time Функции


Форматирует дату/время по Гринвичу

gettimeofday
gmmktime
Date/Time Функции
PHP Manual

gmdate

(PHP 4, PHP 5)

gmdate — Форматирует дату/время по Гринвичу

Описание

string gmdate ( string $format [, int $timestamp ] )

Эта функция идентична функции date() за исключением того, что возвращает время по Гринвичу (GMT). Например, в Финляндии (GMT +0200), первая строка в следующем примере выведет "Jan 01 1998 00:00:00", а вторая - "Dec 31 1997 22:00:00".

Пример #1 Пример использования gmdate()

<?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));
?>

Замечание: В семействе ОС Microsoft Windows системные библиотеки, реализующие эту функцию, содержат ошибки, поэтому функция gmdate() на этих системах не поддерживает отрицательные значения аргумента timestamp . Для более подробной информации, см. сообщения об ошибках: » #22620, » #22457, и » #14391.
В операционных системах Unix/Linux эта проблема не возникает, так как системные библиотеки в этих системах реализованы корректно.
PHP не может исправить ошибки в системных библиотеках. Для решения этой и подобных проблем обращайтесь к производителю операционной системы.

См. также описание функций date(), mktime(), gmmktime() и strftime().

gettimeofday
gmmktime
Date/Time Функции


Возвращает метку времени Unix для времени по Гринвичу

gmdate
gmstrftime
Date/Time Функции
PHP Manual

gmmktime

(PHP 4, PHP 5)

gmmktime — Возвращает метку времени Unix для времени по Гринвичу

Description

int gmmktime ([ int $hour [, int $minute [, int $second [, int $month [, int $day [, int $year [, int $is_dst ]]]]]]] )

Эта функция идентична функции mktime(), за исключением того, что аргументы формируют время по Гринвичу (GMT).

Подобно функции mktime(), аргументы могут быть опущены в порядке справа налево , в этом случае они предполагаются равными соответствующим компонентам текущего времени по Гринвичу.

gmdate
gmstrftime
Date/Time Функции


Форматирует дату/время по Гринвичу с учетом текущей локали

gmmktime
idate
Date/Time Функции
PHP Manual

gmstrftime

(PHP 4, PHP 5)

gmstrftime — Форматирует дату/время по Гринвичу с учетом текущей локали

Описание

string gmstrftime ( string $format [, int $timestamp ] )

Эта функция идентична функции strftime() за исключением того, что возвращает время по Гринвичу (GMT). Например, при запуске на системе, где установлено Eastern Standard Time (GMT -0500), первая строка из следующего примера выведет "Dec 31 1998 20:00:00", а вторая - "Jan 01 1999 01:00:00".

Пример #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
Date/Time Функции


Format a local time/date as integer

gmstrftime
localtime
Date/Time Функции
PHP Manual

idate

(PHP 5)

idate — Format a local time/date as integer

Описание

int idate ( string $format [, int $timestamp= time() ] )

Returns a number formatted according to the given format string using the given integer timestamp or the current local time if no timestamp is given. In other words, timestamp is optional and defaults to the value of time().

Unlike the function date(), idate() accepts just one char in the format parameter.

Список параметров

format

The following characters are recognized in the format parameter string
format character | Description
B | Swatch Beat/Internet Time
d | Day of the month
h | Hour (12 hour format)
H | Hour (24 hour format)
i | Minutes
I (uppercase i) | returns 1 if DST is activated, 0 otherwise
L (uppercase l) | returns 1 for leap year, 0 otherwise
m | Month number
s | Seconds
t | Days in current month
U | Seconds since the Unix Epoch - January 1 1970 00:00:00 UTC - this is the same as time()
w | Day of the week (0 on Sunday)
W | ISO-8601 week number of year, weeks starting on Monday
y | Year (1 or 2 digits - check note below)
Y | Year (4 digits)
z | Day of the year
Z | Timezone offset in seconds

timestamp

The optional timestamp parameter is an integer Unix timestamp that defaults to the current local time if a timestamp is not given. In other words, it defaults to the value of time().

Возвращаемые значения

Returns an integer.

As idate() always returns an integer and as they can't start with a "0", idate() may return fewer digits than you would expect. See the example below.

Errors/Exceptions

Every call to a date/time function will generate a E_NOTICE if the time zone is not valid, and/or a E_STRICT message if using the system settings or the TZ environment variable. See also date_default_timezone_set()

Список изменений

Версия | Описание
5.1.0 | Now issues the E_STRICT and E_NOTICE time zone errors.

Примеры

Пример #1 idate() example

<?php
$timestamp = strtotime('1st January 2004'); //1072915200

// this prints the year in a two digit format
// however, as this would start with a "0", it
// only prints "4"
echo idate('y', $timestamp);
?>

Смотрите также

  • date() - Форматирует системную дату/время
  • time() - Возвращает текущую метку времени

gmstrftime
localtime
Date/Time Функции


Возвращает системное время

idate
microtime
Date/Time Функции
PHP Manual

localtime

(PHP 4, PHP 5)

localtime — Возвращает системное время

Описание

array localtime ([ int $ timestamp [, bool $ is_associative ]] )

Функция localtime() возвращает массив, аналогичный структуре, возвращаемой соответствующей функцией C. Первым аргументом функции localtime() является метка времени, если этот аргумент не передан, используется текущее время, полученное вызовом функции time(). Если аргумент is_associative не передан или или равен 0, возврачается массив с числовыми индексами. Если этот аргумент равен 1, функция localtime() возврашает ассоциативный массив, содержащий компоненты структуры, возвращаемой функцией C localtime. Список индексов :

  • "tm_sec" - секунды
  • "tm_min" - минуты
  • "tm_hour" - часы
  • "tm_mday" - день месяца
  • "tm_mon" - месяц года, 0 соответствует январю
  • "tm_year" - Количество лет, прошедших с 1900 г.
  • "tm_wday" - день недели
  • "tm_yday" - порядковый номер дня в году
  • "tm_isdst" - признак летнего времени

idate
microtime
Date/Time Функции


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

localtime
mktime
Date/Time Функции
PHP Manual

microtime

(PHP 4, PHP 5)

microtime — Возвращает метку времени с микросекундами

Описание

mixed microtime ([ bool $get_as_float ] )

Функция microtime() возвращает текущую метку времени с микросекундами. Эта функция доступна только на операционных системах, в которых есть системная функция gettimeofday().

При вызове без необязательного параметра, возвращается строка в формате "msec sec", где sec - это количество секунд, прошедших с начала Эпохи Unix (The Unix Epoch, 1 января 1970, 00:00:00 GMT), а msec - это дробная часть.

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

Замечание: Аргумент get_as_float появился в PHP 5.0.0.

Пример #1 Пример использования функции microtime()

<?php

function getmicrotime()
{
    list($usec, $sec) = explode(" ", microtime());
    return ((float)$usec + (float)$sec);
}

$time_start = getmicrotime();

for ($i=0; $i < 1000; $i++) {
    // Ничего не делать. Повторить 1000 раз
}

$time_end = getmicrotime();
$time = $time_end - $time_start;

echo "Ничего не делал $time секунд\n";

// в PHP 5 то же самое можно сделать вот так:

$time_start = microtime(1);

for ($i=0; $i < 1000; $i++) {
     // Ничего не делать. Повторить 1000 раз
}

$time_end = microtime(1);
$time = $time_end - $time_start;

echo "Ничего не делал $time секунд\n";

?>

См. также описание функции time().

localtime
mktime
Date/Time Функции


Возвращает метку времени для заданной даты

microtime
strftime
Date/Time Функции
PHP Manual

mktime

(PHP 4, PHP 5)

mktime — Возвращает метку времени для заданной даты

Description

int mktime ([ int $hour [, int $minute [, int $second [, int $month [, int $day [, int $year [, int $is_dst ]]]]]]] )

Функция возвращает метку времени Unix, соответствующую дате и времени, заданным аргументами. Метка времени - это целое число равное разнице в секундах между заданной датой/временем и началом Эпохи Unix (The Unix Epoch, 1 января 1970 г).

Функция mktime() возвращает FALSE, если аргументы были неверны (до 5.1.0 в этом случае она возвращала -1).

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

Аргумент is_dst может быть установлен в 1, если заданной дате соответствует летнее время, 0 в противном случае, или -1 (значение по умолчанию), если неизвестно, действует ли летнее время на заданную дату. В последнем случае PHP пытается определить это самостоятельно. Это можно привести к неожиданному результату (который, тем не менее, не будет неверным).

Замечание: Аргумент is_dst был добавлен в версии 3.0.10. Начиная с версии 5.1.0 этот параметр более не рекомендуется к использованию. Вместо этого рекомендуется устанавливать соответствующую временную зону.

Функцию mktime() удобно использовать для выполнения арифметических операций с датами, так как она вычисляет верные значения при некорректных аргументах. Например, в следующем примере каждая строка выведет "Jan-01-1998".

Пример #1 Пример использования функции mktime()

<?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));
?>

year может быть двух- или четырехзначным числом. Значения от 0 до 69 соответствуют 2000-2069, а 70-99 соответствуют 1970-1999 (в большинстве современных систем, где время представляется 32-битным целым со знаком, допустимыми являются значения year между 1901 и 2038).

Замечание: Внимание
До PHP 5.1.0 отрицательные метки времени не поддерживались под всеми системами Windows, а также некоторыми другими. Следовательно, допустимые значения параметра year были между 1970 и 2038.

Последний день любого месяца можно вычислить как "нулевой" день следующего месяца. Оба приведенных ниже примера выведут "Последний день в феврале 2000 г: 29".

Пример #2 Последний день следующего месяца

<?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);
?>

См. также date(), time() и gmmktime().

microtime
strftime
Date/Time Функции


Форматирует текущую дату/время с учетом текущей локали

mktime
strptime
Date/Time Функции
PHP Manual

strftime

(PHP 4, PHP 5)

strftime — Форматирует текущую дату/время с учетом текущей локали

Описание

string strftime ( string $format [, int $ timestamp ] )

Возвращает строку, отформатированную в соответствии с аргументом format , используя аргумент timestamp или текущее системное время, если этот аргумент не передан. Названия месяцев, дней недели и другие строки, зависящие от языка, соответствуют текущей локали, установленной функцией setlocale().

strftime() использует функции операционной системы, поэтому отдельные форматирующие символы могут не работать в вашей операционной системе. Кроме того, не все платформы поддерживают отрицательные метки времени. Это значит, что %e, %T, %R и %D (а возможно и другие) и даты до Jan 1, 1970 не поддерживаются Windows, некоторыми версиями Linux и некоторыми другими операционными системами. Список форматирующих символов, поддерживаемых Windows, можно найти на » сайте MSDN.

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

  • %a - сокращенное название дня недели в текущей локали
  • %A - полное название дня недели в текущей локали
  • %b - сокращенное название месяца в текущей локали
  • %B - полное название месяца в текущей локали
  • %c - предпочтительный формат даты и времени в текущей локали
  • %C - столетие (год, деленный на 100 и округленный до целого, от 00 до 99)
  • %d - день месяца в виде десятичного числа (от 01 до 31)
  • %D - аналогично %m/%d/%y
  • %e - день месяца в виде десятичного числа, если это одна цифра, то перед ней добавляется пробел (от ' 1' до '31')
  • %g - то же, что и %G, но без столетия
  • %G - год, 4-значное число, соответствующее номеру недели по ISO (см. %V). Аналогично %Y, за исключением того, что если номер недели по ISO соответствует предыдущему или следующему году, используется соответствующий год.
  • %h - то же, что и %b
  • %H - номер часа от 00 до 23
  • %I - номер часа от 01 до 12
  • %j - номер дня в году (от 001 до 366)
  • %m - номер месяца (от 01 до 12)
  • %M - минуты
  • %n - символ "\n"
  • %p - `am' или `pm', или соответствующие строки в текущей локали
  • %r - время в формате a.m. или p.m.
  • %R - время в 24-часовом формате
  • %S - секунды
  • %t - символ табуляции ("\t")
  • %T - текущее время, аналогично %H:%M:%S
  • %u - номер дня недели от 1 до 7, где 1 соответствует понедельнику
    Внимание

    На Sun Solaris 1 соответствует воскресенью, хотя в ISO 9889:1999 (текущий стандарт языка C) явно указано, что это должен быть понедельник.

  • %U - порядковый номер недели в текущем году. Первым днем первой недели в году считается первое воскресенье года.
  • %V - порядковый номер недели в году по стандарту ISO 8601:1988 от 01 до 53, где 1 соответствует первой неделе в году, в которой как минимум 4 дня принадлежат этому году. Первым днем недели считается понедельник. (Используйте %G or %g для определения соответствующего года)
  • %W - порядковый номер недели в текущем году. Первым днем первой недели в году считается первый понедельник года.
  • %w - номер дня недели, 0 соответствует воскресенью
  • %x - предпочтительный формат даты без времени в текущей локали
  • %X - предпочтительный формат времени без даты в текущей локали
  • %y - год без столетия (от 00 до 99)
  • %Y - год, включая столетие
  • %Z - временная зона в виде смещения, аббревиатуры или полного наименования
  • %% - символ `%'

Пример #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");
?>

Этот пример будет работать, если на вашей системе установлены соответствующие локали.

Замечание: %G and %V, которые основаны на номере недели по ISO 8601:1988, Могут давать результат, отличный от ожидаемого, если вы не полностью понимаете систему нумерации, используемую этим стандартом. Смотрите описание %V выше и следующий пример.

Пример #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";

?>

См. также описание функций setlocale(),
mktime(), и »
спецификацию strftime() Open Group.

mktime
strptime
Date/Time Функции


Parse a time/date generated with strftime

strftime
strtotime
Date/Time Функции
PHP Manual

strptime

(PHP 5 >= 5.1.0)

strptime — Parse a time/date generated with strftime()

Описание

array strptime ( string $date , string $format )

strptime() returns an array with the date parsed, or FALSE on error.

Month and weekday names and other language dependent strings respect the current locale set with setlocale() (LC_TIME).

Список параметров

date (string)

The string to parse (e.g. returned from strftime())

format (string)

The format used in date (e.g. the same as used in strftime()).

For more information about the format options, read the strftime() page.

Возвращаемые значения

Returns an array, or FALSE on failure.

The following parameters are returned in the array
parameters | Description
"tm_sec" | Seconds after the minute (0-61)
"tm_min" | Minutes after the hour (0-59)
"tm_hour" | Hour since midnight (0-23)
"tm_mday" | Day of the month (1-31)
"tm_mon" | Months since January (0-11)
"tm_year" | Years since 1900
"tm_wday" | Days since Sunday (0-6)
"tm_yday" | Days since January 1 (0-365)
"unparsed" | the date part which was not recognized using the specified format

Примеры

Пример #1 strptime() example

<?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-платформ эта функция не реализована.

Смотрите также

  • strftime() - Форматирует текущую дату/время с учетом текущей локали

strftime
strtotime
Date/Time Функции


Преобразует текстовое представление даты на английском языке в метку времени Unix

strptime
time
Date/Time Функции
PHP Manual

strtotime

(PHP 4, PHP 5)

strtotime — Преобразует текстовое представление даты на английском языке в метку времени Unix

Описание

int strtotime ( string $time [, int $now ] )

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

Функция strtotime() использует GNU формат даты, поэтому рекомендуется ознакомиться с руководством GNU » Date Input Formats, где описывается синтаксис аргумента time .

Пример #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';
if (($timestamp = strtotime($str)) === -1) {
    echo "Строка ($str) недопустима";
} else {
    echo "$str == " . date('l dS of F Y h:i:s A', $timestamp);
}
?>

Замечание: Для большинства систем допустимыми являются даты с 13 декабря 1901, 20:45:54 GMT по 19 января 2038, 03:14:07 GMT. (Эти даты соответствуют минимальному и максимальному значению 32-битового целого со знаком). Для Windows допустимы даты с 01-01-1970 по 19-01-2038. Не все платформы поддерживают отрицательные метки времени, поэтому даты ранее 1 января 1970 г. не поддерживаются в Windows, некоторых версиях Linux и некоторых других операционных системах.

strptime
time
Date/Time Функции


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

strtotime
timezone_abbreviations_list
Date/Time Функции
PHP Manual

time

(PHP 4, PHP 5)

time — Возвращает текущую метку времени

Описание

int time ( void )

Возвращает количество секунд, прошедших с начала Эпохи Unix (The Unix Epoch, 1 января 1970, 00:00:00 GMT) до текущего времени.

См. также описание функций date() и microtime().

strtotime
timezone_abbreviations_list
Date/Time Функции


Псевдоним DateTimeZone::listAbbreviations

time
timezone_identifiers_list
Date/Time Функции
PHP Manual

timezone_abbreviations_list

(PHP 5 >= 5.1.0)

timezone_abbreviations_list — Псевдоним DateTimeZone::listAbbreviations

Описание

Эта функция является псевдонимом DateTimeZone::listAbbreviations

time
timezone_identifiers_list
Date/Time Функции


Псевдоним DateTimeZone::listIdentifiers

timezone_abbreviations_list
timezone_location_get
Date/Time Функции
PHP Manual

timezone_identifiers_list

(PHP 5 >= 5.1.0)

timezone_identifiers_list — Псевдоним DateTimeZone::listIdentifiers

Описание

Эта функция является псевдонимом DateTimeZone::listIdentifiers

timezone_abbreviations_list
timezone_location_get
Date/Time Функции


Псевдоним DateTimeZone::getLocation

timezone_identifiers_list
timezone_name_from_abbr
Date/Time Функции
PHP Manual

timezone_location_get

(PHP 5 >= 5.3.0)

timezone_location_get — Псевдоним DateTimeZone::getLocation

Описание

Эта функция является псевдонимом DateTimeZone::getLocation

timezone_identifiers_list
timezone_name_from_abbr
Date/Time Функции


Returns the timezone name from abbreviation

timezone_location_get
timezone_name_get
Date/Time Функции
PHP Manual

timezone_name_from_abbr

(PHP 5 >= 5.1.3)

timezone_name_from_abbr — Returns the timezone name from abbreviation

Описание

string timezone_name_from_abbr ( string $abbr [, int $gmtOffset= -1 [, int $isdst= -1 ]] )

Список параметров

abbr

Time zone abbreviation.

gmtOffset

Offset from GMT in seconds. Defaults to -1 which means that first found time zone corresponding to abbr is returned. Otherwise exact offset is searched and only if not found then the first time zone with any offset is returned.

isdst

Daylight saving time indicator. If abbr doesn't exist then the time zone is searched solely by offset and isdst .

Возвращаемые значения

Returns time zone name on success or FALSE on failure.

Примеры

Пример #1 A timezone_name_from_abbr() example

<?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
Date/Time Функции


Псевдоним DateTimeZone::getName

timezone_name_from_abbr
timezone_offset_get
Date/Time Функции
PHP Manual

timezone_name_get

(PHP 5 >= 5.1.0)

timezone_name_get — Псевдоним DateTimeZone::getName

Описание

Эта функция является псевдонимом DateTimeZone::getName

timezone_name_from_abbr
timezone_offset_get
Date/Time Функции


Псевдоним DateTimeZone::getOffset

timezone_name_get
timezone_open
Date/Time Функции
PHP Manual

timezone_offset_get

(PHP 5 >= 5.1.0)

timezone_offset_get — Псевдоним DateTimeZone::getOffset

Описание

Эта функция является псевдонимом DateTimeZone::getOffset

timezone_name_get
timezone_open
Date/Time Функции


Returns new DateTimeZone object

timezone_offset_get
timezone_transitions_get
Date/Time Функции
PHP Manual

timezone_open

(PHP 5 >= 5.1.0)

timezone_open — Returns new DateTimeZone object

Описание

DateTimeZone timezone_open ( string $timezone )
DateTimeZone DateTimeZone::__construct ( string $timezone )

Список параметров

timezone

Time zone identifier as full name (e.g. Europe/Prague) or abbreviation (e.g. CET).

Возвращаемые значения

Returns DateTimeZone object on success or FALSE on failure.

timezone_offset_get
timezone_transitions_get
Date/Time Функции


Псевдоним DateTimeZone::getTransitions

timezone_open
timezone_version_get
Date/Time Функции
PHP Manual

timezone_transitions_get

(PHP 5 >= 5.2.0)

timezone_transitions_get — Псевдоним DateTimeZone::getTransitions

Описание

Эта функция является псевдонимом DateTimeZone::getTransitions

timezone_open
timezone_version_get
Date/Time Функции


Gets the version of the timezonedb

timezone_transitions_get
Command Line Specific Extensions
Date/Time Функции
PHP Manual

timezone_version_get

(PHP 5 >= 5.3.0)

timezone_version_get — Gets the version of the timezonedb

Описание

string timezone_version_get ( void )

Returns the current version of the timezonedb.

Возвращаемые значения

Returns a string.

Примеры

Пример #1 Getting the timezonedb version

<?php
echo timezone_version_get();
?>

Результатом выполнения данного примера будет что-то подобное:

2009.7

Смотрите также

  • List of Supported Timezones

timezone_transitions_get
Command Line Specific Extensions
Date/Time Функции


Command Line Specific Extensions

  • Newt
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Newt Функции
  • Ncurses — Ncurses Terminal Screen Control
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Ncurses Функции
  • Readline — GNU Readline
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Readline Функции
timezone_version_get
Newt
Справочник функций


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 — Описание
Command Line Specific Extensions
Введение
Command Line Specific Extensions


Введение

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. Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и 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
Ncurses
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
Ncurses
Newt Функции


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
newt_win_ternary
Введение
Command Line Specific Extensions


Введение

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.

Замечание: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of 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.

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


Установка

To get these functions to work, you have to compile the CGI or CLI version of PHP with --with-ncurses[=DIR].

Требования
Настройка во время выполнения
Установка и настройка


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

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.

Список параметров

This function has no parameters.

Возвращаемые значения

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

x

This will be set to the window width

y

This will be set to the window height

Возвращаемые значения

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

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.

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Список параметров

This function has no parameters.

Возвращаемые значения

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

Смотрите также

  • 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-ccordinate of the origin

x

x-ccordinate 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().

Список параметров

This function has no parameters.

Возвращаемые значения

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
Readline
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
Readline
Ncurses Функции


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
ncurses_wvline
Введение
Command Line Specific Extensions


Введение

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]. In order you want to use the libedit readline replacement, configure PHP --with-libedit[=DIR].

Требования
Настройка во время выполнения
Установка и настройка


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

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

Типы ресурсов
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() - Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and 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
Compression and Archive Extensions
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
Compression and Archive Extensions
Readline Функции


Compression and Archive Extensions

  • Функции сжатия Bzip2
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • 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
  • Zip
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • ZipArchive — The ZipArchive class
    • Zip Функции
  • Zlib
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Zlib — Функции Zlib
readline
Функции сжатия Bzip2
Справочник функций


Функции сжатия Bzip2

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • Bzip2 — Функции сжатия Bzip2
    • bzclose — Закрывает файл bzip2
    • bzcompress — Сжимает данные с использованием bzip2
    • bzdecompress — Распаковывает данные, сжатые с использованием bzip2
    • bzerrno — Возвращает код ошибки работы с bzip2
    • bzerror — Возвращает код и строку ошибки работы с bzip2
    • bzerrstr — Возвращает строку ошибки работы с bzip2
    • bzflush — Вызывает запись всех буфферизированных данных
    • bzopen — Открывает для работы файл, сжатый с использованием bzip2
    • bzread — Бинарно-безопасное чтение файла bzip2
    • bzwrite — Бинарно-безопасная запись bzip2 файла
Compression and Archive Extensions
Введение
Compression and Archive Extensions


Введение

Функции 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 символов
print bzread($bz, 10);

// выводим всё, до конца файла и закрываем его.
print 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

Описание

integer bzclose ( resource $bz )

Закрывает файл bzip2, на который ссылается указательbz .

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Указатель должен быть рабочим и должен ссылаться на файл, успешно открытый функцией bzopen().

Cм. также bzopen().

Bzip2
bzcompress
Bzip2


Сжимает данные с использованием bzip2

bzclose
bzdecompress
Bzip2
PHP Manual

bzcompress

(PHP 4 >= 4.0.4, PHP 5)

bzcompress — Сжимает данные с использованием bzip2

Описание

string bzcompress ( string $source [, integer $blocksize [, integer $workfactor ]] )

bzcompress() возвращает строку source , сжатую с использованием bzip2.

Опциональный параметр blocksize указывает размер блока используемого во время сжатия и должен быть числом от 1 до 9, где 9 даёт наилучшее качество сжатия, но использует больше ресурсов. По умолчанию blocksize равен 4.

Опциональный параметр workfactor указывает как поведёт себя процесс сжатия в худшем случае, при частоповторяющихся блоках. Параметр может принимать значения от 0 до 250, с 0 в специальном случае и с 30 по умолчанию. Независимо от параметра workfactor , результат сжатия всегда один.

Пример #1 Пример использования bzcompress()

<?php
$str = "sample data";
$bzstr = bzcompress($str, 9);
print( $bzstr );
?>

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

bzclose
bzdecompress
Bzip2


Распаковывает данные, сжатые с использованием bzip2

bzcompress
bzerrno
Bzip2
PHP Manual

bzdecompress

(PHP 4 >= 4.0.4, PHP 5)

bzdecompress — Распаковывает данные, сжатые с использованием bzip2

Описание

string bzdecompress ( string $source [, integer $small ] )

bzdecompress() распаковывает и возвращает source строку, содержащую данные, сжатые с использованием bzip2. Если опциональный параметр small указан как TRUE, будет использован альтернативный алгоритм декомпрессии. Он использует меньше памяти (максимальный размер используемой памяти -- около 2300K), но работает в два раза медленнее. За доп. информации обращайтесь к » документации bzip2.

Пример #1 Пример использования bzdecompress()

<?php
$start_str = "This is not an honest face?";
$bzstr = bzcompress($start_str);

print( "Compressed String: " );
print( $bzstr );
print( "\n<br>\n" );

$str = bzdecompress($bzstr);
print( "Decompressed String: " );
print( $str );
print( "\n<br>\n" );
?>

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

bzcompress
bzerrno
Bzip2


Возвращает код ошибки работы с bzip2

bzdecompress
bzerror
Bzip2
PHP Manual

bzerrno

(PHP 4 >= 4.0.4, PHP 5)

bzerrno — Возвращает код ошибки работы с bzip2

Описание

integer bzerrno ( resource $bz )

Возвращает код ошибки последней bzip2 функций, отработавшей с указателем bz .

См. также bzerror() и bzerrstr().

bzdecompress
bzerror
Bzip2


Возвращает код и строку ошибки работы с bzip2

bzerrno
bzerrstr
Bzip2
PHP Manual

bzerror

(PHP 4 >= 4.0.4, PHP 5)

bzerror — Возвращает код и строку ошибки работы с bzip2

Описание

array bzerror ( resource $bz )

Возвращает ассоциативный массив с кодом и строкой ошибки последней bzip2 функции, отработавшей с указателем bz .

Пример #1 Пример использования bzerror()

<?php
$error = bzerror($bz);

echo $error["errno"];
echo $error["errstr"];
?>

См. также bzerrno() и bzerrstr().

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 .

См. также bzerrno() and bzerror().

bzerror
bzflush
Bzip2


Вызывает запись всех буфферизированных данных

bzerrstr
bzopen
Bzip2
PHP Manual

bzflush

(PHP 4 >= 4.0.4, PHP 5)

bzflush — Вызывает запись всех буфферизированных данных

Описание

integer bzflush ( resource $bz )

Записывает все буфферизированные bzip2 данные в файл, на который ссылается указатель bz .

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

См. также bzread() и bzwrite().

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 )

Открывает файл bzip2 (.bz2) для чтения или записи. filename путь к файлу. mode параметр аналогичный одноимённому параметру функции fopen() (`r' -- чтение, `w' -- запись, и т.д.).

При ошибке открытия функция возвращает FALSE, иначе она возвращает указатель на открытый файл.

Пример #1 Пример использования bzopen()

<?php
$bz = bzopen("/tmp/foo.bz2", "r");

$decompressed_file = '';
while (!feof($bz)) {
    $decompressed_file .= bzread($bz, 4096);
}
bzclose($bz);

print( "The contents of /tmp/foo.bz2 are: " );
print( "\n<br>\n" );
print( $decompressed_file );
?>

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

bzflush
bzread
Bzip2


Бинарно-безопасное чтение файла bzip2

bzopen
bzwrite
Bzip2
PHP Manual

bzread

(PHP 4 >= 4.0.4, PHP 5)

bzread — Бинарно-безопасное чтение файла bzip2

Описание

string bzread ( resource $bz [, integer $length ] )

bzread() считывает length байт из файла bzip2, на который ссылается указатель bz . Чтение останавливается, когда length (несжатых) байт прочитано или достигнут конец файла (EOF). Если опциональный параметр length не задан, bzread() будет считывать по 1024 (несжатых) байт за раз.

Пример #1 Пример использования bzread()

<?php
$bz = bzopen("/tmp/foo.bz2", "r");
$str = bzread($bz, 2048);
print( $str );
?>

См. также bzwrite() и bzopen().

bzopen
bzwrite
Bzip2


Бинарно-безопасная запись bzip2 файла

bzread
LZF
Bzip2
PHP Manual

bzwrite

(PHP 4 >= 4.0.4, PHP 5)

bzwrite — Бинарно-безопасная запись bzip2 файла

Описание

integer bzwrite ( resource $bz , string $data [, integer $length ] )

bzwrite() записывает содержание строки data в поток файла bzip2, на который ссылается указатель bz . Если указан опциональный параметр length , запись будет остановлена по достижению length байт (несжатых), либо по достижению конца строки.

Пример #1 Пример использования bzwrite()

<?php
$str = "uncompressed data";
$bz = bzopen("/tmp/foo.bz2", "w");
bzwrite($bz, $str, strlen($str));
bzclose($bz);
?>

См. также bzread() и bzopen().

bzread
LZF
Bzip2


LZF

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • LZF Функции
    • lzf_compress — LZF compression
    • lzf_decompress — LZF decompression
    • lzf_optimized_for — Determines what LZF extension was optimized for
bzwrite
Введение
Compression and Archive Extensions


Введение

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. Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и 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 then speed.

Windows users will enable php_lzf.dll inside of php.ini in order to use these functions. Вы можете скачать DLL этого расширения PECL со страницы » PHP Downloads или » http://snaps.php.net/.

Требования
Настройка во время выполнения
Установка и настройка


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

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

Типы ресурсов
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 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
Введение
Compression and Archive Extensions


Введение

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.

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


Установка

Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, могут быть найдены здесь: » http://pecl.php.net/package/phar.

To install on Windows, follow the instructions above, modify your php.ini and restart your web server.

extension_dir=c:/php5/exts/
extension=php_phar.dll
;; optional extensions
extension=php_bz2.dll

Since PHP 5.3.0, Phar extension is built-in, no DLL is needed.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в 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.

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. Unlike Java's implementation of JAR archives, no external tool is required to process or run a PHP Phar archive. 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 | No
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

Введение

The Phar class provides a high-level interface to accessing and creating phar archives.

Class synopsis

Phar
Phar extends DirectoryIterator implements Countable , ArrayAccess {
/* Properties */
/* Methods */
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 [, 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 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 )

Замечание: This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown.

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 ] )

Замечание: This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown.

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 )

Замечание: This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown.

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 ] )

Замечание: This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown.

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.

Errors/Exceptions

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->createDefaultWebStub('cli/index.php', 'www/index.php'));

$phar2 = new Phar('project2.phar', 0, 'project2.phar');
// add all files in the project, only include php files
$phar->buildFromDirectory(dirname(__FILE__) . '/project', '/\.php$/');
$phar->setStub($phar->createDefaultWebStub('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 ] )

Замечание: This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown.

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->createDefaultWebStub('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->createDefaultWebStub('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->createDefaultWebStub('cli/index.php', 'www/index.php'));
?>

Errors/Exceptions

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 ] )

Замечание: This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown.

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.

Errors/Exceptions

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 )

Замечание: This
method has been removed from the phar extension as of version 2.0.0.  Alternative
implementations are available using Phar::compress(),
Phar::decompress(), Phar::compressFiles() and
Phar::decompressFiles().

Замечание: This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown.

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 в случае возникновения ошибки.

Errors/Exceptions

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 )

Замечание: This
method has been removed from the phar extension as of version 2.0.0.  Alternative
implementations are available using Phar::compress(),
Phar::decompress(), Phar::compressFiles() and
Phar::decompressFiles().

Замечание: This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown.

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 в случае возникновения ошибки.

Errors/Exceptions

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 )

Замечание: This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown.

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.

Возвращаемые значения

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

Errors/Exceptions

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.

Errors/Exceptions

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.

Errors/Exceptions

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 ]]] )

Замечание: This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown.

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.

Errors/Exceptions

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 )

Замечание: This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown.

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.

Errors/Exceptions

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.

Errors/Exceptions

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 ] )

Замечание: This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown.

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 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.

Errors/Exceptions

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 )

Замечание: This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown.

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 в случае возникновения ошибки.

Errors/Exceptions

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 )

Замечание: This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown.

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.

Errors/Exceptions

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 )

Замечание: This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown.

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.

Errors/Exceptions

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 ]] )

Замечание: This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown.

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

FALSE by default, 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.

Errors/Exceptions

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 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 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", "sha1", "sha256", or "sha512" 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 phar-based phars 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.

Errors/Exceptions

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".

Смотрите также

  • Phar::getSignature() - Return MD5/SHA1/SHA256/SHA512 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 )

Замечание: This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown.

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

Errors/Exceptions

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 and is TRUE by default

Возвращаемые значения

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 в случае возникновения ошибки.

Errors/Exceptions

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 в случае возникновения ошибки.

Errors/Exceptions

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.

Errors/Exceptions

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.

Errors/Exceptions

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.

Errors/Exceptions

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 )

Замечание: This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown.

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.

Errors/Exceptions

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 )

Замечание: This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown.

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 в случае возникновения ошибки.

Errors/Exceptions

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

TRUE by default. If FALSE, the full path on disk to the phar archive is returned. If TRUE (default value), 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 file is within phar archive /path/to/phar/my.phar and the file is located at path my/file.txt within the phar archive.

<?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 )

Замечание: This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown.

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.

Возвращаемые значения

Errors/Exceptions

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 ]] )

Замечание: This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown.

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 в случае возникновения ошибки.

Errors/Exceptions

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 )

Замечание: This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown.

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 ] )

Замечание: This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown.

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 phar-based and tar-based phar archives have a signature created automatically, SHA1 by default. data tar-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.

Возвращаемые значения

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

Errors/Exceptions

Throws UnexpectedValueException for many errors, BadMethodCallException if called for a zip-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 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 )

Замечание: This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown.

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 в случае возникновения ошибки.

Errors/Exceptions

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.

Возвращаемые значения

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

Errors/Exceptions

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 )

Замечание: This
method has been removed from the phar extension as of version 2.0.0.  Alternative
implementations are available using Phar::compress(),
Phar::decompress(), Phar::compressFiles() and
Phar::decompressFiles().

Замечание: This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown.

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 в случае возникновения ошибки.

Errors/Exceptions

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 в случае возникновения ошибки.

Errors/Exceptions

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 [, 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, defaults to index.php.

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. By default, these extensions are mapped to these mime types:

<?php
$mimes = array(
    'phps' => 2, // 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' => 1, // parse as PHP
    'inc' => 1, // 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.

Возвращаемые значения

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

Errors/Exceptions

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

Введение

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.

Class synopsis

PharData
PharData extends Phar {
/* Properties */
/* Methods */
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 ] )
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 )
int delMetadata ( void )
int delete ( string $entry )
int extractTo ( string $pathto [, string|array $files [, bool $overwrite ]] )
bool isWritable ( void )
void offsetSet ( string $offset , string $value )
bool offsetUnset ( string $offset )
bool setAlias ( string $alias )
void setDefaultStub ([ string $index [, string $webindex ]] )
void Phar::setMetadata ( mixed $metadata )
void Phar::setSignatureAlgorithm ( int $sigtype )
void setStub ( string $stub )
/* Inherited methods */
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 [, 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.

Errors/Exceptions

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->createDefaultWebStub('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.

Errors/Exceptions

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.

Errors/Exceptions

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 в случае возникновения ошибки.

Errors/Exceptions

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 ] )

Список параметров

fname

Path to an existing tar/zip archive or to-be-created archive

flags

Flags to pass to Phar parent class RecursiveDirectoryIterator.

Errors/Exceptions

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.

Errors/Exceptions

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 ]]] )

Замечание: This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown.

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.

Errors/Exceptions

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.

Errors/Exceptions

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 "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.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 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.

Errors/Exceptions

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 )

Замечание: This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown.

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 в случае возникновения ошибки.

Errors/Exceptions

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

Описание

int PharData::delMetadata ( void )

Замечание: This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown.

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.

Errors/Exceptions

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

Описание

int 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.

Errors/Exceptions

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

Описание

int PharData::extractTo ( string $pathto [, string|array $files [, bool $overwrite ]] )

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

FALSE by default, 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.

Errors/Exceptions

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.

Errors/Exceptions

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 в случае возникновения ошибки.

Errors/Exceptions

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.

Возвращаемые значения

Errors/Exceptions

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)

Описание

void 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

Возвращаемые значения

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

Errors/Exceptions

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 )

Замечание: This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown.

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 )

Замечание: This method requires the php.ini setting phar.readonly to be set to 0 in order to work for Phar objects. Otherwise, a PharException will be thrown.

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

Возвращаемые значения

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

Errors/Exceptions

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 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)

Описание

void 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.

Возвращаемые значения

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

Errors/Exceptions

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

Введение

The PharFileInfo class provides a high-level interface to the contents and attributes of a single file within a phar archive.

Class synopsis

PharFileInfo
PharFileInfo extends SplFileInfo {
/* Properties */
/* Methods */
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 в случае возникновения ошибки.

Errors/Exceptions

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.

Errors/Exceptions

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 в случае возникновения ошибки.

Errors/Exceptions

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.

Errors/Exceptions

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.

Errors/Exceptions

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 )

Замечание: This method has been removed from the phar extension as of version 2.0.0. Alternative implementations are available using PharFileInfo::isCompressed(), PharFileInfo::decompress(), and 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 )

Замечание: This method has been removed from the phar extension as of version 2.0.0. Alternative implementations are available using PharFileInfo::isCompressed(), PharFileInfo::decompress(), and 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 )

Замечание: This method has been removed from the phar extension as of version 2.0.0. Alternative implementations are available using PharFileInfo::isCompressed(), PharFileInfo::decompress(), and 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 в случае возникновения ошибки.

Errors/Exceptions

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 )

Замечание: This method has been removed from the phar extension as of version 2.0.0. Alternative implementations are available using PharFileInfo::isCompressed(), PharFileInfo::decompress(), and 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 в случае возникновения ошибки.

Errors/Exceptions

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 )

Замечание: This method has been removed from the phar extension as of version 2.0.0. Alternative implementations are available using PharFileInfo::isCompressed(), PharFileInfo::decompress(), and 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 в случае возникновения ошибки.

Errors/Exceptions

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

Введение

The PharException class provides a phar-specific exception class for try/catch blocks.

Class synopsis

PharException
PharException extends Exception {
/* Properties */
}

Содержание

  • 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
    • rar_close — Закрывает Rar архив и высвобождает занятые ресурсы
    • rar_entry_get — Возвращает объект из Rar архива
    • Rar::extract — Извлекает элемент из архива
    • Rar::getAttr — Возвращает атрибуты элемента архива
    • Rar::getCrc — Возвращает CRC элемента архива
    • Rar::getFileTime — Возвращает время последней модификации элемента архива
    • Rar::getHostOs — Возвращает данные об операционной системе хоста
    • Rar::getMethod — Возвращает метод компрессии элемента массива
    • Rar::getName — Возвращает имя элемента архива
    • Rar::getPackedSize — Возвращает размер сжатого элемента
    • Rar::getUnpackedSize — Возвращает размер элемента в распакованном состоянии
    • Rar::getVersion — Возвращает версию архиватора, использованного для компрессии элемента архива
    • rar_list — Возвращает список элементов, входящих в Rar архив
    • rar_open — Открывает Rar архив
PharException
Введение
Compression and Archive Extensions


Введение

Rar - это мощный и эффективный архиватор, созданный Eugene Roshal. Данное расширение позволяет читать 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 могут скачать расширение в виде библиотеки dll php_rar.dll здесь: » http://snaps.php.net/win32/PECL_STABLE/.

Требования
Настройка во время выполнения
Установка и настройка


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

В расширении Rar используется один ресурс: дескриптор файла, возвращаемый rar_open().

Настройка во время выполнения
Предопределенные константы
Установка и настройка


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

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

RAR_HOST_MSDOS (integer)
RAR_HOST_OS2 (integer)
RAR_HOST_WIN32 (integer)
RAR_HOST_UNIX (integer)
RAR_HOST_BEOS (integer)
Типы ресурсов
Примеры
Функции Rar


Примеры

Пример #1 Пример работы с расширением Rar

<?php

    $rar_file = rar_open('example.rar') or die("Невозможно открыть архив");

    $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_close — Закрывает Rar архив и высвобождает занятые ресурсы
  • rar_entry_get — Возвращает объект из Rar архива
  • Rar::extract — Извлекает элемент из архива
  • Rar::getAttr — Возвращает атрибуты элемента архива
  • Rar::getCrc — Возвращает CRC элемента архива
  • Rar::getFileTime — Возвращает время последней модификации элемента архива
  • Rar::getHostOs — Возвращает данные об операционной системе хоста
  • Rar::getMethod — Возвращает метод компрессии элемента массива
  • Rar::getName — Возвращает имя элемента архива
  • Rar::getPackedSize — Возвращает размер сжатого элемента
  • Rar::getUnpackedSize — Возвращает размер элемента в распакованном состоянии
  • Rar::getVersion — Возвращает версию архиватора, использованного для компрессии элемента архива
  • rar_list — Возвращает список элементов, входящих в Rar архив
  • rar_open — Открывает Rar архив
Примеры
rar_close
Функции Rar
PHP Manual


Закрывает Rar архив и высвобождает занятые ресурсы

Rar
rar_entry_get
Rar
PHP Manual

rar_close

(PECL rar >= 0.1)

rar_close — Закрывает Rar архив и высвобождает занятые ресурсы

Описание

bool rar_close ( resource $rar_file )

Закрывает Rar архив и высвобождает все выделенные ранее ресурсы.

rar_close() возвращает FALSE при ошибке.

Rar
rar_entry_get
Rar


Возвращает объект из Rar архива

rar_close
Rar::extract
Rar
PHP Manual

rar_entry_get

(PECL rar >= 0.1)

rar_entry_get — Возвращает объект из Rar архива

Описание

RarEntry rar_entry_get ( resource $rar_file , string $entry_name )

Возвращает объект из Rar архива.

Пример #1 Rar::() пример

<?php

$rar_file = rar_open('example.rar') or die("Не удалось открыть Rar архив");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Такого элемента в архиве не существует");

print_r($entry);

?>

rar_get_entry() возвращает объект или FALSE при ошибке.

rar_close
Rar::extract
Rar


Извлекает элемент из архива

rar_entry_get
Rar::getAttr
Rar
PHP Manual

Rar::extract

(PECL rar >= 0.1)

Rar::extract — Извлекает элемент из архива

Описание

bool Rar::extract ( string $dir [, string $filepath ] )

Rar::extract() Извлекает данные из архива в директорию dir . При этом в директории dir создается новый файл с именем, идентичным имени извлекаемого из архива элемента. Если параметр filepath указан вместо dir , то Rar::extract() извлечет данные из архива в указанный файл.

Пример #1 Rar::extract() пример использования

<?php

$rar_file = rar_open('example.rar') or die("Невозможно открыть Rar архив");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Такого элемента в архиве не существует");

$entry->extract('/dir/to'); // создаст /dir/to/Dir/file.txt
$entry->extract(false, '/dir/to/new_name.txt'); // создаст /dir/to/new_name.txt

?>

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

rar_entry_get
Rar::getAttr
Rar


Возвращает атрибуты элемента архива

Rar::extract
Rar::getCrc
Rar
PHP Manual

Rar::getAttr

(PECL rar >= 0.1)

Rar::getAttr — Возвращает атрибуты элемента архива

Описание

int Rar::getAttr ( void )

Rar::getAttr() Возвращает атрибуты элемента архива.

Пример #1 Rar::getAttr() пример использования

<?php

$rar_file = rar_open('example.rar') or die("Невозможно открыть Rar архив");

$entry = rar_entry_get($rar_file, 'dir/in/the/archive') or die("Такого элемента в архиве не существует");

$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);

?>

Rar::getAttr() возвращает FALSE при ошибке.

Смотрите также Rar::getHostOs().

Rar::extract
Rar::getCrc
Rar


Возвращает CRC элемента архива

Rar::getAttr
Rar::getFileTime
Rar
PHP Manual

Rar::getCrc

(PECL rar >= 0.1)

Rar::getCrc — Возвращает CRC элемента архива

Описание

int Rar::getCrc ( void )

Rar::getCrc() возвращает CRC (контрольную сумму) элемента архива.

Пример #1 Rar::getCrc() пример

<?php

?>

Rar::getCrc() возвращает FALSE при ошибке.

Rar::getAttr
Rar::getFileTime
Rar


Возвращает время последней модификации элемента архива

Rar::getCrc
Rar::getHostOs
Rar
PHP Manual

Rar::getFileTime

(PECL rar >= 0.1)

Rar::getFileTime — Возвращает время последней модификации элемента архива

Описание

string Rar::getFileTime ( void )

Rar::getFileTime() Возвращает время последней модификации элемента архива в виде строки с форматом YYYY-MM-DD HH:II:SS.

Пример #1 Rar::() пример использования

<?php

?>

Rar::getFileTime() возвращает FALSE при ошибке.

Rar::getCrc
Rar::getHostOs
Rar


Возвращает данные об операционной системе хоста

Rar::getFileTime
Rar::getMethod
Rar
PHP Manual

Rar::getHostOs

(PECL rar >= 0.1)

Rar::getHostOs — Возвращает данные об операционной системе хоста

Описание

int Rar::getHostOs ( void )

Rar::getHostOs() Возвращает данные об операционной системе хоста элемента архива.

Пример #1 Rar::getHostOs() пример использования

<?php

$rar_file = rar_open('example.rar') or die("Невозможно открыть Rar архив");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Такого элемента в архиве не существует");

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;
}

?>

Rar::getHostOs() возвращает FALSE при ошибке.

Rar::getFileTime
Rar::getMethod
Rar


Возвращает метод компрессии элемента массива

Rar::getHostOs
Rar::getName
Rar
PHP Manual

Rar::getMethod

(PECL rar >= 0.1)

Rar::getMethod — Возвращает метод компрессии элемента массива

Описание

int Rar::getMethod ( void )

Rar::getMethod() Возвращает номер метода, который был использован при архивации элемента.

Пример #1 Rar::getMethod() пример использования

<?php

$rar_file = rar_open('example.rar') or die("Невозможно открыть Rar архив");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Такого элемента в архиве не существует");

echo "Номер метода: " . $entry->getMethod();

?>

Rar::getMethod() возвращает FALSE при ошибке.

Rar::getHostOs
Rar::getName
Rar


Возвращает имя элемента архива

Rar::getMethod
Rar::getPackedSize
Rar
PHP Manual

Rar::getName

(PECL rar >= 0.1)

Rar::getName — Возвращает имя элемента архива

Описание

string Rar::getName ( void )

Rar::getName() Возвращает полное имя элемента архива.

Пример #1 Rar::getName() пример использования

<?php

$rar_file = rar_open('example.rar') or die("Невозможно открыть Rar архив");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Такого элемента в архиве не существует");

echo "Имя элемента архива: " . $entry->getName();

?>

Rar::getName() возвращает FALSE при ошибке.

Rar::getMethod
Rar::getPackedSize
Rar


Возвращает размер сжатого элемента

Rar::getName
Rar::getUnpackedSize
Rar
PHP Manual

Rar::getPackedSize

(PECL rar >= 0.1)

Rar::getPackedSize — Возвращает размер сжатого элемента

Описание

int Rar::getPackedSize ( void )

Возвращает размер сжатого элемента

Пример #1 Rar::() пример использования

<?php

$rar_file = rar_open('example.rar') or die("Невозможно открыть Rar архив");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Такого элемента в архиве не существует");

echo "Размер сжатого элемента " . $entry->getName() . " = " . $entry->getPackedSize() . " bytes";

?>

Rar::getPackedSize() возвращает FALSE при ошибке.

Rar::getName
Rar::getUnpackedSize
Rar


Возвращает размер элемента в распакованном состоянии

Rar::getPackedSize
Rar::getVersion
Rar
PHP Manual

Rar::getUnpackedSize

(PECL rar >= 0.1)

Rar::getUnpackedSize — Возвращает размер элемента в распакованном состоянии

Описание

int Rar::getUnpackedSize ( void )

Возвращает размер элемента в распакованном состоянии.

Пример #1 Rar::getUnpackedSize() пример использования

<?php

$rar_file = rar_open('example.rar') or die("Невозможно открыть Rar архив");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Такого элемента в архиве не существует");

echo "Размер распакованного элемента " . $entry->getName() . " = " . $entry->getPackedSize() . " bytes";

?>

Rar::getUnpackedSize() возвращает FALSE при ошибке.

Rar::getPackedSize
Rar::getVersion
Rar


Возвращает версию архиватора, использованного для компрессии элемента архива

Rar::getUnpackedSize
rar_list
Rar
PHP Manual

Rar::getVersion

(PECL rar >= 0.1)

Rar::getVersion — Возвращает версию архиватора, использованного для компрессии элемента архива

Описание

int Rar::getVersion ( void )

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

Пример #1 Rar::getVersion() пример использования

<?php

$rar_file = rar_open('example.rar') or die("Невозможно открыть Rar архив");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Такого элемента в архиве не существует");

echo "Использована версия Rar (WinRAR): " . $entry->getVersion();

?>

Rar::getVersion() возвращает FALSE при ошибке.

Rar::getUnpackedSize
rar_list
Rar


Возвращает список элементов, входящих в Rar архив

Rar::getVersion
rar_open
Rar
PHP Manual

rar_list

(PECL rar >= 0.1)

rar_list — Возвращает список элементов, входящих в Rar архив

Описание

array rar_list ( resource $rar_file )

Возвращает список элементов, входящих в Rar архив.

Пример #1 Rar::() пример использования

<?php

$rar_file = rar_open('example.rar') or die("Невозможно открыть Rar архив");

$entries_list = rar_list($rar_file);

print_r($entries_list);

?>

rar_list() возвращает массив элементов архива или FALSE при ошибке.

Rar::getVersion
rar_open
Rar


Открывает Rar архив

rar_list
Zip
Rar
PHP Manual

rar_open

(PECL rar >= 0.1)

rar_open — Открывает Rar архив

Описание

resource rar_open ( string $filename [, string $password ] )

Открывает Rar архив и возвращает указатель на него.

rar_open() возвращает указатель на открытый Rar архив или FALSE при ошибке.

rar_list
Zip
Rar


Zip

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • ZipArchive — The ZipArchive class
    • ZipArchive::addEmptyDir — Add a new directory
    • ZipArchive::addFile — Adds a file to a ZIP archive from the given path
    • ZipArchive::addFromString — Add a file to a ZIP archive using its contents
    • ZipArchive::close — Close the active archive (opened or newly created)
    • ZipArchive::deleteIndex — delete an entry in the archive using its index
    • ZipArchive::deleteName — delete an entry in the archive using its name
    • ZipArchive::extractTo — Extract the archive contents
    • ZipArchive::getArchiveComment — Returns the Zip archive comment
    • ZipArchive::getCommentIndex — Returns the comment of an entry using the entry index
    • ZipArchive::getCommentName — Returns the comment of an entry using the entry name
    • ZipArchive::getFromIndex — Returns the entry contents using its index.
    • ZipArchive::getFromName — Returns the entry contents using its name.
    • ZipArchive::getNameIndex — Returns the name of an entry using its index
    • ZipArchive::getStream — Get a file handler to the entry defined by its name (read only).
    • ZipArchive::locateName — Returns the index of the entry in the archive
    • ZipArchive::open — Open a ZIP file archive
    • ZipArchive::renameIndex — Renames an entry defined by its index
    • ZipArchive::renameName — Renames an entry defined by its name
    • ZipArchive::setArchiveComment — Set the comment of a ZIP archive
    • ZipArchive::setCommentIndex — Set the comment of an entry defined by its index
    • ZipArchive::setCommentName — Set the comment of an entry defined by its name
    • ZipArchive::statIndex — Get the details of an entry defined by its index.
    • ZipArchive::statName — Get the details of an entry defined by its name.
    • ZipArchive::unchangeAll — Undo all changes done in the archive.
    • ZipArchive::unchangeArchive — Revert all global changes done in the archive.
    • ZipArchive::unchangeIndex — Revert all changes done to an entry at the given index.
    • ZipArchive::unchangeName — Revert all changes done to an entry with the given name.
  • Zip Функции
    • zip_close — Close a ZIP file archive
    • zip_entry_close — Close a directory entry
    • zip_entry_compressedsize — Retrieve the compressed size of a directory entry
    • zip_entry_compressionmethod — Retrieve the compression method of a directory entry
    • zip_entry_filesize — Retrieve the actual file size of a directory entry
    • zip_entry_name — Retrieve the name of a directory entry
    • zip_entry_open — Open a directory entry for reading
    • zip_entry_read — Read from an open directory entry
    • zip_open — Open a ZIP file archive
    • zip_read — Read next entry in a ZIP file archive
rar_open
Введение
Compression and Archive Extensions


Введение

This extension enables you to transparently read or write ZIP compressed archives and the files inside them.

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


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Zip


Требования

PHP 4

The bundled PHP 4 version requires » ZZIPlib, by Guido Draheim, version 0.10.6 or later

PHP 5.2.0 or later

This extension uses the functions of » zlib by Jean-loup Gailly and Mark Adler.

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


Установка

PHP 4

Замечание: Zip support before PHP 4.1.0 is experimental.

Внимание

Because the PHP 4 zip extension is unmaintained we recommend that the PECL extension is used rather than the bundled one.

Linux systems

In order to use these functions you must compile PHP with zip support by using the --with-zip[=DIR] configure option, where [DIR] is the prefix of the » ZZIPlib library install.

Windows

Windows users need to enable php_zip.dll inside of php.ini in order to use these functions.

PHP 5.2.0 and later

Linux systems

In order to use these functions you must compile PHP with zip support by using the --enable-zip configure option.

Windows

Windows users need to enable php_zip.dll inside of php.ini in order to use these functions.

Installation via PECL

Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, могут быть найдены здесь: » http://pecl.php.net/package/zip.

Вы можете скачать DLL этого расширения PECL со страницы » PHP Downloads или » http://snaps.php.net/.

В PHP 4 этот DLL находится в директории extensions/ внутри директории бинарного дистрибутива PHP для Windows.

Требования
Настройка во время выполнения
Установка и настройка


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

There are two resource types used in the Zip module. The first one is the Zip directory for the Zip archive, the second Zip Entry for the archive entries.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


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

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если 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 Create a Zip archive

<?php

$zip = new ZipArchive();
$filename = "./test112.zip";

if ($zip->open($filename, ZIPARCHIVE::CREATE)!==TRUE) {
    exit("cannot open <$filename>\n");
}

$zip->addFromString("testfilephp.txt" . time(), "#1 This is a test string added as testfilephp.txt.\n");
$zip->addFromString("testfilephp2.txt" . time(), "#2 This is a test string added as testfilephp2.txt.\n");
$zip->addFile($thisdir . "/too.php","/testfromfile.php");
echo "numfiles: " . $zip->numFiles . "\n";
echo "status:" . $zip->status . "\n";
$zip->close();
?>

Пример #2 Dump the archive details and listing

<?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 stream wrapper, read an OpenOffice meta info

<?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);
?>

This example uses the old API (PHP 4), it opens a ZIP file archive, reads each file in the archive and prints out its contents. The test2.zip archive used in this example is one of the test archives in the ZZIPlib source distribution.

Пример #4 Zip Usage Example

<?php

$zip = zip_open("/tmp/test2.zip");

if ($zip) {
    while ($zip_entry = zip_read($zip)) {
        echo "Name:               " . zip_entry_name($zip_entry) . "\n";
        echo "Actual Filesize:    " . zip_entry_filesize($zip_entry) . "\n";
        echo "Compressed Size:    " . zip_entry_compressedsize($zip_entry) . "\n";
        echo "Compression Method: " . zip_entry_compressionmethod($zip_entry) . "\n";

        if (zip_entry_open($zip, $zip_entry, "r")) {
            echo "File Contents:\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


The ZipArchive class

Введение

A file archive, compressed with Zip.

Class synopsis

ZipArchive
ZipArchive {
/* Properties */
/* Methods */
bool addEmptyDir ( string $dirname )
bool addFile ( string $filename [, string $localname ] )
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 ( void )
string getCommentIndex ( int $index [, int $flags ] )
string getCommentName ( string $name [, int $flags ] )
mixed getFromIndex ( int $index [, int $flags ] )
mixed getFromName ( string $name [, int $flags ] )
string getNameIndex ( int $index )
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

Status of the Zip Archive

statusSys

System status of the Zip Archive

numFiles

Number of files in archive

filename

File name in the file system

comment

Comment for the archive

Содержание

  • ZipArchive::addEmptyDir — Add a new directory
  • ZipArchive::addFile — Adds a file to a ZIP archive from the given path
  • ZipArchive::addFromString — Add a file to a ZIP archive using its contents
  • ZipArchive::close — Close the active archive (opened or newly created)
  • ZipArchive::deleteIndex — delete an entry in the archive using its index
  • ZipArchive::deleteName — delete an entry in the archive using its name
  • ZipArchive::extractTo — Extract the archive contents
  • ZipArchive::getArchiveComment — Returns the Zip archive comment
  • ZipArchive::getCommentIndex — Returns the comment of an entry using the entry index
  • ZipArchive::getCommentName — Returns the comment of an entry using the entry name
  • ZipArchive::getFromIndex — Returns the entry contents using its index.
  • ZipArchive::getFromName — Returns the entry contents using its name.
  • ZipArchive::getNameIndex — Returns the name of an entry using its index
  • ZipArchive::getStream — Get a file handler to the entry defined by its name (read only).
  • ZipArchive::locateName — Returns the index of the entry in the archive
  • ZipArchive::open — Open a ZIP file archive
  • ZipArchive::renameIndex — Renames an entry defined by its index
  • ZipArchive::renameName — Renames an entry defined by its name
  • ZipArchive::setArchiveComment — Set the comment of a ZIP archive
  • ZipArchive::setCommentIndex — Set the comment of an entry defined by its index
  • ZipArchive::setCommentName — Set the comment of an entry defined by its name
  • ZipArchive::statIndex — Get the details of an entry defined by its index.
  • ZipArchive::statName — Get the details of an entry defined by its name.
  • ZipArchive::unchangeAll — Undo all changes done in the archive.
  • ZipArchive::unchangeArchive — Revert all global changes done in the archive.
  • ZipArchive::unchangeIndex — Revert all changes done to an entry at the given index.
  • ZipArchive::unchangeName — Revert all changes done to an entry with the given name.
Примеры
ZipArchive::addEmptyDir
Zip


Add a new directory

ZipArchive
ZipArchive::addFile
ZipArchive
PHP Manual

ZipArchive::addEmptyDir

(PHP 5 >= 5.2.0, PECL zip >= 1.8.0)

ZipArchive::addEmptyDir — Add a new directory

Описание

bool ZipArchive::addEmptyDir ( string $dirname )

Adds an empty directory in the archive.

Список параметров

dirname

The directory to add.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Create a new directory in an archive

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    if($zip->addEmptyDir('newDirectory')) {
        echo 'Created a new root directory';
    } else {
        echo 'Could not create the directory';
    }
    $zip->close();
} else {
    echo 'failed';
}
?>
ZipArchive
ZipArchive::addFile
ZipArchive


Adds a file to a ZIP archive from the given path

ZipArchive::addEmptyDir
ZipArchive::addFromString
ZipArchive
PHP Manual

ZipArchive::addFile

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::addFile — Adds a file to a ZIP archive from the given path

Описание

bool ZipArchive::addFile ( string $filename [, string $localname ] )

Adds a file to a ZIP archive from a given path

Список параметров

filename

The path to the file to add.

localname

local name inside ZIP archive.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

This example opens a ZIP file archive test.zip and add the file /path/to/index.txt. as newname.txt.

Пример #1 Open and extract

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->addFile('/path/to/index.txt', 'newname.txt');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>
ZipArchive::addEmptyDir
ZipArchive::addFromString
ZipArchive


Add a file to a ZIP archive using its contents

ZipArchive::addFile
ZipArchive::close
ZipArchive
PHP Manual

ZipArchive::addFromString

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::addFromString — Add a file to a ZIP archive using its contents

Описание

bool ZipArchive::addFromString ( string $localname , string $contents )

Add a file to a ZIP archive using its contents.

Список параметров

localname

The name of the entry to create.

contents

The contents to use to create the entry. It is used in a binary safe mode.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Add an entry to a new archive

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
    $zip->addFromString('test.txt', 'file content goes here');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

Пример #2 Add file to a directory inside an archive

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->addFromString('dir/test.txt', 'file content goes here');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>
ZipArchive::addFile
ZipArchive::close
ZipArchive


Close the active archive (opened or newly created)

ZipArchive::addFromString
ZipArchive::deleteIndex
ZipArchive
PHP Manual

ZipArchive::close

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::close — Close the active archive (opened or newly created)

Описание

bool ZipArchive::close ( void )

Close opened or created archive and save changes. This method is automatically called at the end of the script.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

ZipArchive::addFromString
ZipArchive::deleteIndex
ZipArchive


delete an entry in the archive using its index

ZipArchive::close
ZipArchive::deleteName
ZipArchive
PHP Manual

ZipArchive::deleteIndex

(PHP 5 >= 5.2.0, PECL zip >= 1.5.0)

ZipArchive::deleteIndex — delete an entry in the archive using its index

Описание

bool ZipArchive::deleteIndex ( int $index )

Delete an entry in the archive using its index.

Список параметров

index

Index of the entry to delete.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Delete file from archive using its index

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->deleteIndex(2);
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>
ZipArchive::close
ZipArchive::deleteName
ZipArchive


delete an entry in the archive using its name

ZipArchive::deleteIndex
ZipArchive::extractTo
ZipArchive
PHP Manual

ZipArchive::deleteName

(PHP 5 >= 5.2.0, PECL zip >= 1.5.0)

ZipArchive::deleteName — delete an entry in the archive using its name

Описание

bool ZipArchive::deleteName ( string $name )

Delete an entry in the archive using its name.

Список параметров

name

Name of the entry to delete.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Delete file from archive using its name

<?php
$zip = new ZipArchive;
if ($zip->open('test1.zip') === TRUE) {
    $zip->deleteName('testfromfile.php');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>
ZipArchive::deleteIndex
ZipArchive::extractTo
ZipArchive


Extract the archive contents

ZipArchive::deleteName
ZipArchive::getArchiveComment
ZipArchive
PHP Manual

ZipArchive::extractTo

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::extractTo — Extract the archive contents

Описание

bool ZipArchive::extractTo ( string $destination [, mixed $entries ] )

Extract the complete archive or the given files to the specified destination.

Список параметров

destination

Location where to extract the files.

entries

The entries to extract. It accepts either a single entry name or an array of names.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

This example opens a ZIP file archive, reads each file in the archive and prints out its contents. The test2.zip archive used in this example is one of the test archives in the ZZIPlib source distribution.

Пример #1 Extract all entries

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->extractTo('/my/destination/dir/');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

Пример #2 Extract only two entries

<?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 'failed';
}
?>
ZipArchive::deleteName
ZipArchive::getArchiveComment
ZipArchive


Returns the Zip archive comment

ZipArchive::extractTo
ZipArchive::getCommentIndex
ZipArchive
PHP Manual

ZipArchive::getArchiveComment

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::getArchiveComment — Returns the Zip archive comment

Описание

string ZipArchive::getArchiveComment ( void )

Returns the Zip archive comment.

Возвращаемые значения

Returns the Zip archive comment or FALSE on failure.

Примеры

Пример #1 Dump an archive comment

<?php
$zip = new ZipArchive;
$res = $zip->open('test_with_comment.zip');
if ($res === TRUE) {
    var_dump($zip->getArchiveComment());
    /* Or using the archive property */
    var_dump($zip->comment);
} else {
    echo 'failed, code:' . $res;
}
?>
ZipArchive::extractTo
ZipArchive::getCommentIndex
ZipArchive


Returns the comment of an entry using the entry index

ZipArchive::getArchiveComment
ZipArchive::getCommentName
ZipArchive
PHP Manual

ZipArchive::getCommentIndex

(PHP 5 >= 5.2.0, PECL zip >= 1.4.0)

ZipArchive::getCommentIndex — Returns the comment of an entry using the entry index

Описание

string ZipArchive::getCommentIndex ( int $index [, int $flags ] )

Returns the comment of an entry using the entry index.

Список параметров

index

Index of the entry

flags

If flags is set to ZIPARCHIVE::FL_UNCHANGED, the original unchanged comment is returned.

Возвращаемые значения

Returns the comment on success or FALSE on failure.

Примеры

Пример #1 Dump an entry comment

<?php
$zip = new ZipArchive;
$res = $zip->open('test1.zip');
if ($res === TRUE) {
    var_dump($zip->getCommentIndex(1));
} else {
    echo 'failed, code:' . $res;
}
?>
ZipArchive::getArchiveComment
ZipArchive::getCommentName
ZipArchive


Returns the comment of an entry using the entry name

ZipArchive::getCommentIndex
ZipArchive::getFromIndex
ZipArchive
PHP Manual

ZipArchive::getCommentName

(PHP 5 >= 5.2.0, PECL zip >= 1.4.0)

ZipArchive::getCommentName — Returns the comment of an entry using the entry name

Описание

string ZipArchive::getCommentName ( string $name [, int $flags ] )

Returns the comment of an entry using the entry name.

Список параметров

name

Name of the entry

flags

If flags is set to ZIPARCHIVE::FL_UNCHANGED, the original unchanged comment is returned.

Возвращаемые значения

Returns the comment on success or FALSE on failure.

Примеры

Пример #1 Dump an entry comment

<?php
$zip = new ZipArchive;
$res = $zip->open('test1.zip');
if ($res === TRUE) {
    var_dump($zip->getCommentName('test/entry1.txt'));
} else {
    echo 'failed, code:' . $res;
}
?>
ZipArchive::getCommentIndex
ZipArchive::getFromIndex
ZipArchive


Returns the entry contents using its index.

ZipArchive::getCommentName
ZipArchive::getFromName
ZipArchive
PHP Manual

ZipArchive::getFromIndex

(PHP 5 >= 5.2.0, PECL zip >= 1.3.0)

ZipArchive::getFromIndex — Returns the entry contents using its index.

Описание

mixed ZipArchive::getFromIndex ( int $index [, int $flags ] )

Returns the entry contents using its index.

Список параметров

index

Index of the entry

flags

The flags to use to open the archive. the following values may be ORed to it.

  • ZIPARCHIVE::FL_UNCHANGED

  • ZIPARCHIVE::FL_COMPRESSED

Возвращаемые значения

Returns the contents of the entry on success or FALSE on failure.

Примеры

Пример #1 Get the file contents

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    echo $zip->getFromIndex(2);
    $zip->close();
} else {
    echo 'failed';
}
?>
ZipArchive::getCommentName
ZipArchive::getFromName
ZipArchive


Returns the entry contents using its name.

ZipArchive::getFromIndex
ZipArchive::getNameIndex
ZipArchive
PHP Manual

ZipArchive::getFromName

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::getFromName — Returns the entry contents using its name.

Описание

mixed ZipArchive::getFromName ( string $name [, int $flags ] )

Returns the entry contents using its name.

Список параметров

name

Name of the entry

flags

The flags to use to open the archive. the following values may be ORed to it.

  • ZIPARCHIVE::FL_UNCHANGED

  • ZIPARCHIVE::FL_COMPRESSED

Возвращаемые значения

Returns the contents of the entry on success or FALSE on failure.

Примеры

Пример #1 Get the file contents

<?php
$zip = new ZipArchive;
if ($zip->open('test1.zip') === TRUE) {
    echo $zip->getFromName('testfromfile.php');
    $zip->close();
} else {
    echo 'failed';
}
?>

Пример #2 Convert an image from a zip entry

<?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


Returns the name of an entry using its index

ZipArchive::getFromName
ZipArchive::getStream
ZipArchive
PHP Manual

ZipArchive::getNameIndex

(PHP 5 >= 5.2.0, PECL zip >= 1.5.0)

ZipArchive::getNameIndex — Returns the name of an entry using its index

Описание

string ZipArchive::getNameIndex ( int $index )

Returns the name of an entry using its index.

Список параметров

index

Index of the entry.

Возвращаемые значения

Returns the name on success or FALSE on failure.

ZipArchive::getFromName
ZipArchive::getStream
ZipArchive


Get a file handler to the entry defined by its name (read only).

ZipArchive::getNameIndex
ZipArchive::locateName
ZipArchive
PHP Manual

ZipArchive::getStream

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::getStream — Get a file handler to the entry defined by its name (read only).

Описание

resource ZipArchive::getStream ( string $name )

Get a file handler to the entry defined by its name. For now it only supports read operations.

Список параметров

name

The name of the entry to use.

Возвращаемые значения

Returns a file pointer (resource) on success or FALSE on failure.

Примеры

Пример #1 Get the entry contents with fread() and store it

<?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 "done.\n";
}
?>

Пример #2 Same as the previous example but with fopen() and the zip stream wrapper

<?php
$fp = fopen('zip://' . dirname(__FILE__) . '/test.zip#test', 'r');
if (!$fp) {
    exit("cannot open\n");
}
while (!feof($fp)) {
    $contents .= fread($fp, 2);
    echo "$contents\n";
}
fclose($fp);
echo "done.\n";
?>

Пример #3 Stream wrapper and image, can be used with the xml function as well

<?php
$im = imagecreatefromgif('zip://' . dirname(__FILE__) . '/test_im.zip#pear_item.gif');
imagepng($im, 'a.png');
?>
ZipArchive::getNameIndex
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 or FALSE on failure.

Примеры

Пример #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


Open a ZIP file archive

ZipArchive::locateName
ZipArchive::renameIndex
ZipArchive
PHP Manual

ZipArchive::open

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::open — Open a ZIP file archive

Описание

mixed ZipArchive::open ( string $filename [, int $flags ] )

Opens a new zip archive for reading, writing or modifying.

Список параметров

filename

The file name of the ZIP archive to open.

flags

The mode to use to open the archive.

  • ZIPARCHIVE::OVERWRITE

  • ZIPARCHIVE::CREATE

  • ZIPARCHIVE::EXCL

  • ZIPARCHIVE::CHECKCONS

Возвращаемые значения

Error codes

Returns TRUE on success or the error code.

  • 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

Примеры

This example opens a ZIP file archive, reads each file in the archive and prints out its contents. The test2.zip archive used in this example is one of the test archives in the ZZIPlib source distribution.

Пример #1 Open and extract

<?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 Create an archive

<?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


Renames an entry defined by its index

ZipArchive::open
ZipArchive::renameName
ZipArchive
PHP Manual

ZipArchive::renameIndex

(PHP 5 >= 5.2.0, PECL zip >= 1.5.0)

ZipArchive::renameIndex — Renames an entry defined by its index

Описание

bool ZipArchive::renameIndex ( int $index , string $newname )

Renames an entry defined by its index.

Список параметров

index

Index of the entry to rename.

newname

New name.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Rename one entry

<?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


Renames an entry defined by its name

ZipArchive::renameIndex
ZipArchive::setArchiveComment
ZipArchive
PHP Manual

ZipArchive::renameName

(PHP 5 >= 5.2.0, PECL zip >= 1.5.0)

ZipArchive::renameName — Renames an entry defined by its name

Описание

bool ZipArchive::renameName ( string $name , string $newname )

Renames an entry defined by its name.

Список параметров

name

Name of the entry to rename.

newname

New name.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Rename one entry

<?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


Set the comment of a ZIP archive

ZipArchive::renameName
ZipArchive::setCommentIndex
ZipArchive
PHP Manual

ZipArchive::setArchiveComment

(PHP 5 >= 5.2.0, PECL zip >= 1.4.0)

ZipArchive::setArchiveComment — Set the comment of a ZIP archive

Описание

mixed ZipArchive::setArchiveComment ( string $comment )

Set the comment of a ZIP archive.

Список параметров

comment

The contents of the comment.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Create an archive and set a comment

<?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


Set the comment of an entry defined by its index

ZipArchive::setArchiveComment
ZipArchive::setCommentName
ZipArchive
PHP Manual

ZipArchive::setCommentIndex

(PHP 5 >= 5.2.0, PECL zip >= 1.4.0)

ZipArchive::setCommentIndex — Set the comment of an entry defined by its index

Описание

mixed ZipArchive::setCommentIndex ( int $index , string $comment )

Set the comment of an entry defined by its index.

Список параметров

index

Index of the entry.

comment

The contents of the comment.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Open an archive and set a comment for an entry

<?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


Set the comment of an entry defined by its name

ZipArchive::setCommentIndex
ZipArchive::statIndex
ZipArchive
PHP Manual

ZipArchive::setCommentName

(PHP 5 >= 5.2.0, PECL zip >= 1.4.0)

ZipArchive::setCommentName — Set the comment of an entry defined by its name

Описание

mixed ZipArchive::setCommentName ( string $name , string $comment )

Set the comment of an entry defined by its name.

Список параметров

name

Name of the entry.

comment

The contents of the comment.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Open an archive and set a comment for an entry

<?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


Get the details of an entry defined by its index.

ZipArchive::setCommentName
ZipArchive::statName
ZipArchive
PHP Manual

ZipArchive::statIndex

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::statIndex — Get the details of an entry defined by its index.

Описание

mixed ZipArchive::statIndex ( int $index [, int $flags ] )

The function obtains information about the entry defined by its index.

Список параметров

index

Index of the entry

flags

ZIPARCHIVE::FL_UNCHANGED may be ORed to it to request information about the original file in the archive, ignoring any changes made.

Возвращаемые значения

Returns an array containing the entry details or FALSE on failure.

Примеры

Пример #1 Dump the stat info of an entry

<?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


Get the details of an entry defined by its name.

ZipArchive::statIndex
ZipArchive::unchangeAll
ZipArchive
PHP Manual

ZipArchive::statName

(PHP 5 >= 5.2.0, PECL zip >= 1.5.0)

ZipArchive::statName — Get the details of an entry defined by its name.

Описание

mixed ZipArchive::statName ( name $name [, int $flags ] )

The function obtains information about the entry defined by its name.

Список параметров

name

Name of the entry

flags

The flags argument specifies how the name lookup should be done. Also, ZIPARCHIVE::FL_UNCHANGED may be ORed to it to request information about the original file in the archive, ignoring any changes made.

  • ZIPARCHIVE::FL_NOCASE

  • ZIPARCHIVE::FL_NODIR

  • ZIPARCHIVE::FL_UNCHANGED

Возвращаемые значения

Returns an array containing the entry details or FALSE on failure.

Примеры

Пример #1 Dump the stat info of an entry

<?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


Undo all changes done in the archive.

ZipArchive::statName
ZipArchive::unchangeArchive
ZipArchive
PHP Manual

ZipArchive::unchangeAll

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::unchangeAll — Undo all changes done in the archive.

Описание

mixed ZipArchive::unchangeAll ( void )

Undo all changes done in the archive.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

ZipArchive::statName
ZipArchive::unchangeArchive
ZipArchive


Revert all global changes done in the archive.

ZipArchive::unchangeAll
ZipArchive::unchangeIndex
ZipArchive
PHP Manual

ZipArchive::unchangeArchive

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::unchangeArchive — Revert all global changes done in the archive.

Описание

mixed ZipArchive::unchangeArchive ( void )

Revert all global changes to the archive archive. For now, this only reverts archive comment changes.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

ZipArchive::unchangeAll
ZipArchive::unchangeIndex
ZipArchive


Revert all changes done to an entry at the given index.

ZipArchive::unchangeArchive
ZipArchive::unchangeName
ZipArchive
PHP Manual

ZipArchive::unchangeIndex

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::unchangeIndex — Revert all changes done to an entry at the given index.

Описание

mixed ZipArchive::unchangeIndex ( int $index )

Revert all changes done to an entry at the given index.

Список параметров

index

Index of the entry.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

ZipArchive::unchangeArchive
ZipArchive::unchangeName
ZipArchive


Revert all changes done to an entry with the given name.

ZipArchive::unchangeIndex
Zip Функции
ZipArchive
PHP Manual

ZipArchive::unchangeName

(PHP 5 >= 5.2.0, PECL zip >= 1.5.0)

ZipArchive::unchangeName — Revert all changes done to an entry with the given name.

Описание

mixed ZipArchive::unchangeName ( string $name )

Revert all changes done to an entry.

Список параметров

name

Name of the entry.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

ZipArchive::unchangeIndex
Zip Функции
ZipArchive


Zip Функции

Содержание

  • zip_close — Close a ZIP file archive
  • zip_entry_close — Close a directory entry
  • zip_entry_compressedsize — Retrieve the compressed size of a directory entry
  • zip_entry_compressionmethod — Retrieve the compression method of a directory entry
  • zip_entry_filesize — Retrieve the actual file size of a directory entry
  • zip_entry_name — Retrieve the name of a directory entry
  • zip_entry_open — Open a directory entry for reading
  • zip_entry_read — Read from an open directory entry
  • 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 Функции


Close a directory entry

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 — Close a directory entry

Описание

bool zip_entry_close ( resource $zip_entry )

Closes the specified directory entry.

Список параметров

zip_entry

A directory entry previously opened zip_entry_open().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • zip_entry_open() - Open a directory entry for reading
  • zip_entry_read() - Read from an open directory entry

zip_close
zip_entry_compressedsize
Zip Функции


Retrieve the compressed size of a directory entry

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 — Retrieve the compressed size of a directory entry

Описание

int zip_entry_compressedsize ( resource $zip_entry )

Returns the compressed size of the specified directory entry.

Список параметров

zip_entry

A directory entry returned by zip_read().

Возвращаемые значения

The compressed size.

Смотрите также

  • zip_open() - Open a ZIP file archive
  • zip_read() - Read next entry in a ZIP file archive

zip_entry_close
zip_entry_compressionmethod
Zip Функции


Retrieve the compression method of a directory entry

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 — Retrieve the compression method of a directory entry

Описание

string zip_entry_compressionmethod ( resource $zip_entry )

Returns the compression method of the directory entry specified by zip_entry .

Список параметров

zip_entry

A directory entry returned by zip_read().

Возвращаемые значения

The compression method.

Смотрите также

  • zip_open() - Open a ZIP file archive
  • zip_read() - Read next entry in a ZIP file archive

zip_entry_compressedsize
zip_entry_filesize
Zip Функции


Retrieve the actual file size of a directory entry

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 — Retrieve the actual file size of a directory entry

Описание

int zip_entry_filesize ( resource $zip_entry )

Returns the actual size of the specified directory entry.

Список параметров

zip_entry

A directory entry returned by zip_read().

Возвращаемые значения

The size of the directory entry.

Смотрите также

  • zip_open() - Open a ZIP file archive
  • zip_read() - Read next entry in a ZIP file archive

zip_entry_compressionmethod
zip_entry_name
Zip Функции


Retrieve the name of a directory entry

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 — Retrieve the name of a directory entry

Описание

string zip_entry_name ( resource $zip_entry )

Returns the name of the specified directory entry.

Список параметров

zip_entry

A directory entry returned by zip_read().

Возвращаемые значения

The name of the directory entry.

Смотрите также

  • zip_open() - Open a ZIP file archive
  • zip_read() - Read next entry in a ZIP file archive

zip_entry_filesize
zip_entry_open
Zip Функции


Open a directory entry for reading

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 — Open a directory entry for reading

Описание

bool zip_entry_open ( resource $zip , resource $zip_entry [, string $mode ] )

Opens a directory entry in a zip file for reading.

Список параметров

zip

A valid resource handle returned by zip_open().

zip_entry

A directory entry returned by zip_read().

mode

Any of the modes specified in the documentation of fopen().

Замечание: Currently, mode is ignored and is always "rb". This is due to the fact that zip support in PHP is read only access.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Замечание: Unlike fopen() and other similar functions, the return value of zip_entry_open() only indicates the result of the operation and is not needed for reading or closing the directory entry.

Смотрите также

  • zip_entry_close() - Close a directory entry
  • zip_entry_read() - Read from an open directory entry

zip_entry_name
zip_entry_read
Zip Функции


Read from an open directory entry

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 — Read from an open directory entry

Описание

string zip_entry_read ( resource $zip_entry [, int $length ] )

Reads from an open directory entry.

Список параметров

zip_entry

A directory entry returned by zip_read().

length

The number of bytes to return. If not specified, this function will attempt to read 1024 bytes.

Замечание: This should be the uncompressed length you wish to read.

Возвращаемые значения

Returns the data read, or FALSE if the end of the file is reached.

Смотрите также

  • zip_entry_open() - Open a directory entry for reading
  • zip_entry_close() - Close a directory entry
  • zip_entry_filesize() - Retrieve the actual file size of a directory entry

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's no more entries to read or number of error in case of other error.

Смотрите также

  • zip_open() - Open a ZIP file archive
  • zip_close() - Close a ZIP file archive
  • zip_entry_open() - Open a directory entry for reading
  • zip_entry_read() - Read from an open directory entry

zip_open
Zlib
Zip Функции


Zlib

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • Zlib — Функции Zlib
    • gzclose — Закрывает открытый gz-указатель
    • gzcompress — Сжимает строку
    • gzdecode — Decodes a gzip compressed string
    • gzdeflate — Сжимает строку
    • gzencode — Сжимает строку в формате gzip
    • gzeof — Проверяет, находится ли текущая позиция в конце 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
Введение
Compression and Archive Extensions


Введение

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

Замечание: В версии 4.0.4 появился новый протокол 'zlib:' для доступа прямого к сжатым файлам через обычные функции f*() (для этого нужно было добавить 'zlib:' в начало пути к файлу при вызове fopen().
В версии 4.3.0, префикс изменился на 'zlib://' для предотвращения многозначности в случае файлов, содержащих ':' в имени.
Требуется библиотека стандартная библиотека C, предоставляющая функцию fopencookie(). Насколько нам известно, единственной такой библиотекой является GNU libc.

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 | "Off" | PHP_INI_ALL
zlib.output_compression_level | "-1" | PHP_INI_ALL
zlib.output_handler | "" | PHP_INI_ALL

Для подробностей и определения переменных PHP_INI_* см. ini_set().

Краткое разъяснение конфигурационных директив.

zlib.output_compression boolean/integer

Сжимать ли страницы. Если значение равно "On" в php.ini или в настройках Apache, страницы будут сжиматься если обозреватель посылает заголовок "Accept-Encoding: gzip" или "deflate". при этом в вывод будут добавлены заголовки "Content-Encoding: gzip" (соответственно "deflate") и "Vary: Accept-Encoding".

Аргументы также могут быть целого типа, так вы можете установить размер буфера (дискретизации) вывода (по умолчанию 4 Кб).

Замечание: output_handler должен быть пустым, если выбрано значение 'On'! Вместо него следует использовать zlib.output_handler.

zlib.output_compression_level integer

Уровень сжатия.

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 "Error with zlib functions!";
}
unlink($filename);
echo "</pre>\n</body>\n</html>\n";

?>
Предопределенные константы
Zlib
Zlib


Функции Zlib

Содержание

  • gzclose — Закрывает открытый gz-указатель
  • gzcompress — Сжимает строку
  • gzdecode — Decodes a gzip compressed string
  • gzdeflate — Сжимает строку
  • gzencode — Сжимает строку в формате gzip
  • gzeof — Проверяет, находится ли текущая позиция в конце 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 в случае возникновения ошибки.

Смотрите также

  • 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 ] )

Сжимает строку используя формат данных ZLIB.

Для подробностей по алгоритму сжатия ZLIB, см. "» ZLIB Compressed Data Format Specification 3.3" (RFC 1950).

Замечание: Это не есть gzip-сжатие, которое включает некоторые заголовочные данные. Для gzip-сжатие обратитесь к gzencode().

Список параметров

data

Данные для сжаитя.

level

Уровень сжатия. 0 - без сжатия, 9 - максимум.

Возвращаемые значения

Сжатая строка или FALSE в случае ошибки.

Смотрите также

  • gzdeflate() - Сжимает строку
  • gzinflate() - Распаковывает строку
  • gzuncompress() - Распаковывает строку
  • gzencode() - Сжимает строку в формате gzip

gzclose
gzdecode
Zlib


Decodes a gzip compressed string

gzcompress
gzdeflate
Zlib
PHP Manual

gzdecode

(PHP 6 >= 6.0.0)

gzdecode — Decodes a gzip compressed string

Описание

string gzdecode ( string $data [, int $length ] )

This function returns a decoded version of the input data .

Список параметров

data

The data to decode, encoded by gzencode().

length

The maximum length of data to decode.

Возвращаемые значения

The decoded string, or FALSE if an error occurred.

Смотрите также

  • 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 ] )

Сжимает строку используя формат данных DEFLATE.

Для подробностей по алгоритму сжатия DEFLATE, см. "» DEFLATE Compressed Data Format Specification 1.3" (RFC 1951).

Список параметров

data

Данные для сжатия.

level

Уровень сжатия. 0 - без сжатия, 9 - максимум. Если не указан, будет использоваться уровень сжатия по умолчанию библиотеки zlib.

Возвращаемые значения

Сжатая строка или FALSE в случае ошибки.

Смотрите также

  • 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 [, int $encoding_mode ]] )

Возвращает сжатую версию данных data , аналогично выводу программы gzip.

Для подробностей по формату GZIP, см. » GZIP file format specification 4.3 (RFC 1952).

Список параметров

data

Данные для сжатия.

level

Уровень сжатия. 0 - без сжатия, 9 - максимальное сжатие. Если не указано, будет использоваться уровень сжатия по умолчанию библиотеки zlib.

encoding_mode

Режим сжатия, может быть FORCE_GZIP (по умолчанию) или FORCE_DEFLATE.

В случае FORCE_DEFLATE, будет возвращена строка, сжатая по алгоритму zlib deflate (с заголовками zlib) после заголовка файла gzip, но без проверочной суммы crc32 в конце.

Возвращаемые значения

Сжатая строка или FALSE в случае ошибки.

Примеры

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

Пример #1 CСоздание файла gzip

<?php
$data = implode("", file("bigfile.txt"));
$gzdata = gzencode($data, 9);
$fp = fopen("bigfile.txt.gz", "w");
fwrite($fp, $gzdata);
fclose($fp);
?>

Список изменений

Версия | Описание
4.2 | добавлен аргумент level .

Смотрите также

  • gzdeflate() - Сжимает строку
  • gzinflate() - Распаковывает строку
  • gzuncompress() - Распаковывает строку
  • gzcompress() - Сжимает строку

gzdeflate
gzeof
Zlib


Проверяет, находится ли текущая позиция в конце gz-файла

gzencode
gzfile
Zlib
PHP Manual

gzeof

(PHP 4, PHP 5)

gzeof — Проверяет, находится ли текущая позиция в конце gz-файла

Описание

int gzeof ( resource $zp )

Тестирует позицию указателя на GZ-файл на EOF (end-of-file).

Список параметров

zp

Указатель на gz-файл, возвращённый, после его успешного открытия, функцией gzopen().

Возвращаемые значения

Возвращает TRUE если позиция в gz-файле находится в EOF или в случае ошибки; иначе возвращает FALSE.

gzencode
gzfile
Zlib


Считывает весь gz-файл в массив

gzeof
gzgetc
Zlib
PHP Manual

gzfile

(PHP 4, PHP 5)

gzfile — Считывает весь gz-файл в массив

Описание

array gzfile ( string $filename [, int $use_include_path ] )

Аналогична readgzfile(), но возвращает файл, разбитый построчно на массив.

Список параметров

filename

Имя файла.

use_include_path

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

Возвращаемые значения

Массив строк файла.

Смотрите также

  • 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()).

Смотрите также

  • 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 в случае ошибки.

Смотрите также

  • gzopen() - Открывает gz-файл
  • gzgetc() - Возвращает символ из gz-файла
  • gzgets()

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 в случае ошибки.

Список изменений

Версия | Описание
3.0.13 и 4.0b3 | добавлен аргумент allowable_tags .

Смотрите также

  • 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 ] )

Распаковывает сжатую строку.

Список параметров

data

Данные, сжатые функцией gzdeflate().

length

Максимальная длина данных для распаковки.

Возвращаемые значения

Распакованные данные или FALSE в случае ошибки.

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

Смотрите также

  • 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 ] )

Открывает файл gzip (.gz) для чтение или записи.

gzopen() также можно использовать для несжатых файлов (т.е. не в формате gzip); в этом случае gzread() вернёт файл напрямую, без какой-либо обработки.

Список параметров

filename

Имя файла.

mode

К в fopen() (rb или wb), но также может включать уровень сжатия (wb9) или стратегию: f для фильтрации данных как в wb6f, h для Huffman only compression как в 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 )

Читает (распаковывая) до length байт из gz-файла по указателю на него. Чтение заканчивается при достижении максимальной длины или конца файла (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 )

Устанавливает индикатор позиции файла, на который ссылается zp, в смещение в байтах потока этого файла. Эквивалентно вызову (на C) gzseek(zp, offset, SEEK_SET).

Если файл открыт для чтения, эта функция симулируется, но будет работать очень медленно. Если файл открыт для записи, разрешён только поиск вперёд; gzseek() при этом сжимает последовательность нулей до новой позиции.

Список параметров

zp

Указатель на gz-файл, возвращённый, после его успешного открытия, функцией gzopen().

offset

Смещение.

Возвращаемые значения

При успешном завершении возвращает 0; иначе -1. Обратите внимание, что если смещение стоит после EOF, это не является ошибкой.

Смотрите также

  • 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 ] )

Распаковывает строку.

Список параметров

data

Данные, сжатые функцией gzcompress().

length

Максимальная длина данных для распаковки.

Возвращаемые значения

Распакованные данные или FALSE в случае ошибки.

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

Смотрите также

  • 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-файла.

Смотрите также

  • 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 ] )

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

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

Список параметров

filename

Имя файла.

use_include_path

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

Возвращаемые значения

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

Смотрите также

  • gzpassthru() - Выводит все оставшиеся данные из указателя gz-файла.
  • gzfile() - Считывает весь gz-файл в массив
  • gzopen() - Открывает gz-файл

gzwrite
zlib_get_coding_type
Zlib


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

readgzfile
Credit Card Processing
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
Credit Card Processing
Zlib


Credit Card Processing

  • MCVE — MCVE (Monetra) Payment
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • MCVE Функции
  • SPPLUS — SPPLUS Payment System
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • 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
Credit Card Processing
Введение
Credit Card Processing


Введение

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.

Замечание: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 5.1.0.

Замечание: Для Windows-платформ это расширение недоступно.

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


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
MCVE


Установка

To enable MCVE (Monetra) Support in PHP, first verify your LibMonetra (formerly libmcve) installation directory. If you are compiling MCVE/Monetra support directly into PHP, you will then need to configure PHP with the --with-mcve option. If you use this option without specifying the path to your libmonetra installation, 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.

If you want to install MCVE/Monetra support as a module, you can do so by using the PECL repository, and issuing the 'pecl install mcve' command if you are running a PEAR version of at least 1.4.0.

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

An MCVE_CONN resource returned by 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

An MCVE_CONN resource returned by 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

An MCVE_CONN resource returned by 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

An MCVE_CONN resource returned by 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

An MCVE_CONN resource returned by 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

An MCVE_CONN resource returned by 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

An MCVE_CONN resource returned by 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

An MCVE_CONN resource returned by 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

An MCVE_CONN resource returned by 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

An MCVE_CONN resource returned by 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

An MCVE_CONN resource returned by 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

An MCVE_CONN resource returned by 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

An MCVE_CONN resource returned by 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

An MCVE_CONN resource returned by 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

An MCVE_CONN resource returned by 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

An MCVE_CONN resource returned by 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

An MCVE_CONN resource returned by 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

An MCVE_CONN resource returned by 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

An MCVE_CONN resource returned by 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

An MCVE_CONN resource returned by 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

An MCVE_CONN resource returned by 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

An MCVE_CONN resource returned by 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

An MCVE_CONN resource returned by 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

An MCVE_CONN resource returned by 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

An MCVE_CONN resource returned by 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

An MCVE_CONN resource returned by 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

An MCVE_CONN resource returned by 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

An MCVE_CONN resource returned by 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

An MCVE_CONN resource returned by 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

An MCVE_CONN resource returned by 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

An MCVE_CONN resource returned by 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

An MCVE_CONN resource returned by 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

An MCVE_CONN resource returned by 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

An MCVE_CONN resource returned by m_initengine().

tf

Возвращаемые значения

m_verifyconnection
SPPLUS
MCVE Функции


SPPLUS Payment System

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • SPPLUS Функции
    • calcul_hmac — Obtain a hmac key (needs 8 arguments)
    • calculhmac — Obtain a hmac key (needs 2 arguments)
    • nthmac — Obtain a nthmac key (needs 2 arguments)
    • signeurlpaiement — Obtain the payment url (needs 2 arguments)
m_verifysslcert
Введение
Credit Card Processing


Введение

This extension gives you the possibility to use the » SPPLUS Payment System of the Caisse d'Epargne (a French Bank).

Замечание: Для Windows-платформ это расширение недоступно.

Refer to the README files in kit_php's source distribution for configuration details.

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


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
SPPLUS


Требования

Замечание: You need at least PHP 4.1.0 and SPPLUS v.3

Замечание: You will need to get the new kit_php for spplus. Feel free to contact the maintainer if you can't get it.

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


Установка

short installation note:

  • You need at least PHP 4.3.0 for the compression to work
  • To install on PHP 4.3.0 and later at the Unix command prompt type pear install pecl/spplus

Требования
Настройка во время выполнения
Установка и настройка


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

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

Типы ресурсов
SPPLUS Функции
SPPLUS


SPPLUS Функции

Содержание

  • calcul_hmac — Obtain a hmac key (needs 8 arguments)
  • calculhmac — Obtain a hmac key (needs 2 arguments)
  • nthmac — Obtain a nthmac key (needs 2 arguments)
  • signeurlpaiement — Obtain the payment url (needs 2 arguments)
Предопределенные константы
calcul_hmac
SPPLUS


Obtain a hmac key (needs 8 arguments)

SPPLUS Функции
calculhmac
SPPLUS Функции
PHP Manual

calcul_hmac

(PECL spplus >= 1.0.0)

calcul_hmac — Obtain a hmac key (needs 8 arguments)

Описание

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 Функции


Obtain a hmac key (needs 2 arguments)

calcul_hmac
nthmac
SPPLUS Функции
PHP Manual

calculhmac

(PECL spplus >= 1.0.0)

calculhmac — Obtain a hmac key (needs 2 arguments)

Описание

string calculhmac ( string $clent , string $data )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Внимание

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

calcul_hmac
nthmac
SPPLUS Функции


Obtain a nthmac key (needs 2 arguments)

calculhmac
signeurlpaiement
SPPLUS Функции
PHP Manual

nthmac

(PECL spplus >= 1.0.0)

nthmac — Obtain a nthmac key (needs 2 arguments)

Описание

string nthmac ( string $clent , string $data )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Внимание

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

calculhmac
signeurlpaiement
SPPLUS Функции


Obtain the payment url (needs 2 arguments)

nthmac
Cryptography Extensions
SPPLUS Функции
PHP Manual

signeurlpaiement

(PECL spplus >= 1.0.0)

signeurlpaiement — Obtain the payment url (needs 2 arguments)

Описание

string nthmac ( string $clent , string $data )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Внимание

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

nthmac
Cryptography Extensions
SPPLUS Функции


Cryptography Extensions

  • Crack — Cracklib
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Crack Функции
  • Hash — HASH Message Digest Framework
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Hash Функции
  • Mcrypt
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Mcrypt ciphers
    • Примеры
    • Mcrypt Функции
  • Mhash
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Mhash Функции
  • OpenSSL
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Key/Certificate parameters
    • Certificate Verification
    • OpenSSL Функции
signeurlpaiement
Crack
Справочник функций


Cracklib

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • Crack Функции
    • crack_check — Performs an obscure check with the given password
    • crack_closedict — Closes an open CrackLib dictionary
    • crack_getlastmessage — Returns the message from the last obscure check
    • crack_opendict — Opens a new CrackLib dictionary
Cryptography Extensions
Введение
Cryptography Extensions


Введение

These functions allow you to use the CrackLib library to test the 'strength' of a password. The 'strength' of a password is tested by that checks length, use of upper and lower case and checked against the specified CrackLib dictionary. CrackLib will also give helpful diagnostic messages that will help 'strengthen' the password.

Замечание: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 5.0.0.

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


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Crack


Требования

More information regarding CrackLib along with the library can be found at » http://sourceforge.net/projects/cracklib.

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


Установка

Это расширение » PECL не поставляется вместе с PHP. Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, могут быть найдены здесь: » http://pecl.php.net/package/crack.

В PHP 4 исходные файлы этого расширения PECL могут быть найдены в директории ext/ внутри исходных файлов PHP или по ссылке PECL выше. In order to use these functions you must compile PHP with Crack support by using the --with-crack[=DIR] configuration option.

Windows users will enable php_crack.dll inside of php.ini in order to use these functions. В PHP 4 этот DLL находится в директории extensions/ внутри директории бинарного дистрибутива PHP для Windows. Вы можете скачать DLL этого расширения PECL со страницы » PHP Downloads или » http://snaps.php.net/.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Crack configuration options
Name | Default | Changeable | Changelog
crack.default_dictionary | NULL | PHP_INI_PERDIR | PHP_INI_SYSTEM in crack <= 0.2. Available since PHP 4.0.5. Removed in PHP 5.0.0.

Для подробного описания констант PHP_INI_*, обратитесь к документации функции ini_set().

Установка
Типы ресурсов
Установка и настройка


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

The CrackLib extension defines a dictionary resource identifier returned by crack_opendict().

Настройка во время выполнения
Предопределенные константы
Установка и настройка


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

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

Типы ресурсов
Примеры
Crack


Примеры

This example shows how to open a CrackLib dictionary, test a given password, retrieve any diagnostic messages, and close the dictionary.

Пример #1 CrackLib example

<?php
// Open CrackLib Dictionary
$dictionary = crack_opendict('/usr/local/lib/pw_dict')
     or die('Unable to open CrackLib dictionary');

// Perform password check
$check = crack_check($dictionary, 'gx9A2s0x');

// Retrieve messages
$diag = crack_getlastmessage();
echo $diag; // 'strong password'

// Close dictionary
crack_closedict($dictionary);
?>

Замечание: If crack_check() returns TRUE, crack_getlastmessage() will return 'strong password'.

Предопределенные константы
Crack Функции
Crack


Crack Функции

Содержание

  • crack_check — Performs an obscure check with the given password
  • crack_closedict — Closes an open CrackLib dictionary
  • crack_getlastmessage — Returns the message from the last obscure check
  • crack_opendict — Opens a new CrackLib dictionary
Примеры
crack_check
Crack


Performs an obscure check with the given password

Crack Функции
crack_closedict
Crack Функции
PHP Manual

crack_check

(PECL crack >= 0.1)

crack_check — Performs an obscure check with the given password

Описание

bool crack_check ( resource $dictionary , string $password )
bool crack_check ( string $password )

Performs an obscure check with the given password on the specified dictionary.

Внимание

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

Список параметров

dictionary

The crack lib dictionary. If not specified, the last opened dictionary is used.

password

The tested password.

Возвращаемые значения

Returns TRUE if password is strong, or FALSE otherwise.

Crack Функции
crack_closedict
Crack Функции


Closes an open CrackLib dictionary

crack_check
crack_getlastmessage
Crack Функции
PHP Manual

crack_closedict

(PECL crack >= 0.1)

crack_closedict — Closes an open CrackLib dictionary

Описание

bool crack_closedict ([ resource $dictionary ] )

crack_closedict() closes the specified dictionary identifier.

Внимание

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

Список параметров

dictionary

The dictionary to close. If not specified, the current directory is closed.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • crack_opendict() - Opens a new CrackLib dictionary

crack_check
crack_getlastmessage
Crack Функции


Returns the message from the last obscure check

crack_closedict
crack_opendict
Crack Функции
PHP Manual

crack_getlastmessage

(PECL crack >= 0.1)

crack_getlastmessage — Returns the message from the last obscure check

Описание

string crack_getlastmessage ( void )

crack_getlastmessage() returns the message from the last obscure check.

Внимание

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

Возвращаемые значения

The message from the last obscure check or FALSE if there was no obscure checks made so far.

The returned message is one of:

  • 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() - Performs an obscure check with the given password

crack_closedict
crack_opendict
Crack Функции


Opens a new CrackLib dictionary

crack_getlastmessage
Hash
Crack Функции
PHP Manual

crack_opendict

(PECL crack >= 0.1)

crack_opendict — Opens a new CrackLib dictionary

Описание

resource crack_opendict ( string $dictionary )

crack_opendict() opens the specified CrackLib dictionary for use with crack_check().

Внимание

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

Замечание: Only one dictionary may be open at a time.

Список параметров

dictionary

The path to the Cracklib dictionary.

Возвращаемые значения

Returns a dictionary resource identifier on success, or FALSE on failure.

Смотрите также

  • crack_check() - Performs an obscure check with the given password
  • crack_closedict() - Closes an open CrackLib dictionary

crack_getlastmessage
Hash
Crack Функции


HASH Message Digest Framework

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Hash Функции
    • hash_algos — Return a list of registered hashing algorithms
    • hash_copy — Copy hashing context
    • hash_file — Generate a hash value using the contents of a given file
    • hash_final — Finalize an incremental hash and return resulting digest
    • hash_hmac_file — Generate a keyed hash value using the HMAC method and the contents of a given file
    • hash_hmac — Generate a keyed hash value using the HMAC method
    • hash_init — Initialize an incremental hashing context
    • hash_update_file — Pump data into an active hashing context from a file
    • hash_update_stream — Pump data into an active hashing context from an open stream
    • hash_update — Pump data into an active hashing context
    • hash — Generate a hash value (message digest)
crack_opendict
Введение
Cryptography Extensions


Введение

Message Digest (hash) engine. Allows direct or incremental processing of arbitrary length messages using a variety of hashing algorithms.

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


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Hash


Требования

The Hash extension requires no external libraries and is enabled by default as of PHP 5.1.2. It may be explicitly disabled by using the --disable-hash switch to configure. Earlier versions of PHP may incorporate the Hash extension by installing the » PECL module.

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


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

This extension defines a Hashing Context resource returned by hash_init().

Настройка во время выполнения
Предопределенные константы
Установка и настройка


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

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

HASH_HMAC (integer)
Optional flag for hash_init(). Indicates that the HMAC digest-keying algorithm should be applied to the current hashing context.
Типы ресурсов
Hash Функции
Hash


Hash Функции

Содержание

  • hash_algos — Return a list of registered hashing algorithms
  • hash_copy — Copy hashing context
  • hash_file — Generate a hash value using the contents of a given file
  • hash_final — Finalize an incremental hash and return resulting digest
  • hash_hmac_file — Generate a keyed hash value using the HMAC method and the contents of a given file
  • hash_hmac — Generate a keyed hash value using the HMAC method
  • hash_init — Initialize an incremental hashing context
  • hash_update_file — Pump data into an active hashing context from a file
  • hash_update_stream — Pump data into an active hashing context from an open stream
  • hash_update — Pump data into an active hashing context
  • hash — Generate a hash value (message digest)
Предопределенные константы
hash_algos
Hash


Return a list of registered hashing algorithms

Hash Функции
hash_copy
Hash Функции
PHP Manual

hash_algos

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash_algos — Return a list of registered hashing algorithms

Описание

array hash_algos ( void )

Возвращаемые значения

Returns a numerically indexed array containing the list of supported hashing algorithms.

Примеры

Пример #1 hash_algos() example

As of PHP 5.1.2, hash_algos() will return the following list of algorithm names.

<?php
print_r(hash_algos());
?>

Результат выполнения данного примера:

Array
(
    [0] => md4
    [1] => md5
    [2] => sha1
    [3] => sha256
    [4] => sha384
    [5] => sha512
    [6] => ripemd128
    [7] => ripemd160
    [8] => whirlpool
    [9] => tiger128,3
    [10] => tiger160,3
    [11] => tiger192,3
    [12] => tiger128,4
    [13] => tiger160,4
    [14] => tiger192,4
    [15] => snefru
    [16] => gost
    [17] => adler32
    [18] => crc32
    [19] => crc32b
    [20] => haval128,3
    [21] => haval160,3
    [22] => haval192,3
    [23] => haval224,3
    [24] => haval256,3
    [25] => haval128,4
    [26] => haval160,4
    [27] => haval192,4
    [28] => haval224,4
    [29] => haval256,4
    [30] => haval128,5
    [31] => haval160,5
    [32] => haval192,5
    [33] => haval224,5
    [34] => haval256,5
)

Hash Функции
hash_copy
Hash Функции


Copy hashing context

hash_algos
hash_file
Hash Функции
PHP Manual

hash_copy

(PHP 5 >= 5.3.0)

hash_copy — Copy hashing context

Описание

resource hash_copy ( resource $context )

Список параметров

context

Hashing context returned by hash_init().

Возвращаемые значения

Returns a copy of Hashing Context resource.

Примеры

Пример #1 hash_copy() example

<?php
$context = hash_init("md5");
hash_update($context, "data");

/* copy context to be able to continue using it */
$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 Функции


Generate a hash value using the contents of a given file

hash_copy
hash_final
Hash Функции
PHP Manual

hash_file

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash_file — Generate a hash value using the contents of a given file

Описание

string hash_file ( string $algo , string $filename [, bool $raw_output= false ] )

Список параметров

algo

Name of selected hashing algorithm (i.e. "md5", "sha256", "haval160,4", etc..)

filename

URL describing location of file to be hashed; Supports fopen wrappers.

raw_output

When set to TRUE, outputs raw binary data. Default value (FALSE) outputs lowercase hexits.

Возвращаемые значения

Returns a string containing the calculated message digest as lowercase hexits unless raw_output is set to true in which case the raw binary representation of the message digest is returned.

Примеры

Пример #1 Using hash_file()

<?php
/* Create a file to calculate hash of */
file_put_contents('example.txt', 'The quick brown fox jumped over the lazy dog.');

echo hash_file('md5', 'example.txt');
?>

Результат выполнения данного примера:

5c6ffbdd40d9556b73a21e63c3e0e904

Смотрите также

  • hash() - Generate a hash value (message digest)
  • hash_hmac_file() - Generate a keyed hash value using the HMAC method and the contents of a given file
  • hash_update_file() - Pump data into an active hashing context from a file
  • md5_file() - Возвращает MD5 хэш файла
  • sha1_file() - Возвращает SHA1 хэш файла

hash_copy
hash_final
Hash Функции


Finalize an incremental hash and return resulting digest

hash_file
hash_hmac_file
Hash Функции
PHP Manual

hash_final

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash_final — Finalize an incremental hash and return resulting digest

Описание

string hash_final ( resource $context [, bool $raw_output= false ] )

Список параметров

context

Hashing context returned by hash_init().

raw_output

When set to TRUE, outputs raw binary data. Default value (FALSE) outputs lowercase hexits.

Возвращаемые значения

Returns a string containing the calculated message digest as lowercase hexits unless raw_output is set to true in which case the raw binary representation of the message digest is returned.

Примеры

Пример #1 hash_final() example

<?php
$ctx = hash_init('sha1');
hash_update($ctx, 'The quick brown fox jumped over the lazy dog.');
echo hash_final($ctx);
?>

Результат выполнения данного примера:

c0854fb9fb03c41cce3802cb0d220529e6eef94e

Смотрите также

  • hash_init() - Initialize an incremental hashing context
  • hash_update() - Pump data into an active hashing context
  • hash_update_stream() - Pump data into an active hashing context from an open stream
  • hash_update_file() - Pump data into an active hashing context from a file

hash_file
hash_hmac_file
Hash Функции


Generate a keyed hash value using the HMAC method and the contents of a given file

hash_final
hash_hmac
Hash Функции
PHP Manual

hash_hmac_file

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash_hmac_file — Generate a keyed hash value using the HMAC method and the contents of a given file

Описание

string hash_hmac_file ( string $algo , string $filename , string $key [, bool $raw_output= false ] )

Список параметров

algo

Name of selected hashing algorithm (i.e. "md5", "sha256", "haval160,4", etc..)

filename

URL describing location of file to be hashed; Supports fopen wrappers.

key

Shared secret key used for generating the HMAC variant of the message digest.

raw_output

When set to TRUE, outputs raw binary data. Default value (FALSE) outputs lowercase hexits.

Возвращаемые значения

Returns a string containing the calculated message digest as lowercase hexits unless raw_output is set to true in which case the raw binary representation of the message digest is returned.

Примеры

Пример #1 hash_hmac_file() example

<?php
/* Create a file to calculate hash of */
file_put_contents('example.txt', 'The quick brown fox jumped over the lazy dog.');

echo hash_hmac_file('md5', 'example.txt', 'secret');
?>

Результат выполнения данного примера:

7eb2b5c37443418fc77c136dd20e859c

Смотрите также

  • hash_hmac() - Generate a keyed hash value using the HMAC method
  • hash_file() - Generate a hash value using the contents of a given file

hash_final
hash_hmac
Hash Функции


Generate a keyed hash value using the HMAC method

hash_hmac_file
hash_init
Hash Функции
PHP Manual

hash_hmac

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash_hmac — Generate a keyed hash value using the HMAC method

Описание

string hash_hmac ( string $algo , string $data , string $key [, bool $raw_output= false ] )

Список параметров

algo

Name of selected hashing algorithm (i.e. "md5", "sha256", "haval160,4", etc..)

data

Message to be hashed.

key

Shared secret key used for generating the HMAC variant of the message digest.

raw_output

When set to TRUE, outputs raw binary data. Default value (FALSE) outputs lowercase hexits.

Возвращаемые значения

Returns a string containing the calculated message digest as lowercase hexits unless raw_output is set to true in which case the raw binary representation of the message digest is returned.

Примеры

Пример #1 hash_hmac() example

<?php
echo hash_hmac('ripemd160', 'The quick brown fox jumped over the lazy dog.', 'secret');
?>

Результат выполнения данного примера:

b8e7ae12510bdfb1812e463a7f086122cf37e4f7

Смотрите также

  • hash() - Generate a hash value (message digest)
  • hash_init() - Initialize an incremental hashing context
  • hash_hmac_file() - Generate a keyed hash value using the HMAC method and the contents of a given file

hash_hmac_file
hash_init
Hash Функции


Initialize an incremental hashing context

hash_hmac
hash_update_file
Hash Функции
PHP Manual

hash_init

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash_init — Initialize an incremental hashing context

Описание

resource hash_init ( string $algo [, int $options= 0 [, string $key= NULL ]] )

Список параметров

algo

Name of selected hashing algorithm (i.e. "md5", "sha256", "haval160,4", etc..)

options

Optional settings for hash generation, currently supports only one option: HASH_HMAC. When specified, the key must be specified.

key

When HASH_HMAC is specified for options , a shared secret key to be used with the HMAC hashing method must be supplied in this parameter.

Возвращаемые значения

Returns a Hashing Context resource for use with hash_update(), hash_update_stream(), hash_update_file(), and hash_final().

Примеры

Пример #1 Incremental hashing example

<?php
$ctx = hash_init('md5');
hash_update($ctx, 'The quick brown fox ');
hash_update($ctx, 'jumped over the lazy dog.');
echo hash_final($ctx);
?>

Результат выполнения данного примера:

5c6ffbdd40d9556b73a21e63c3e0e904

Смотрите также

  • hash() - Generate a hash value (message digest)
  • hash_file() - Generate a hash value using the contents of a given file
  • hash_hmac() - Generate a keyed hash value using the HMAC method
  • hash_hmac_file() - Generate a keyed hash value using the HMAC method and the contents of a given file

hash_hmac
hash_update_file
Hash Функции


Pump data into an active hashing context from a file

hash_init
hash_update_stream
Hash Функции
PHP Manual

hash_update_file

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash_update_file — Pump data into an active hashing context from a file

Описание

bool hash_update_file ( resource $context , string $filename [, resource $context= NULL ] )

Список параметров

context

Hashing context returned by hash_init().

filename

URL describing location of file to be hashed; Supports fopen wrappers.

context

Stream context as returned by stream_context_create().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • hash_init() - Initialize an incremental hashing context
  • hash_update() - Pump data into an active hashing context
  • hash_update_stream() - Pump data into an active hashing context from an open stream
  • hash_final() - Finalize an incremental hash and return resulting digest
  • hash() - Generate a hash value (message digest)
  • hash_file() - Generate a hash value using the contents of a given file

hash_init
hash_update_stream
Hash Функции


Pump data into an active hashing context from an open stream

hash_update_file
hash_update
Hash Функции
PHP Manual

hash_update_stream

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash_update_stream — Pump data into an active hashing context from an open stream

Описание

int hash_update_stream ( resource $context , resource $handle [, int $length= -1 ] )

Список параметров

context

Hashing context returned by hash_init().

handle

Open file handle as returned by any stream creation function.

length

Maximum number of characters to copy from handle into the hashing context.

Возвращаемые значения

Actual number of bytes added to the hashing context from handle .

Примеры

Пример #1 hash_update_stream() example

<?php
$fp = tmpfile();
fwrite($fp, 'The quick brown fox jumped over the lazy dog.');
rewind($fp);

$ctx = hash_init('md5');
hash_update_stream($ctx, $fp);
echo hash_final($ctx);
?>

Результат выполнения данного примера:

5c6ffbdd40d9556b73a21e63c3e0e904

Смотрите также

  • hash_init() - Initialize an incremental hashing context
  • hash_update() - Pump data into an active hashing context
  • hash_final() - Finalize an incremental hash and return resulting digest
  • hash() - Generate a hash value (message digest)
  • hash_file() - Generate a hash value using the contents of a given file

hash_update_file
hash_update
Hash Функции


Pump data into an active hashing context

hash_update_stream
hash
Hash Функции
PHP Manual

hash_update

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash_update — Pump data into an active hashing context

Описание

bool hash_update ( resource $context , string $data )

Список параметров

context

Hashing context returned by hash_init().

data

Message to be included in the hash digest.

Возвращаемые значения

Returns TRUE.

Смотрите также

  • hash_init() - Initialize an incremental hashing context
  • hash_update_file() - Pump data into an active hashing context from a file
  • hash_update_stream() - Pump data into an active hashing context from an open stream
  • hash_final() - Finalize an incremental hash and return resulting digest

hash_update_stream
hash
Hash Функции


Generate a hash value (message digest)

hash_update
Mcrypt
Hash Функции
PHP Manual

hash

(PHP 5 >= 5.1.2, PECL hash >= 1.1)

hash — Generate a hash value (message digest)

Описание

string hash ( string $algo , string $data [, bool $raw_output= false ] )

Список параметров

algo

Name of selected hashing algorithm (i.e. "md5", "sha256", "haval160,4", etc..)

data

Message to be hashed.

raw_output

When set to TRUE, outputs raw binary data. Default value (FALSE) outputs lowercase hexits.

Возвращаемые значения

Returns a string containing the calculated message digest as lowercase hexits unless raw_output is set to true in which case the raw binary representation of the message digest is returned.

Примеры

Пример #1 A hash() example

<?php
echo hash('ripemd160', 'The quick brown fox jumped over the lazy dog.');
?>

Результат выполнения данного примера:

ec457d0a974c48d5685a7efa03d137dc8bbde7e3

Смотрите также

  • hash_file() - Generate a hash value using the contents of a given file
  • hash_hmac() - Generate a keyed hash value using the HMAC method
  • hash_init() - Initialize an incremental hashing context
  • md5() - Возвращает MD5 хэш строки
  • sha1() - Возвращает SHA1 хэш строки

hash_update
Mcrypt
Hash Функции


Mcrypt

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Mcrypt ciphers
  • Примеры
  • Mcrypt Функции
    • mcrypt_cbc — Encrypt/decrypt data in CBC mode
    • mcrypt_cfb — Encrypt/decrypt data in CFB mode
    • mcrypt_create_iv — Create an initialization vector (IV) from a random source
    • mcrypt_decrypt — Decrypts crypttext with given parameters
    • mcrypt_ecb — Deprecated: Encrypt/decrypt 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 — Get the block size of the specified cipher
    • mcrypt_get_cipher_name — Get 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 — Get the key size of the specified cipher
    • mcrypt_list_algorithms — Get an array of all supported ciphers
    • mcrypt_list_modes — Get an array of all supported modes
    • mcrypt_module_close — Close 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 — Encrypt/decrypt data in OFB mode
    • mdecrypt_generic — Decrypt data
hash
Введение
Cryptography Extensions


Введение

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".

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


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Mcrypt


Требования

These functions work using » mcrypt. To use it, download libmcrypt-x.x.tar.gz from » http://mcrypt.sourceforge.net/ and follow the included installation instructions. Windows users will find all the needed compiled mcrypt binaries at » http://files.edin.dk/php/win32/mcrypt/.

As of PHP 5.0.0 you will need libmcrypt Version 2.5.6 or greater.

If you linked against libmcrypt 2.4.x or higher, the following additional block algorithms are supported: CAST, LOKI97, RIJNDAEL, SAFERPLUS, SERPENT and the following stream ciphers: ENIGMA (crypt), PANAMA, RC4 and WAKE. With libmcrypt 2.4.x or higher another cipher mode is also available; 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 configuration options
Name | Default | Changeable | Changelog
mcrypt.algorithms_dir | NULL | PHP_INI_ALL | Available since PHP 4.0.2.
mcrypt.modes_dir | NULL | PHP_INI_ALL | Available since PHP 4.0.2.

Для подробного описания констант PHP_INI_*, обратитесь к документации функции ini_set().

Установка
Типы ресурсов
Установка и настройка


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

mcrypt_module_open() returns an encryption descriptor.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


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

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если 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 Функции

Содержание

  • mcrypt_cbc — Encrypt/decrypt data in CBC mode
  • mcrypt_cfb — Encrypt/decrypt data in CFB mode
  • mcrypt_create_iv — Create an initialization vector (IV) from a random source
  • mcrypt_decrypt — Decrypts crypttext with given parameters
  • mcrypt_ecb — Deprecated: Encrypt/decrypt 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 — Get the block size of the specified cipher
  • mcrypt_get_cipher_name — Get 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 — Get the key size of the specified cipher
  • mcrypt_list_algorithms — Get an array of all supported ciphers
  • mcrypt_list_modes — Get an array of all supported modes
  • mcrypt_module_close — Close 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 — Encrypt/decrypt data in OFB mode
  • mdecrypt_generic — Decrypt data
Примеры
mcrypt_cbc
Mcrypt


Encrypt/decrypt data in CBC mode

Mcrypt Функции
mcrypt_cfb
Mcrypt Функции
PHP Manual

mcrypt_cbc

(PHP 4, PHP 5)

mcrypt_cbc — Encrypt/decrypt 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 Функции


Encrypt/decrypt data in CFB mode

mcrypt_cbc
mcrypt_create_iv
Mcrypt Функции
PHP Manual

mcrypt_cfb

(PHP 4, PHP 5)

mcrypt_cfb — Encrypt/decrypt 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 Функции


Create 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 — Create an initialization vector (IV) from a random source

Описание

string mcrypt_create_iv ( int $size [, int $source= MCRYPT_DEV_RANDOM ] )

Create 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

Determines the size of the IV, parameter source (defaults to random value) specifies the source of the IV.

source

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). MCRYPT_RAND is the only one supported on Windows because Windows (of course) doesn't have /dev/random or /dev/urandom.

Замечание: When using MCRYPT_RAND, remember to call srand() before mcrypt_create_iv() to initialize the random number generator; it is not seeded automatically like rand() is.

Возвращаемые значения

Returns the initialization vector, or FALSE on error.

Примеры

Пример #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

cipher is one of the MCRYPT_ciphername constants of the name of the algorithm as string.

key

key is the key with which the data is encrypted. If it's smaller that the required keysize, it is padded with '\0'.

data

data is 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

mode is one of the MCRYPT_MODE_modename constants of one of "ecb", "cbc", "cfb", "ofb", "nofb" or "stream".

iv

The iv parameter is used for the initialisation 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 bytes set to '\0'.

Возвращаемые значения

Returns the decrypted data as a string.

mcrypt_create_iv
mcrypt_ecb
Mcrypt Функции


Deprecated: Encrypt/decrypt data in ECB mode

mcrypt_decrypt
mcrypt_enc_get_algorithms_name
Mcrypt Функции
PHP Manual

mcrypt_ecb

(PHP 4, PHP 5)

mcrypt_ecb — Deprecated: Encrypt/decrypt 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 in 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));
?>

This will print:

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 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 of the name of the algorithm as string.

key

The key with which the data will be encrypted. If it's smaller that 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 that the size of the data that is given by data .

mode

One of the MCRYPT_MODE_modename constants of one of "ecb", "cbc", "cfb", "ofb", "nofb" or "stream".

iv

Used for the initialisation 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 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 then 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() - Decrypt 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 Функции


Get 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 — Get 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 of 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() - Get 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 Функции


Get 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 — Get 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.

Примеры

Пример #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 of the name of the algorithm as string.

mode

mode is one of the MCRYPT_MODE_modename constants or one of "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 Initialisation 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() - Get 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() - Create an initialization vector (IV) from a random source

mcrypt_get_cipher_name
mcrypt_get_key_size
Mcrypt Функции


Get 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 — Get 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).

This example shows how to use this function when linked against libmcrypt 2.4.x and 2.5.x. 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');
?>

Prints:
24

See also: mcrypt_get_block_size(),
mcrypt_enc_get_key_size() and
mcrypt_encrypt().

mcrypt_get_iv_size
mcrypt_list_algorithms
Mcrypt Функции


Get 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 — Get 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 specifies, 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 above example will produce a list with all supported algorithms in the "/usr/local/lib/libmcrypt" directory.

mcrypt_get_key_size
mcrypt_list_modes
Mcrypt Функции


Get 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 — Get an array of all supported modes

Описание

array mcrypt_list_modes ([ string $lib_dir= ini_get("mcrypt.algorithms_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 specifies, 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 above example will produce a list with all supported algorithms in the default mode directory. If it is not set with the ini directive mcrypt.modes_dir, the default directory of mcrypt is used (which is /usr/local/lib/libmcrypt).

mcrypt_list_algorithms
mcrypt_module_close
Mcrypt Функции


Close 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 — Close 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. The optional lib_dir parameter can contain the location where the mode module is on the system.

See also mcrypt_enc_get_supported_key_sizes() which is used on open encryption modules.

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). The optional lib_dir parameter can contain the location where the mode module is on the system.

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 is it is a stream algorithm. The optional lib_dir parameter can contain the location where the algorithm module is on the system.

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). The optional lib_dir parameter can contain the location where the mode module is on the system.

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(). Normally it returns an encryption descriptor, or FALSE on error.

The algorithm_directory and mode_directory are used to locate the encryption modules. When you supply a directory name, it is used. When you set one of these to the empty string (""), the value set by the mcrypt.algorithms_dir or mcrypt.modes_dir ini-directive is used. When these are not set, the default directories that are used are the ones that were compiled in into libmcrypt (usually /usr/local/lib/libmcrypt).

Примеры

Пример #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";
?>

See also
mcrypt_module_close(),
mcrypt_generic(),
mdecrypt_generic(),
mcrypt_generic_init(), and
mcrypt_generic_deinit().

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. The optional lib_dir parameter can contain the location of where the algorithm module is on the system.

The function returns TRUE if the self test succeeds, or FALSE when if 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 Функции


Encrypt/decrypt data in OFB mode

mcrypt_module_self_test
mdecrypt_generic
Mcrypt Функции
PHP Manual

mcrypt_ofb

(PHP 4, PHP 5)

mcrypt_ofb — Encrypt/decrypt 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 Функции


Decrypt data

mcrypt_ofb
Mhash
Mcrypt Функции
PHP Manual

mdecrypt_generic

(PHP 4 >= 4.0.2, PHP 5)

mdecrypt_generic — Decrypt 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 then the unencrypted string, due to the padding of the 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 above example 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.

See also mcrypt_generic(),
mcrypt_generic_init(), and
mcrypt_generic_deinit().

mcrypt_ofb
Mhash
Mcrypt Функции


Mhash

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • Mhash Функции
    • mhash_count — Get the highest available hash id
    • mhash_get_block_size — Get the block size of the specified hash
    • mhash_get_hash_name — Get the name of the specified hash
    • mhash_keygen_s2k — Generates a key
    • mhash — Compute hash
mdecrypt_generic
Введение
Cryptography Extensions


Введение

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 documentation of mhash. 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 install directory.

Требования
Настройка во время выполнения
Установка и настройка


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

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

Here is a list of hashes which are currently supported by mhash. If a hash is not listed here, but is listed by mhash 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_HAVAL256
  • MHASH_MD4
  • MHASH_MD5
  • MHASH_RIPEMD160
  • MHASH_SHA1
  • MHASH_SHA256
  • MHASH_TIGER
  • MHASH_TIGER128
  • MHASH_TIGER160

Типы ресурсов
Примеры
Mhash


Примеры

Пример #1 Compute 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";
?>

This will produce:

The hash is d03cb659cbf9192dcd066272249f8412
The hmac is 750c783e6ab0b503eaa86e310a5db738

Предопределенные константы
Mhash Функции
Mhash


Mhash Функции

Содержание

  • mhash_count — Get the highest available hash id
  • mhash_get_block_size — Get the block size of the specified hash
  • mhash_get_hash_name — Get the name of the specified hash
  • mhash_keygen_s2k — Generates a key
  • mhash — Compute hash
Примеры
mhash_count
Mhash


Get the highest available hash id

Mhash Функции
mhash_get_block_size
Mhash Функции
PHP Manual

mhash_count

(PHP 4, PHP 5)

mhash_count — Get 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 Функции


Get 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 — Get 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_XXX 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 Функции


Get 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 — Get 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_XXX 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 hash given a 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_XXX constants.

password

User supplied password.

salt

Must be different and random enough for every key you generate in order to create different keys. That salt must be known when you check the keys, thus 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 Функции


Compute hash

mhash_keygen_s2k
OpenSSL
Mhash Функции
PHP Manual

mhash

(PHP 4, PHP 5)

mhash — Compute 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_XXX 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 errors.

mhash_keygen_s2k
OpenSSL
Mhash Функции


OpenSSL

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
    • Purpose checking flags
    • Padding flags
    • Key types
    • PKCS7 Flags/Constants
    • Signature Algorithms
    • Ciphers
    • Version constants
  • Key/Certificate parameters
  • Certificate Verification
  • OpenSSL Функции
    • 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_error_string — Return openSSL error message
    • openssl_free_key — Free key resource
    • 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_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
Введение
Cryptography Extensions


Введение

This module uses the functions of » OpenSSL for generation and verification of signatures and for sealing (encrypting) and opening (decrypting) data. OpenSSL offers many features that this module currently doesn't support. Some of these may be added in the future.

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


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
OpenSSL


Требования

In order to use the OpenSSL functions you need to install the » OpenSSL package. PHP between versions 4.0.5 and 4.3.1 will work with OpenSSL >= 0.9.5. Other versions (PHP <=4.0.4 and >= 4.3.2) require OpenSSL >= 0.9.6.

Внимание

You are strongly encouraged to use the most recent OpenSSL version, otherwise your web server could be vulnerable to attack.

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


Установка

To use PHP's OpenSSL support you must also compile PHP --with-openssl[=DIR].

Замечание: Note to Win32 Users
In order for this extension to work, there are DLL files that must be available to the Windows system PATH. For information on how to do this, see the FAQ entitled "How do I add my PHP directory to the PATH on Windows". Although copying DLL files from the PHP folder into the Windows system directory also works (because the system directory is by default in the system's PATH), this is not recommended. This extension requires the following files to be in the 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.

Требования
Настройка во время выполнения
Установка и настройка


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

Содержание

  • Purpose checking flags
  • Padding flags
  • Key types
  • PKCS7 Flags/Constants
  • Signature Algorithms
  • Ciphers
  • Version constants

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

Типы ресурсов
Purpose checking flags
OpenSSL


Purpose checking flags

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)
Предопределенные константы
Padding flags
Предопределенные константы


Padding flags

OPENSSL_PKCS1_PADDING (integer)
OPENSSL_SSLV23_PADDING (integer)
OPENSSL_NO_PADDING (integer)
OPENSSL_PKCS1_OAEP_PADDING (integer)
Purpose checking flags
Key types
Предопределенные константы


Key types

OPENSSL_KEYTYPE_RSA (integer)
OPENSSL_KEYTYPE_DSA (integer)
OPENSSL_KEYTYPE_DH (integer)
Padding flags
PKCS7 Flags/Constants
Предопределенные константы


PKCS7 Flags/Constants

The S/MIME functions make use of flags which are specified using a bitfield which can include one or more of the following values:

PKCS7 CONSTANTS
Constant | Description
PKCS7_TEXT | Adds text/plain content type headers to encrypted/signed message. If decrypting or verifying, it strips those headers from the output - if the decrypted or verified message is not of MIME type text/plain then an error will occur.
PKCS7_BINARY | Normally the input message is converted to "canonical" format which is effectively using CR and LF as end of line: as required by the S/MIME specification. When this options is present, no translation occurs. This is useful when handling binary data which may not be in MIME format.
PKCS7_NOINTERN | When verifying a message, certificates (if any) included in the message are normally searched for the signing certificate. With this option only the certificates specified in the extracerts parameter of openssl_pkcs7_verify() are used. The supplied certificates can still be used as untrusted CAs however.
PKCS7_NOVERIFY | Do not verify the signers certificate of a signed message.
PKCS7_NOCHAIN | Do not chain verification of signers certificates: that is don't use the certificates in the signed message as untrusted CAs.
PKCS7_NOCERTS | When signing a message the signer's certificate is normally included - with this option it is excluded. This will reduce the size of the signed message but the verifier must have a copy of the signers certificate available locally (passed using the extracerts to openssl_pkcs7_verify() for example).
PKCS7_NOATTR | Normally when a message is signed, a set of attributes are included which include the signing time and the supported symmetric algorithms. With this option they are not included.
PKCS7_DETACHED | When signing a message, use cleartext signing with the MIME type "multipart/signed". This is the default if you do not specify any flags to openssl_pkcs7_sign(). If you turn this option off, the message will be signed using opaque signing, which is more resistant to translation by mail relays but cannot be read by mail agents that do not support S/MIME.
PKCS7_NOSIGS | Don't try and verify the signatures on a message

Замечание: These constants were added in 4.0.6.

Key types
Signature Algorithms
Предопределенные константы


Signature Algorithms

OPENSSL_ALGO_DSS1 (integer)
OPENSSL_ALGO_SHA1 (integer)
Used as default algorithm by openssl_sign() and openssl_verify().
OPENSSL_ALGO_MD5 (integer)
OPENSSL_ALGO_MD4 (integer)
OPENSSL_ALGO_MD2 (integer)

Замечание: These constants were added in 5.0.0.

PKCS7 Flags/Constants
Ciphers
Предопределенные константы


Ciphers

OPENSSL_CIPHER_RC2_40 (integer)
OPENSSL_CIPHER_RC2_128 (integer)
OPENSSL_CIPHER_RC2_64 (integer)
OPENSSL_CIPHER_DES (integer)
OPENSSL_CIPHER_3DES (integer)

Замечание: These constants were added in 4.3.0.

Signature Algorithms
Version constants
Предопределенные константы


Version constants

OPENSSL_VERSION_TEXT (string)
OPENSSL_VERSION_NUMBER (integer)

Замечание: These constants were added in 5.2.0.

Ciphers
Key/Certificate parameters
Предопределенные константы


Key/Certificate parameters

Quite a few of the openssl functions require a key or a certificate parameter. PHP 4.0.5 and earlier have to use a key or certificate resource returned by one of the openssl_get_xxx() functions. Later versions may use one of the following methods:

  • Certificates

    1. An X.509 resource returned from openssl_x509_read()
    2. A string having the format file://path/to/cert.pem; the named file must contain a PEM encoded certificate
    3. A string containing the content of a certificate, PEM encoded

  • Public/Private Keys

    1. A key resource returned from openssl_get_publickey() or openssl_get_privatekey()
    2. For public keys only: an X.509 resource
    3. 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)
    4. A string containing the content of a certificate/key, PEM encoded
    5. For private keys, you may also use the syntax array($key, $passphrase) where $key represents a key specified using the file:// or textual content notation above, and $passphrase represents a string containing the passphrase for that private key

Version constants
Certificate Verification
OpenSSL


Certificate Verification

When calling a function that will verify a signature/certificate, the cainfo parameter is an array containing file and directory names that specify the locations of trusted CA files. If a directory is specified, then it must be a correctly formed hashed directory as the openssl command would use.

Key/Certificate parameters
OpenSSL Функции
OpenSSL


OpenSSL Функции

Содержание

  • 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_error_string — Return openSSL error message
  • openssl_free_key — Free key resource
  • 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_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
Certificate Verification
openssl_csr_export_to_file
OpenSSL


Exports a CSR to a file

OpenSSL Функции
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

The optional parameter notext affects the verbosity of the output; if it is FALSE, then additional human-readable information is included in the output. The default value of notext is 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 Функции
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

The optional parameter notext affects the verbosity of the output; if it is FALSE, then additional human-readable information is included in the output. The default value of notext is 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.

Замечание: You need to have a valid openssl.cnf installed for this function to operate correctly. See the notes under the installation section for more information.

Список параметров

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?

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_error_string
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.

Замечание: You need to have a valid openssl.cnf installed for this function to operate correctly. See the notes under the installation section for more information.

Список параметров

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");

$userscert = 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_error_string
OpenSSL Функции


Return openSSL error message

openssl_csr_sign
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 stacked, so this function should be called multiple times to collect all of the information.

Возвращаемые значения

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_csr_sign
openssl_free_key
OpenSSL Функции


Free key resource

openssl_error_string
openssl_get_privatekey
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_privatekey
OpenSSL Функции


Псевдоним openssl_pkey_get_private

openssl_free_key
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_free_key
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 )

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

Cipher can be selected with cipherid .

Возвращаемые значения

Возвращает 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 - if not specified, it defaults to PKCS7_DETACHED.

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.

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 .

Замечание: You need to have a valid openssl.cnf installed for this function to operate correctly. See the notes under the installation section for more information.

Список параметров

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).

Замечание: You need to have a valid openssl.cnf installed for this function to operate correctly. See the notes under the installation section for more information.

Список параметров

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).

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().

Замечание: You need to have a valid openssl.cnf installed for this function to operate correctly. See the notes under the installation section for more information.

Список параметров

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 defaults to OPENSSL_PKCS1_PADDING, but can also be one of 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 defaults to OPENSSL_PKCS1_PADDING, but can also be 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 defaults to OPENSSL_PKCS1_PADDING, but can also be 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_seal
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 defaults to OPENSSL_PKCS1_PADDING, but can also be one of 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_seal
OpenSSL Функции


Seal (encrypt) data

openssl_public_encrypt
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 )

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_public_encrypt
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

Defaults to OPENSSL_ALGO_SHA1. 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_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

Defaults to OPENSSL_ALGO_SHA1. 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.0.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 [, 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. It defaults to an empty array.

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 ] )

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

The optional parameter notext affects the verbosity of the output; if it is FALSE, then additional human-readable information is included in the output. The default value of notext is 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 ] )

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

The optional parameter notext affects the verbosity of the output; if it is FALSE, then additional human-readable information is included in the output. The default value of notext is 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
Database Extensions
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, or FALSE on failure.

openssl_x509_parse
Database Extensions
OpenSSL Функции


Database Extensions

  • Abstraction Layers
    • DBA — Database (dbm-style) Abstraction Layer
    • dbx
    • ODBC — ODBC (Unified)
    • PDO — PHP Data Objects
  • Vendor Specific Database Extensions
    • dBase
    • DB++
    • FrontBase
    • filePro
    • Firebird/InterBase
    • Informix
    • IBM DB2 — IBM DB2, Cloudscape and Apache Derby
    • Ingres — Ingres DBMS, EDBC, and Enterprise Access Gateways
    • MaxDB
    • Mongo
    • mSQL
    • Mssql — Microsoft SQL Server
    • MySQL
    • mysqli — Улучшенный модуль MySQL (Improved)
    • Oracle/OCI8
    • Ovrimos SQL
    • Paradox — Paradox File Access
    • PostgreSQL
    • SQLite
    • SQLite3
    • Sybase
openssl_x509_read
Abstraction Layers
Справочник функций


Abstraction Layers

  • 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
Database Extensions
DBA
Database Extensions


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
Abstraction Layers
Введение
Abstraction Layers


Введение

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 » Sleepycat Software's DB2. (This is not to be confused with IBM's DB2 software, which is supported through the ODBC functions.)

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 » Sleepycat Software's DB2. 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 » Sleepycat Software's DB3.
db4 | DB4 is » Sleepycat Software's DB4. This is available since PHP 4.3.2.
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://qdbm.sourceforge.net/.

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 db2 add --with-db2[=DIR].

Замечание: db2 conflicts with db3 and db4.

db3

To enable support for db3 add --with-db3[=DIR].

Замечание: db3 conflicts with db2 and db4.

db4

To enable support for db4 add --with-db4[=DIR].

Замечание: db4 conflicts with db2 and db3.

Замечание: This 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.

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://qdbm.sourceforge.net/.

Замечание: 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 | 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, or FALSE on failure.

Смотрите также

  • 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. The default is FALSE.

Возвращаемые значения

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, or FALSE on failure.

Смотрите также

  • 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.

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, or FALSE on failure.

Список изменений

Версия | Описание
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, or FALSE on failure.

Смотрите также

  • 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
Введение
Abstraction Layers


Введение

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.

Замечание: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of 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_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

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) (available from 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) (available from PHP 4.3.0)
DBX_COLNAMES_UPPERCASE (integer) (available from PHP 4.3.0)
DBX_COLNAMES_LOWERCASE (integer) (available from 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_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 (|). The default value for the flags parameter is DBX_CMP_ASC | DBX_CMP_NATIVE.

Возвращаемые значения

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.

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 a 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
Введение
Abstraction Layers


Введение

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 PHP5.3.0

Замечание: Entries marked with * are not implemented yet.

Для подробного описания констант PHP_INI_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

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

Controles the ODBC cursormodel. 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 a 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

The ODBC connection identifier, see odbc_connect() for details.

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 has no parameters.

Возвращаемые значения

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

Примечания

Замечание: 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

The ODBC connection identifier, see odbc_connect() for details.

Возвращаемые значения

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

Примечания

Замечание: 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

The ODBC connection identifier, see odbc_connect() for details.

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 or FALSE on failure. 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

The ODBC connection identifier, see odbc_connect() for details.

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 or FALSE on failure.

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

The ODBC connection identifier, see odbc_connect() for details.

Возвращаемые значения

Возвращает 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.

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
  • SQL_CUR_DEFAULT

Возвращаемые значения

Returns an ODBC connection id or 0 (FALSE) on error.

Смотрите также

  • 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 DNS (after calling it several times).

Список параметров

connection_id

The ODBC connection identifier, see odbc_connect() for details.

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

The ODBC connection identifier, see odbc_connect() for details.

Возвращаемые значения

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 a 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

The ODBC connection identifier, see odbc_connect() for details.

Возвращаемые значения

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 a SQL statement

odbc_error
odbc_exec
ODBC Функции


Prepare and execute a SQL statement

odbc_errormsg
odbc_execute
ODBC Функции
PHP Manual

odbc_exec

(PHP 4, PHP 5)

odbc_exec — Prepare and execute a SQL statement

Описание

resource odbc_exec ( resource $connection_id , string $query_string [, int $flags ] )

Sends an SQL statement to the database server.

Список параметров

connection_id

The ODBC connection identifier, see odbc_connect() for details.

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

The ODBC connection identifier, see odbc_connect() for details.

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 or FALSE on failure.

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

The ODBC connection identifier, see odbc_connect() for details.

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

The ODBC connection identifier, see odbc_connect() for details.

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

The ODBC connection identifier, see odbc_connect() for details.

qualifier

owner

table

Возвращаемые значения

Returns an ODBC result identifier or FALSE on failure.

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

The ODBC connection identifier, see odbc_connect() for details.

qualifier

The qualifier.

owner

The owner. This parameter accepts the following search patterns: "%" to match zero or more characters, and "_" to match a single character.

proc

The proc. This parameter accepts the following search patterns: "%" to match zero or more characters, and "_" to match a single character.

column

The column. This parameter accepts the following search patterns: "%" to match zero or more characters, and "_" to match a single character.

Возвращаемые значения

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 or FALSE on failure.

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

The ODBC connection identifier, see odbc_connect() for details.

qualifier

The qualifier.

owner

The owner. This parameter accepts the following search patterns: "%" to match zero or more characters, and "_" to match a single character.

name

The name. This parameter accepts the following search patterns: "%" to match zero or more characters, and "_" to match a single character.

Возвращаемые значения

Returns an ODBC result identifier containing the information or FALSE on failure.

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

The ODBC connection identifier, see odbc_connect() for details.

Возвращаемые значения

Возвращает 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

The ODBC connection identifier, see odbc_connect() for details.

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

The ODBC connection identifier, see odbc_connect() for details.

qualifier

The qualifier.

owner

The owner.

table_name

The table name.

unique

The unique attribute.

accuracy

The accuracy.

Возвращаемые значения

Returns an ODBC result identifier or FALSE on failure.

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

The ODBC connection identifier, see odbc_connect() for details.

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 or FALSE on failure.

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

The ODBC connection identifier, see odbc_connect() for details.

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 or FALSE on failure.

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::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 a 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
    • 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)
    • 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)
    • Driver 4D for PDO — Driver 4D for PDO (PDO_4D)
odbc_tables
Введение
Abstraction Layers


Введение

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


Установка

PHP 5.1 and up on Unix systems

  1. If you're running a PHP 5.1 release, PDO and PDO_SQLITE is included in the distribution; it will be automatically enabled when you run configure. It is recommended that you build PDO as a shared extension, as this will allow you to take advantage of updates that are made available via PECL. The recommended configure line for building PHP with PDO support should enable zlib support (for the pecl installer) as well. You may also 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, but note that if you build PDO as a shared extension, you must build the PDO drivers as shared extensions. SQLite extension depends on PDO so if PDO is built as a shared extension, SQLite needs to be built the same way.

    ./configure --with-zlib --enable-pdo=shared --with-pdo-sqlite=shared --with-sqlite=shared

  2. After installing PDO as a shared module, you must edit your php.ini file 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

  3. Having PDO as a shared module will allow you to run pecl upgrade pdo as new versions of PDO are published, without forcing you to rebuild the whole of PHP. Note that if you do this, you also need to upgrade your database specific PDO drivers at the same time.

PHP 5.0.0 and up on Unix systems

  1. PDO is available as a PECL extension from » http://pecl.php.net/package/pdo. Installation can be performed via the pecl tool; this is enabled by default when you configure PHP. You should ensure that PHP was configured --with-zlib in order for pecl to be able to handle the compressed package files.

  2. Run the following command to download, build, and install the latest stable version of PDO:

    pecl install pdo

  3. The pecl command automatically installs the PDO module into your PHP extensions directory. To enable the PDO extension on Linux or Unix operating systems, you must add the following line to php.ini:

    extension=pdo.so

    For more information about building PECL packages, consult the PECL installation section of the manual.

Windows users running PHP 5.1.0 and up

  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

  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. Note that PDO_INFORMIX is only available as a PECL extension.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

PDO Configuration Options
Name | Default | Changeable | Changelog
pdo.dsn.* |  | php.ini only |

Для подробного описания констант PHP_INI_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

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.

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";
  $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? You can think of them as a kind of compiled template for the SQL that you want 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 it's plan for executing the query. For complex queries this process can take up enough time that it will noticeably slow down your application if you need to repeat the same query many times with different parameters. By using a prepared statement you avoid repeating the analyze/compile/optimize cycle. In short, prepared statements use fewer resources and thus run faster.
  • The parameters to prepared statements don't need to be quoted; the driver handles it for you. If your application exclusively uses prepared statements, you can be sure that no SQL injection will occur. (However, if you're still building up other parts of the query based on untrusted input, you're still at risk).

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 you 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, you 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 you must know how large a given parameter might be when you bind it. If the value turns out to be larger than the size you 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";
?>

You 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.

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

Введение

Represents a connection between PHP and a database server.

Class synopsis

PDO
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 )
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::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

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

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.

Errors/Exceptions

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 a 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 a 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.

Возвращаемые значения

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.

Внимание

Эта функция может возвращать как логическое значение FALSE, так и не относящееся к логическому типу значение, которое приводится к 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::lastInsertId
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::lastInsertId
PDO


Returns the ID of the last inserted row or sequence value

PDO::getAvailableDrivers
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::getAvailableDrivers
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.

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() emits PDOException.

Замечание: 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.

Возвращаемые значения

PDO::query() returns a PDOStatement object.

Примеры

Пример #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, colour, calories FROM fruit ORDER BY name';
    foreach ($conn->query($sql) as $row) {
        print $row['NAME'] . "\t";
        print $row['COLOUR'] . "\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 a 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. The default value is PDO::PARAM_STR.

Возвращаемые значения

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

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_AUTOCOMMIT (available in OCI, Firebird and MySQL): Whether to autocommit every single statement.

  • PDO::MYSQL_ATTR_USE_BUFFERED_QUERY (available in MySQL): Use buffered queries.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

PDO::rollBack
PDOStatement
PDO


The PDOStatement class

Введение

Represents a prepared statement and, after the statement is executed, an associated result set.

Class synopsis

PDOStatement
PDOStatement implements Traversable {
bool bindColumn ( mixed $column , mixed &$param [, int $type [, int $maxlen [, mixed $driverdata ]]] )
bool bindParam ( mixed $parameter , mixed &$variable [, int $data_type [, int $length [, mixed $driver_options ]]] )
bool bindValue ( mixed $parameter , mixed $value [, int $data_type ] )
bool closeCursor ( void )
int columnCount ( void )
bool debugDumpParams ( void )
string errorCode ( void )
array errorInfo ( void )
bool execute ([ array $input_parameters= array() ] )
mixed fetch ([ int $fetch_style= PDO::FETCH_BOTH [, int $cursor_orientation= PDO::FETCH_ORI_NEXT [, int $cursor_offset= 0 ]]] )
array fetchAll ([ int $fetch_style= PDO::FETCH_BOTH [, int $column_index [, array $ctor_args= array() ]]] )
string fetchColumn ([ int $column_number= 0 ] )
mixed fetchObject ([ string $class_name [, array $ctor_args ]] )
mixed getAttribute ( int $attribute )
array getColumnMeta ( int $column )
bool nextRowset ( void )
int rowCount ( void )
bool setAttribute ( int $attribute , mixed $value )
bool setFetchMode ( int $mode )
}

Содержание

  • 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 a 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 [, 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. Defaults to PDO::PARAM_STR. 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 ] )

Binds a value to a corresponding named or question mark placeholder in the SQL statement that was use 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. Defaults to PDO::PARAM_STR.

Возвращаемые значения

Возвращает 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 a 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 a 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 statment 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 a 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= array() ] )

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.

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.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #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();
?>

Смотрите также

  • 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= PDO::FETCH_BOTH
 [, 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 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= PDO::FETCH_BOTH [, int $column_index [, array $ctor_args= array() ]]] )

Список параметров

fetch_style

Controls the contents of the returned array as documented in PDOStatement::fetch(). 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.

column_index

Returns the indicated 0-indexed column when the value of fetch_style is PDO::FETCH_COLUMN. Defaults to 0.

ctor_args

Arguments of custom class constructor.

Возвращаемые значения

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 SORT 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"
  }
}

Смотрите также

  • 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 [, 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, defaults to stdClass.

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 or FALSE in case of an error.

Смотрите также

  • 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->fetch(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");
?>

Результат выполнения данного примера:

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 or FALSE on failure.

Примеры

Пример #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

Введение

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.

Class synopsis

PDOException
PDOException extends RuntimeException {
/* Properties */
public array $errorInfo ;
protected string $message ;
protected string $code ;
/* Inherited methods */
final public string Exception::getMessage ( void )
final public int 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

Содержание

  • Microsoft SQL Server and Sybase Functions (PDO_DBLIB)
  • Firebird/Interbase Functions (PDO_FIREBIRD)
  • IBM Functions (PDO_IBM)
  • Informix Functions (PDO_INFORMIX)
  • MySQL Functions (PDO_MYSQL)
  • Oracle Functions (PDO_OCI)
  • ODBC and DB2 Functions (PDO_ODBC)
  • PostgreSQL Functions (PDO_PGSQL)
  • SQLite Functions (PDO_SQLITE)
  • Driver 4D for PDO (PDO_4D)

The following drivers currently implement the PDO interface:

Driver name | Supported databases
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_4D | 4D

PDOException
MS SQL Server (PDO)
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.

On Windows, you should 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 Drivers
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 FreeTDS libraries, mssql: if PDO_DBLIB was linked against the Microsoft SQL Server libraries, or dblib: if linked against any other variety of DB-lib.

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.

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

The constants below are defined by this driver, and will only be available when the extension has been either compiled into PHP or dynamically loaded at runtime. In addition, these driver-specific constants should only be used if you are using this driver. Using mysql-specific attributes with the postgres driver may result in unexpected behaviour. PDO::getAttribute() may be used to obtain the PDO_ATTR_DRIVER_NAME attribute to check the driver, if your code can run against multiple drivers.

PDO::FB_ATTR_DATE_FORMAT (integer)

Available since PHP 5.3.0.

PDO::FB_ATTR_TIME_FORMAT (integer)

Available since PHP 5.3.0.

PDO::FB_ATTR_TIMESTAMP_FORMAT (integer)

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.

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

The constants below are defined by this driver, and will only be available when the extension has been either compiled into PHP or dynamically loaded at runtime. In addition, these driver-specific constants should only be used if you are using this driver. Using mysql-specific attributes with the postgres driver may result in unexpected behaviour. PDO::getAttribute() may be used to obtain the PDO_ATTR_DRIVER_NAME attribute to check the driver, if your code can run against multiple drivers.

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.

PDO::MYSQL_ATTR_INIT_COMMAND (integer)

Command to execute when connecting to the MySQL server. Will automatically be re-executed when reconnecting.

PDO::MYSQL_ATTR_READ_DEFAULT_FILE (integer)

Read options from the named option file instead of from my.cnf.

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.

PDO::MYSQL_ATTR_MAX_BUFFER_SIZE (integer)

Maximum buffer size. Defaults to 1 MiB.

PDO::MYSQL_ATTR_DIRECT_QUERY (integer)

Perform direct queries, don't use prepared statements.

Содержание

  • PDO_MYSQL DSN — Connecting to MySQL databases
PDO_INFORMIX DSN
PDO_MYSQL DSN
PDO Drivers


Connecting to MySQL databases

MySQL (PDO)
Oracle (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).

Примеры

Пример #1 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

MySQL (PDO)
Oracle (PDO)
MySQL (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.

Содержание

  • PDO_OCI DSN — Connecting to Oracle databases
PDO_MYSQL 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. Removed in PHP 6.0.0.

Для подробного описания констант PHP_INI_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

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().

Содержание

  • 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:

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() - Create a large object

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, or FALSE on failure.

Примеры

Пример #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() - Open a large object

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.

Содержание

  • 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

Описание

PDO
bool 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() - Регистрирует функцию для использования в SQL запросах
  • sqlite_create_aggregate() - Регистрирует агрегатную функцию для использования в SQL запросах

PDO_SQLITE DSN
PDO::sqliteCreateFunction
SQLite (PDO)


Registers a User Defined Function for use in SQL statements

PDO::sqliteCreateAggregate
Driver 4D for 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

Описание

PDO
bool 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() - Регистрирует функцию для использования в SQL запросах
  • sqlite_create_aggregate() - Регистрирует агрегатную функцию для использования в SQL запросах

PDO::sqliteCreateAggregate
Driver 4D for PDO
SQLite (PDO)


Driver 4D for PDO (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.fr/.

PDO_4D has been developed to work on Windows (Vista), Mac OS X (10.5) and Linux (Debian-tested). It is known to work with 4D versions 11.4 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

Driver 4D for PDO
Constants for PDO_4D
Driver 4D for PDO
PHP Manual

PDO_4D DSN

()

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.

dbname

The name of the database. This parameter is optional, and it is not used.

chars_set

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

Driver 4D for PDO
Constants for PDO_4D
Driver 4D for PDO


Constants for PDO_4D

()

Constants for PDO_4D — Constants for PDO_4D

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

The constants below are defined by this driver, and will only be available when the extension has been either compiled into PHP or dynamically loaded at runtime. In addition, these driver-specific constants should only be used if you are using this driver. Using mysql-specific attributes with the postgres driver may result in unexpected behaviour. PDO::getAttribute() may be used to obtain the PDO_ATTR_DRIVER_NAME attribute to check the driver, if your code can run against multiple drivers.

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
Driver 4D for PDO


SQL types with PDO_4D and PHP

()

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 |
FLOAT | FLOAT | Unsupported
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
Driver 4D for PDO


PDO and SQL 4D

SQL types with PDO_4D and PHP
Examples with PDO_4D
Driver 4D for PDO
PHP Manual

SQL acceptable by 4D

()

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://www.4d.fr/support/docs.html. Below is a list of 4D SQL characteristics: it is not exhaustive, but may serve as an introduction.

Characteristics of 4D SQL
Ch aracteristics | Alternative | Note
INTEGER | INT is the supported integer type. Modify the SQL to use INT. |
UNION | Unsupported. Make separate queries. |
LEFT JOIN | Use the SQL 89 notation (see example #3 PDO_4D) |
SELECT 1 + 1; | SELECT 1 + 1 FROM _USER_SCHEMAS; |
FLOAT | Cast the FLOAT value with a SQL 4D function (ROUND, TRUNC or TRUNCATE) | Unsupported in the driver PDO_4D v1.0
Strong typing : one must provide the right type that 4D expect. One can't insert '1' (as a string) in an INTEGER column. | Modify your SQL query, or your PHP to adapt the type | Unsupported
PDO::execute($row)() only works if all the table's column are of type TEXT | 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 | It is not allowed to use the NULL constante in the select list | Do not use NULL constants. Extract them from the table
SELECT * FROM TABLE WHERE 1 | A constant can't be used in a WHERE clause. | Use 1 = 1
SHOW TABLES | The list of tables, schemas, index, etc. are in 7 4D tables | Use _USER_TABLES, _USER_COLUMNS, _USER_INDEXES, _USER_CONSTRAINTS, _USER_IND_COLUMNS, _USER_CONS_COLUMNS, and _USER_SCHEMAS.
SQL structure delimiter | To escape SQL elements (tables, fields, users, groups, schema, primary key, etc.), closing brackets must be doubled, and the whole identifier must be between square brackets. | Use the following function to protect SQL objects, and then, put it between square brackets : str_replace(']',']]', $table).

Замечание: In version 11.3 and below, it wasn't possible to use the SQL syntax id INT PRIMARY KEY during the creation of a table. This have been fixed in 4D 11.4 and up. It is recommended to use at least version 11.4 with PDO_4D.

SQL types with PDO_4D and PHP
Examples with PDO_4D
Driver 4D for PDO


Examples PDO_4D

SQL acceptable by 4D
Vendor Specific Database Extensions
Driver 4D for PDO
PHP Manual

Examples with PDO_4D

()

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_4D($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', 'A')");
$db->exec("INSERT INTO test VALUES('B', 'A')");
$db->exec("INSERT INTO test VALUES('C', 'C')");

$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 Executing a LEFT JOIN in 4D

This example shows how to execute a LEFT JOIN SQL query, with 4D.

<?php
$dsn = '4D:host=localhost;charset=UTF-8';
$user = 'test';
$pass = 'test';

// Connection to the 4D SQL server
$db = new PDO_4D($dsn, $user, $pass);

/* The SQL query is the equivalent of the following LEFT JOIN
SELECT
  classtypes.name,
  test.id AS id,
  test.val AS val
FROM
  test
LEFT JOIN
  classtypes
ON
  test.classtype=classtypes.id
*/

// Using SQL-89 Notation
$query = <<<SQL
SELECT
  classtypes.name,
  test.id AS id,
  test.val AS val
FROM
  test,
  classtypes
WHERE
  test.classtype=classtypes.id
  OR test.classtype IS NULL
SQL;

$stmt = $db->prepare($query);
$stmt->execute();

print_r($stmt->fetchAll());

$stmt = null;
$db = null;
?>

Пример #4 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_4D($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
Vendor Specific Database Extensions
Driver 4D for PDO


Vendor Specific Database Extensions

  • dBase
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • dBase Функции
  • DB++
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • DB++ Функции
  • FrontBase
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • FrontBase Функции
  • filePro
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • filePro Функции
  • Firebird/InterBase
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Firebird/InterBase Функции
  • Informix
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Informix Функции
  • IBM DB2 — IBM DB2, Cloudscape and Apache Derby
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • IBM DB2 Функции
  • Ingres — Ingres DBMS, EDBC, and Enterprise Access Gateways
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Ingres Функции
  • MaxDB
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • MaxDB Функции
  • Mongo
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Mongo — The Mongo class
    • MongoDB — The MongoDB class
    • MongoCollection — The MongoCollection class
    • MongoCursor — The MongoCursor class
    • MongoGridFS — The MongoGridFS class
    • MongoGridFSFile — The MongoGridFSFile class
    • MongoGridFSCursor — The MongoGridFSCursor class
    • MongoId — The MongoId class
    • MongoCode — The MongoCode class
    • MongoDate — The MongoDate class
    • MongoRegex — The MongoRegex class
    • MongoBinData — The MongoBinData class
    • MongoDBRef — The MongoDBRef class
  • mSQL
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • mSQL Функции
  • Mssql — Microsoft SQL Server
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Mssql Функции
  • MySQL
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • MySQL — Функции СУБД MySQL
  • mysqli — Улучшенный модуль MySQL (Improved)
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • mysqli — Расширение MySQL (Improved)
  • Oracle/OCI8
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Connecting Handling
    • Supported Datatypes
    • OCI8 — Функции для работы с Oracle
  • Ovrimos SQL
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Ovrimos SQL Функции
  • Paradox — Paradox File Access
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Paradox Функции
  • PostgreSQL
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • PostgreSQL Функции
  • SQLite
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • SQLite
  • SQLite3
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • SQLite3 — The SQLite3 class
    • SQLite3Stmt — The SQLite3Stmt class
    • SQLite3Result — The SQLite3Result class
  • Sybase
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Sybase Функции
Examples with PDO_4D
dBase
Database Extensions


dBase

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • dBase Функции
    • dbase_add_record — Adds a record to a database
    • dbase_close — Closes a database
    • dbase_create — Creates a database
    • dbase_delete_record — Deletes a record from a database
    • dbase_get_header_info — Gets the header info of a database
    • dbase_get_record_with_names — Gets a record from a database as an associative array
    • dbase_get_record — Gets a record from a database as an indexed array
    • dbase_numfields — Gets the number of fields of a database
    • dbase_numrecords — Gets the number of records in a database
    • dbase_open — Opens a database
    • dbase_pack — Packs a database
    • dbase_replace_record — Replaces a record in a database
Vendor Specific Database Extensions
Введение
Vendor Specific Database Extensions


Введение

These functions allow you to access records stored in dBase-format (dbf) databases.

dBase files are simple sequential files of fixed length records. Records are appended to the end of the file and delete records are kept until you call dbase_pack().

The types of dBase fields available are:

Available types of fields
Field | dBase Type | Format | Additional information
M | Memo | n/a | This type is not supported by PHP, such field will be ignored
D | Date | YYYYMMDD | The field length is limited to 8
N | Number | A number | You must declare a length and a precision (the number of digits after the decimal point)
C | String | A string | You must declare a length. When retrieving data, the string will be right-padded with spaces to fit the declared length.
L | Boolean | T or Y for TRUE, F or N for FALSE | Stored and returned as an integer (1 or 0)
F | Float | A float number | Support for this type of field was added in PHP 5.2.0

Замечание: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 5.3.0.

Внимание

There is no support for indexes or memo fields. There is no support for locking, too. Two concurrent web server processes modifying the same dBase file will very likely ruin your database.

We recommend that you do not use dBase files as your production database. Choose any real SQL server instead; » MySQL or » Postgres are common choices with PHP. dBase support is here to allow you to import and export data to and from your web database, because the file format is commonly understood by Windows spreadsheets and organizers.

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


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
dBase


Установка

In order to enable the bundled dbase library and to use these functions, you must compile PHP with the --enable-dbase option.

Требования
Настройка во время выполнения
Установка и настройка


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

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

Типы ресурсов
dBase Функции
dBase


dBase Функции

Примеры

Many examples in this reference require a dBase database. We will use /tmp/test.dbf that will be created in the example of dbase_create().

Содержание

  • dbase_add_record — Adds a record to a database
  • dbase_close — Closes a database
  • dbase_create — Creates a database
  • dbase_delete_record — Deletes a record from a database
  • dbase_get_header_info — Gets the header info of a database
  • dbase_get_record_with_names — Gets a record from a database as an associative array
  • dbase_get_record — Gets a record from a database as an indexed array
  • dbase_numfields — Gets the number of fields of a database
  • dbase_numrecords — Gets the number of records in a database
  • dbase_open — Opens a database
  • dbase_pack — Packs a database
  • dbase_replace_record — Replaces a record in a database
Предопределенные константы
dbase_add_record
dBase


Adds a record to a database

dBase Функции
dbase_close
dBase Функции
PHP Manual

dbase_add_record

(PHP 4, PHP 5)

dbase_add_record — Adds a record to a database

Описание

bool dbase_add_record ( int $dbase_identifier , array $record )

Adds the given data to the database.

Список параметров

dbase_identifier

The database link identifier, returned by dbase_open() or dbase_create().

record

An indexed array of data. The number of items must be equal to the number of fields in the database, otherwise dbase_add_record() will fail.

Замечание: If you're using dbase_get_record() return value for this parameter, remember to reset the key named deleted.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Inserting a record in a dBase database

<?php

// open in read-write mode
$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() - Deletes a record from a database
  • dbase_replace_record() - Replaces a record in a database

dBase Функции
dbase_close
dBase Функции


Closes a database

dbase_add_record
dbase_create
dBase Функции
PHP Manual

dbase_close

(PHP 4, PHP 5)

dbase_close — Closes a database

Описание

bool dbase_close ( int $dbase_identifier )

Closes the given database link identifier.

Список параметров

dbase_identifier

The database link identifier, returned by dbase_open() or dbase_create().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Closing a dBase database file

<?php

// open in read-only mode
$db = dbase_open('/tmp/test.dbf', 0);

if ($db) {
  // read some data ..

  dbase_close($db);
}

?>

Смотрите также

  • dbase_open() - Opens a database
  • dbase_create() - Creates a database

dbase_add_record
dbase_create
dBase Функции


Creates a database

dbase_close
dbase_delete_record
dBase Функции
PHP Manual

dbase_create

(PHP 4, PHP 5)

dbase_create — Creates a database

Описание

int dbase_create ( string $filename , array $fields )

dbase_create() creates a dBase database with the given definition.

Замечание: Когда опция safe mode включена, PHP проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.

Замечание: На поведение этой функции влияет значение директивы open_basedir.

Список параметров

filename

The name of the database. It can be a relative or absolute path to the file where dBase will store your data.

fields

An array of arrays, each array describing the format of one field of the database. Each field consists of a name, a character indicating the field type, and optionally, a length, and a precision.

Замечание: The fieldnames are limited in length and must not exceed 10 chars.

Возвращаемые значения

Returns a database link identifier if the database is successfully created, or FALSE if an error occurred.

Примеры

Пример #1 Creating a dBase database file

<?php

// database "definition"
$def = array(
  array("date",     "D"),
  array("name",     "C",  50),
  array("age",      "N",   3, 0),
  array("email",    "C", 128),
  array("ismember", "L")
);

// creation
if (!dbase_create('/tmp/test.dbf', $def)) {
  echo "Error, can't create the database\n";
}

?>

Смотрите также

  • dbase_open() - Opens a database
  • dbase_close() - Closes a database

dbase_close
dbase_delete_record
dBase Функции


Deletes a record from a database

dbase_create
dbase_get_header_info
dBase Функции
PHP Manual

dbase_delete_record

(PHP 4, PHP 5)

dbase_delete_record — Deletes a record from a database

Описание

bool dbase_delete_record ( int $dbase_identifier , int $record_number )

Marks the given record to be deleted from the database.

Замечание: To actually remove the record from the database, you must also call dbase_pack().

Список параметров

dbase_identifier

The database link identifier, returned by dbase_open() or dbase_create().

record_number

An integer which spans from 1 to the number of records in the database (as returned by dbase_numrecords()).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • dbase_add_record() - Adds a record to a database
  • dbase_replace_record() - Replaces a record in a database

dbase_create
dbase_get_header_info
dBase Функции


Gets the header info of a database

dbase_delete_record
dbase_get_record_with_names
dBase Функции
PHP Manual

dbase_get_header_info

(PHP 5)

dbase_get_header_info — Gets the header info of a database

Описание

array dbase_get_header_info ( int $dbase_identifier )

Returns information on the column structure of the given database link identifier.

Список параметров

dbase_identifier

The database link identifier, returned by dbase_open() or dbase_create().

Возвращаемые значения

An indexed array with an entry for each column in the database. The array index starts at 0.

Each array element contains an associative array of column information, as described here:

name
The name of the column
type
The human-readable name for the dbase type of the column (i.e. date, boolean, etc.)
length
The number of bytes this column can hold
precision
The number of digits of decimal precision for the column
format
A suggested printf() format specifier for the column
offset
The byte offset of the column from the start of the row

If the database header information cannot be read, FALSE is returned.

Примеры

Пример #1 Showing header information for a dBase database file

<?php
// Path to dbase file
$db_path = "/tmp/test.dbf";

// Open dbase file
$dbh = dbase_open($db_path, 0)
  or die("Error! Could not open dbase database file '$db_path'.");

// Get column information
$column_info = dbase_get_header_info($dbh);

// Display information
print_r($column_info);
?>

dbase_delete_record
dbase_get_record_with_names
dBase Функции


Gets a record from a database as an associative array

dbase_get_header_info
dbase_get_record
dBase Функции
PHP Manual

dbase_get_record_with_names

(PHP 4, PHP 5)

dbase_get_record_with_names — Gets a record from a database as an associative array

Описание

array dbase_get_record_with_names ( int $dbase_identifier , int $record_number )

Gets a record from a dBase database as an associative array.

Список параметров

dbase_identifier

The database link identifier, returned by dbase_open() or dbase_create().

record_number

The index of the record.

Возвращаемые значения

An associative array with the record. This will also include a key named deleted which is set to 1 if the record has been marked for deletion (see dbase_delete_record()).

Each field is converted to the appropriate PHP type, except:

  • Dates are left as strings.
  • Integers that would have caused an overflow (> 32 bits) are returned as strings.

On error, dbase_get_record_with_names() will return FALSE.

Примеры

Пример #1 Listing all the registered members in the database

<?php
// open in read-only mode
$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() - Gets a record from a database as an indexed array

dbase_get_header_info
dbase_get_record
dBase Функции


Gets a record from a database as an indexed array

dbase_get_record_with_names
dbase_numfields
dBase Функции
PHP Manual

dbase_get_record

(PHP 4, PHP 5)

dbase_get_record — Gets a record from a database as an indexed array

Описание

array dbase_get_record ( int $dbase_identifier , int $record_number )

Gets a record from a database as an indexed array.

Список параметров

dbase_identifier

The database link identifier, returned by dbase_open() or dbase_create().

record_number

The index of the record.

Возвращаемые значения

An indexed array with the record. This array will also include an associative key named deleted which is set to 1 if the record has been marked for deletion (see dbase_delete_record()).

Each field is converted to the appropriate PHP type, except:

  • Dates are left as strings.
  • Integers that would have caused an overflow (> 32 bits) are returned as strings.

On error, dbase_get_record() will return FALSE.

Смотрите также

  • dbase_get_record_with_names() - Gets a record from a database as an associative array

dbase_get_record_with_names
dbase_numfields
dBase Функции


Gets the number of fields of a database

dbase_get_record
dbase_numrecords
dBase Функции
PHP Manual

dbase_numfields

(PHP 4, PHP 5)

dbase_numfields — Gets the number of fields of a database

Описание

int dbase_numfields ( int $dbase_identifier )

Gets the number of fields (columns) in the specified database.

Замечание: Field numbers are between 0 and dbase_numfields($db)-1, while record numbers are between 1 and dbase_numrecords($db).

Список параметров

dbase_identifier

The database link identifier, returned by dbase_open() or dbase_create().

Возвращаемые значения

The number of fields in the database, or FALSE if an error occurs.

Примеры

Пример #1 dbase_numfields() Example

<?php

$rec = dbase_get_record($db, $recno);
$nf  = dbase_numfields($db);
for ($i = 0; $i < $nf; $i++) {
  echo $rec[$i], "\n";
}

?>

Смотрите также

  • dbase_numrecords() - Gets the number of records in a database

dbase_get_record
dbase_numrecords
dBase Функции


Gets the number of records in a database

dbase_numfields
dbase_open
dBase Функции
PHP Manual

dbase_numrecords

(PHP 4, PHP 5)

dbase_numrecords — Gets the number of records in a database

Описание

int dbase_numrecords ( int $dbase_identifier )

Gets the number of records (rows) in the specified database.

Замечание: Record numbers are between 1 and dbase_numrecords($db), while field numbers are between 0 and dbase_numfields($db)-1.

Список параметров

dbase_identifier

The database link identifier, returned by dbase_open() or dbase_create().

Возвращаемые значения

The number of records in the database, or FALSE if an error occurs.

Примеры

Пример #1 Looping over all the records of the database

<?php

// open in read-only mode
$db = dbase_open('/tmp/test.dbf', 0);

if ($db) {
  $record_numbers = dbase_numrecords($db);
  for ($i = 1; $i <= $record_numbers; $i++) {
      // do something here, for each record
  }
}

?>

Смотрите также

  • dbase_numfields() - Gets the number of fields of a database

dbase_numfields
dbase_open
dBase Функции


Opens a database

dbase_numrecords
dbase_pack
dBase Функции
PHP Manual

dbase_open

(PHP 4, PHP 5)

dbase_open — Opens a database

Описание

int dbase_open ( string $filename , int $mode )

dbase_open() opens a dBase database with the given access mode.

Замечание: Когда опция safe mode включена, PHP проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.

Замечание: На поведение этой функции влияет значение директивы open_basedir.

Список параметров

filename

The name of the database. It can be a relative or absolute path to the file where dBase will store your data.

mode

An integer which correspond to those for the open() system call (Typically 0 means read-only, 1 means write-only, and 2 means read and write).

Замечание: You can't open a dBase file in write-only mode as the function will fail to read the headers information and thus you can't use 1 as mode .

Примеры

Пример #1 Opening a dBase database file

<?php

// open in read-only mode
$db = dbase_open('/tmp/test.dbf', 0);

if ($db) {
  // read some data ..

  dbase_close($db);
}

?>

Возвращаемые значения

Returns a database link identifier if the database is successfully opened, or FALSE if an error occurred.

Смотрите также

  • dbase_create() - Creates a database
  • dbase_close() - Closes a database

dbase_numrecords
dbase_pack
dBase Функции


Packs a database

dbase_open
dbase_replace_record
dBase Функции
PHP Manual

dbase_pack

(PHP 4, PHP 5)

dbase_pack — Packs a database

Описание

bool dbase_pack ( int $dbase_identifier )

Packs the specified database by permanently deleting all records marked for deletion using dbase_delete_record().

Список параметров

dbase_identifier

The database link identifier, returned by dbase_open() or dbase_create().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Emptying a dBase database

<?php

// open in read-write mode
$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);
  }
  // expunge the database
  dbase_pack($db);
}

?>

Смотрите также

  • dbase_delete_record() - Deletes a record from a database

dbase_open
dbase_replace_record
dBase Функции


Replaces a record in a database

dbase_pack
DB++
dBase Функции
PHP Manual

dbase_replace_record

(PHP 4, PHP 5)

dbase_replace_record — Replaces a record in a database

Описание

bool dbase_replace_record ( int $dbase_identifier , array $record , int $record_number )

Replaces the given record in the database with the given data.

Список параметров

dbase_identifier

The database link identifier, returned by dbase_open() or dbase_create().

record

An indexed array of data. The number of items must be equal to the number of fields in the database, otherwise dbase_replace_record() will fail.

Замечание: If you're using dbase_get_record() return value for this parameter, remember to reset the key named deleted.

record_number

An integer which spans from 1 to the number of records in the database (as returned by dbase_numrecords()).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Updating a record in the database

<?php

// open in read-write mode
$db = dbase_open('/tmp/test.dbf', 2);

if ($db) {
  // gets the old row
  $row = dbase_get_record_with_names($db, 1);

  // remove the 'deleted' entry
  unset($row['deleted']);

  // Update the date field with the current timestamp
  $row['date'] = date('Ymd');

  // Replace the record
  dbase_replace_record($db, $row, 1);
  dbase_close($db);
}

?>

Смотрите также

  • dbase_add_record() - Adds a record to a database
  • dbase_delete_record() - Deletes a record from a database

dbase_pack
DB++
dBase Функции


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
dbase_replace_record
Введение
Vendor Specific Database Extensions


Введение

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 a 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 A... 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
FrontBase
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
FrontBase
DB++ Функции


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 — Псевдоним of fbsql_table_name
    • fbsql_username — Get or set the username for the connection
    • fbsql_warnings — Enable or disable FrontBase warnings
dbplus_xunlockrel
Введение
Vendor Specific Database Extensions


Введение

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/FrontBase.woa/wa/productsPage?currentPage=Documentation.

Frontbase support has been added to PHP 4.0.6.

Замечание: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of 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_*, обратитесь к документации функции ini_set().

Установка
Типы ресурсов
Установка и настройка


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

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если 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 — Псевдоним of 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

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments.

Возвращаемые значения

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

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments.

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

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments.

Возвращаемые значения

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

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments.

Возвращаемые значения

Возвращает 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

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments.

Возвращаемые значения

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

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments.

Возвращаемые значения

Возвращает 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

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments.

Возвращаемые значения

Возвращает 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 [, string $username [, string $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. Defaults to 'NULL'.

username

The user name for the connection. Defaults to _SYSTEM.

password

The password for the connection. Defaults to the empty string.

Возвращаемые значения

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

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments.

Возвращаемые значения

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

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments.

Возвращаемые значения

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

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments.

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

A result identifier returned by fbsql_query() or 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

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments.

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

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments.

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

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments.

Возвращаемые значения

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

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments.

Возвращаемые значения

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

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments.

Возвращаемые значения

Возвращает 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

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments.

Возвращаемые значения

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

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments.

Возвращаемые значения

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

A result identifier returned by fbsql_query() or 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

A result identifier returned by fbsql_query() or 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

A result identifier returned by fbsql_query() or 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

A result identifier returned by fbsql_query() or 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

A result identifier returned by fbsql_query() or 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

A result identifier returned by fbsql_query() or 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

A result identifier returned by fbsql_query() or 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

A result identifier returned by fbsql_query() or 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

A result identifier returned by fbsql_query() or 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

A result identifier returned by fbsql_query() or 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

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments.

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

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments.

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

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments.

Возвращаемые значения

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

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments.

Возвращаемые значения

Returns a result pointer or FALSE on error.

Примеры

Пример #1 fbsql_list_dbs() example

$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

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments.

Возвращаемые значения

Returns a result pointer which can be used with the fbsql_field_xxx functions, or FALSE on error.

Errors/Exceptions

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

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments.

Возвращаемые значения

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

A result identifier returned by fbsql_query() or 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

A result identifier returned by fbsql_query() or 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

A result identifier returned by fbsql_query() or 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

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments.

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 [, string $username [, string $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. Defaults to localhost.

username

The user name for the connection. Defaults to _SYSTEM.

password

The password for the connection. Defaults to the empty string.

Возвращаемые значения

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

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments.

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

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments.

Возвращаемые значения

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

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments.

Возвращаемые значения

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

A result identifier returned by fbsql_query() or 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

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments.

Возвращаемые значения

Возвращает 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

A result identifier returned by fbsql_query() or 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

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments.

Возвращаемые значения

Возвращает 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

A result identifier returned by fbsql_query() or 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

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments.

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

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments.

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

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments.

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

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments.

Возвращаемые значения

Возвращает 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 Функции


Псевдоним of fbsql_table_name

fbsql_table_name
fbsql_username
FrontBase Функции
PHP Manual

fbsql_tablename

(PHP 4 >= 4.2.0, PHP 5)

fbsql_tablename — Псевдоним of 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

A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments.

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
filePro
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
filePro
FrontBase Функции


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
fbsql_warnings
Введение
Vendor Specific Database Extensions


Введение

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/.

Замечание: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of 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
Введение
Vendor Specific Database Extensions


Введение

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
In order for this extension to work, there are DLL files that must be available to the Windows system PATH. For information on how to do this, see the FAQ entitled "How do I add my PHP directory to the PATH on Windows". Although copying DLL files from the PHP folder into the Windows system directory also works (because the system directory is by default in the system's PATH), this is not recommended. This extension requires the following files to be in the PATH: gds32.dll
In case you installed the InterBase database server on the same machine PHP is running on, you will have this DLL already. Therefore you don't need to worry because 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_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

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() or FALSE on failure.

Смотрите также

  • 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() or FALSE on failure.

Смотрите также

  • 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.

Errors/Exceptions

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).

Список изменений

Версия | Описание
4.0.0 | The buffers , dialect and role parameters were added

Примеры

Пример #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.

Список изменений

Версия | Описание
4.0.0 | The buffers , dialect and role parameters were added

Смотрите также

  • 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.

Errors/Exceptions

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_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 ] )

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 ]] )

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
Informix
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
Informix
Firebird/InterBase Функции


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
ibase_wait_event
Введение
Vendor Specific Database Extensions


Введение

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.

Замечание: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of 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_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

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

printf("%s\n&lt;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
IBM DB2
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
IBM DB2
Informix Функции


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
ifxus_write_slob
Введение
Vendor Specific Database Extensions


Введение

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.

Замечание: If the specified connection resource is a persistent connection, all transactions in progress for all applications using that persistent connection will be committed. For this reason, persistent connections are not recommended for use in applications that require transactions.

Список параметров

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 a 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 a 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 a 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 a 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 a 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 a 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().

Замечание: Note
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.

Замечание: Note
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.

Замечание: Note
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.

Замечание: Note
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.

Замечание: Note
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 or FALSE on failure.

Примеры

Пример #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

Описание

int 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.

Список параметров

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.

Примеры

Пример #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.

Замечание: If the specified connection resource is a persistent connection, all transactions in progress for all applications using that persistent connection will be rolled back. For this reason, persistent connections are not recommended for use in applications that require transactions.

Список параметров

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
Ingres
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
Ingres
IBM DB2 Функции


Ingres DBMS, EDBC, and Enterprise Access Gateways

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Simple Ingres Example
  • 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 link 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_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
db2_tables
Введение
Vendor Specific Database Extensions


Введение

The Ingres driver for PHP enables you to connect to and query the Ingres DBMS, EDBC, and Enterprise Access Gateways.

Замечание: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of 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. Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и 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_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

ingres.allow_persistent boolean

Specifies whether to allow persistent connections to Ingres

ingres.array_index_start integer

Specifies, by default, the array returned by ingres_fetch_array() and ingres_fetch_row() indexes from 1. To make the Ingres extension compatible with other database extensions, set this 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


Примеры

Содержание

  • Simple Ingres Example
Предопределенные константы
Simple Ingres Example
Ingres


Simple Ingres Example

Примеры
Ingres Функции
Примеры
PHP Manual

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 link 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_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
Simple Ingres Example
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, or FALSE on failure

Примеры

Пример #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 link resource

ingres_connect
ingres_errno
Ingres Функции
PHP Manual

ingres_cursor

(PECL ingres >= 1.1.0)

ingres_cursor — Get a cursor name for a given link 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

Описание

boolean 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_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_object
Ingres Функции
PHP Manual

ingres_fetch_array

(PHP 4 >= 4.0.2, 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_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_object
Ingres Функции


Fetch a row of result into an object

ingres_fetch_array
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_row() - Fetch a row of result into an enumerated array

ingres_fetch_array
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_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.

Список параметров

result

The query result identifier

index

index is the number of the field and must be between 1 and the value given by ingres_num_fields()

Возвращаемые значения

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_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.

Список параметров

result

The query result identifier

index

index is the number of the field and must be between 1 and the value given by ingres_num_fields()

Возвращаемые значения

Returns the name of a field in a query result, or FALSE on failure

Смотрите также

  • 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_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.

Список параметров

result

The query result identifier

index

index is the number of the field and must be between 1 and the value given by ingres_num_fields()

Возвращаемые значения

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_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.

Список параметров

result

The query result identifier

index

index is the number of the field and must be between 1 and the value given by ingres_num_fields()

Возвращаемые значения

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_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.

Список параметров

result

The query result identifier

index

index is the number of the field and must be between 1 and the value given by ingres_num_fields()

Возвращаемые значения

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_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.

Список параметров

result

The query result identifier

index

index is the number of the field and must be between 1 and the value given by ingres_num_fields()

Возвращаемые значения

ingres_field_type() returns the type of a field in a query result, or FALSE on failure. 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_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_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_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, or FALSE on failure

Смотрите также

  • 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_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.

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
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_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

Описание

boolean ingres_result_seek ( resource $result , integer $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_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 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

()

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().

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_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

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • MaxDB extension overview example
  • 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 a 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 a 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 a 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
Введение
Vendor Specific Database Extensions


Введение

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_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

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


Примеры

Содержание

  • MaxDB extension overview example
Предопределенные константы
MaxDB extension overview example
MaxDB


MaxDB extension overview example

Примеры
MaxDB Функции
Примеры
PHP Manual

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 Функции
Примеры


MaxDB extension overview example
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 a 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 a 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 a 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 a 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 a 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 a 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
MaxDB extension overview example
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

Описание

Procedural style:

int maxdb_affected_rows ( resource $link )

Object oriented style (property):

maxdb
int $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

Описание

Procedural style:

bool maxdb_autocommit ( resource $link , bool $mode )

Object oriented style (method)

maxdb
bool 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()

This function alias is deprecated and only exists for backwards compatibility reasons. The use of this function is not recommended, as it may be removed from PHP in the future.

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().

This function alias is deprecated and only exists for backwards compatibility reasons. The use of this function is not recommended, as it may be removed from PHP in the future.

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

Описание

Procedural style:

bool maxdb_change_user ( resource $link , string $user , string $password , string $database )

Object oriented style (method):

maxdb
bool 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

Описание

Procedural style:

string maxdb_character_set_name ( resource $link )

Object oriented style (method):

maxdb
string 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 a 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().

This function alias is deprecated and only exists for backwards compatibility reasons. The use of this function is not recommended, as it may be removed from PHP in the future.

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().

This function alias is deprecated and only exists for backwards compatibility reasons. The use of this function is not recommended, as it may be removed from PHP in the future.

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

Описание

Procedural style:

bool maxdb_close ( resource $link )

Object oriented style (method):

maxdb
bool 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

Описание

Procedural style:

bool maxdb_commit ( resource $link )

Object oriented style (method)

maxdb
bool 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

(PECL maxdb >= 1.0)

maxdb_connect -- maxdb — Open a new connection to the MaxDB server

Описание

Procedural style

resource maxdb_connect ([ string $host [, string $username [, string $passwd [, string $dbname [, int $port [, string $socket ]]]]]] )

Object oriented style (constructor):

maxdb
__construct ([ string $host [, string $username [, string $passwd [, string $dbname [, int $port [, 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, or FALSE on failure.

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

result->data_seek

(PECL maxdb >= 1.0)

maxdb_data_seek -- result->data_seek — Adjusts the result pointer to an arbitary row in the result

Описание

Procedural style:

bool maxdb_data_seek ( resource $result , int $offset )

Object oriented style (method):

result
bool 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

Описание

Procedural style:

bool maxdb_disable_reads_from_master ( resource $link )

Object oriented style (method):

maxdb
void 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

Описание

Procedural style:

int maxdb_errno ( resource $link )

Object oriented style (property):

maxdb
int $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

(PECL maxdb >= 1.0)

maxdb_error — Returns a string description of the last error

Описание

Procedural style:

string maxdb_error ( resource $link )

Object oriented style (property)

maxdb
string $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().

This function alias is deprecated and only exists for backwards compatibility reasons. The use of this function is not recommended, as it may be removed from PHP in the future.

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

result->fetch_array

(PECL maxdb >= 1.0)

maxdb_fetch_array -- result->fetch_array — Fetch a result row as an associative, a numeric array, or both

Описание

Procedural style:

mixed maxdb_fetch_array ( resource $result [, int $resulttype ] )

Object oriented style (method):

result
mixed 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->fetch_assoc

(PECL maxdb >= 1.0)

maxdb_fetch_assoc -- maxdb->fetch_assoc — Fetch a result row as an associative array

Описание

Procedural style:

array maxdb_fetch_assoc ( resource $result )

Object oriented style (method):

result
array 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

result->fetch_field_direct

(PECL maxdb >= 1.0)

maxdb_fetch_field_direct -- result->fetch_field_direct — Fetch meta-data for a single field

Описание

Procedural style:

mixed maxdb_fetch_field_direct ( resource $result , int $fieldnr )

Object oriented style (method):

result
mixed 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

result->fetch_field

(PECL maxdb >= 1.0)

maxdb_fetch_field -- result->fetch_field — Returns the next field in the result set

Описание

Procedural style:

mixed maxdb_fetch_field ( resource $result )

Object oriented style (method):

result
mixed 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

result->fetch_fields

(PECL maxdb >= 1.0)

maxdb_fetch_fields -- result->fetch_fields — Returns an array of resources representing the fields in a result set

Описание

Procedural Style:

mixed maxdb_fetch_fields ( resource $result )

Object oriented style (method):

result
mixed 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

result->lengths

(PECL maxdb >= 1.0)

maxdb_fetch_lengths -- result->lengths — Returns the lengths of the columns of the current row in the result set

Описание

Procedural style:

array maxdb_fetch_lengths ( resource $result )

Object oriented style (property):

result
array $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 or FALSE on failure.

Возвращаемые значения

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

result->fetch_object

(PECL maxdb >= 1.0)

maxdb_fetch_object -- result->fetch_object — Returns the current row of a result set as an object

Описание

Procedural style:

object maxdb_fetch_object ( object $result )

Object oriented style (method):

result
object 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

result->fetch_row

(PECL maxdb >= 1.0)

maxdb_fetch_row -- result->fetch_row — Get a result row as an enumerated array

Описание

Procedural style:

mixed maxdb_fetch_row ( resource $result )

Object oriented style (method):

result
mixed 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().

This function alias is deprecated and only exists for backwards compatibility reasons. The use of this function is not recommended, as it may be removed from PHP in the future.

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

Описание

Procedural style:

int maxdb_field_count ( resource $link )

Object oriented style (method):

maxdb
int 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

result->field_seek

(PECL maxdb >= 1.0)

maxdb_field_seek -- result->field_seek — Set result pointer to a specified field offset

Описание

Procedural style:

bool maxdb_field_seek ( resource $result , int $fieldnr )

Object oriented style (method):

result
bool 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

result->current_field

(PECL maxdb >= 1.0)

maxdb_field_tell -- result->current_field — Get current field offset of a result pointer

Описание

Procedural style:

int maxdb_field_tell ( resource $result )

Object oriented style (property):

result
int $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

result->free

(PECL maxdb >= 1.0)

maxdb_free_result -- result->free — Frees the memory associated with a result

Описание

Procedural style:

void maxdb_free_result ( resource $result )

Object oriented style (method):

result
void 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

Описание

Procdural style:

string maxdb_get_host_info ( resource $link )

Object oriented style (property):

maxdb
string $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().

This function alias is deprecated and only exists for backwards compatibility reasons. The use of this function is not recommended, as it may be removed from PHP in the future.

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

Описание

Procedural style:

int maxdb_get_proto_info ( resource $link )

Object oriented style (property):

maxdb
string $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

Описание

Procedural style:

string maxdb_get_server_info ( resource $link )

Object oriented style (property):

maxdb
string $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

(PECL maxdb >= 1.0)

maxdb_get_server_version — Returns the version of the MaxDB server as an integer

Описание

Procedural style:

int maxdb_get_server_version ( resource $link )

Object oriented style (property):

maxdb
int $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

Описание

Procedural style:

string maxdb_info ( resource $link )

Object oriented style (property)

maxdb
string $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

Описание

Procedural style:

mixed maxdb_insert_id ( resource $link )

Object oriented style (property):

maxdb
mixed $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

Описание

Procedural style:

bool maxdb_kill ( resource $link , int $processid )

Object oriented style (method)

maxdb
bool 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

Описание

Procedural style:

bool maxdb_multi_query ( resource $link , string $query )

Object oriented style (method):

maxdb
bool 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

result->field_count

(PECL maxdb >= 1.0)

maxdb_num_fields -- result->field_count — Get the number of fields in a result

Описание

Procedural style:

int maxdb_num_fields ( resource $result )

Object oriented style (property):

result
int $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

(PECL maxdb >= 1.0)

maxdb_num_rows — Gets the number of rows in a result

Описание

Procedural style:

int maxdb_num_rows ( resource $result )

Object oriented style (property):

maxdb
int $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

Описание

Procedural style:

bool maxdb_options ( resource $link , int $option , mixed $value )

Object oriented style (method)

maxdb
bool 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().

This function alias is deprecated and only exists for backwards compatibility reasons. The use of this function is not recommended, as it may be removed from PHP in the future.

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

Описание

Procedural style:

bool maxdb_ping ( resource $link )

Object oriented style (method):

maxdb
bool 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 a SQL statement for execution

maxdb_ping
maxdb_query
MaxDB Функции
PHP Manual

maxdb_prepare

maxdb->prepare

(PECL maxdb >= 1.0)

maxdb_prepare -- maxdb->prepare — Prepare a SQL statement for execution

Описание

Procedure style:

resource maxdb_prepare ( resource $link , string $query )

Object oriented style (method)

stmt
resource 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

Описание

Procedural style:

mixed maxdb_query ( resource $link , string $query [, int $resultmode ] )

Object oriented style (method):

maxdb
mixed 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

Описание

Procedural style

bool maxdb_real_connect ( resource $link [, string $hostname [, string $username [, string $passwd [, string $dbname [, int $port [, string $socket ]]]]]] )

Object oriented style (method)

maxdb
bool real_connect ([ string $hostname [, string $username [, string $passwd [, string $dbname [, int $port [, 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 a 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 a SQL statement, taking into account the current charset of the connection

Описание

Procedural style:

string maxdb_real_escape_string ( resource $link , string $escapestr )

Object oriented style (method):

maxdb
string real_escape_sring ( string $escapestr )

This function is used to create a legal SQL string that you can use in a 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

Описание

Procedural style

bool maxdb_real_query ( resource $link , string $query )

Object oriented style (method):

maxdb
bool 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 )
maxdb
bool 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 )

Object oriented style (method)

maxdb
int 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().

This function alias is deprecated and only exists for backwards compatibility reasons. The use of this function is not recommended, as it may be removed from PHP in the future.

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 )

Object oriented style (method)

maxdb
bool 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

Описание

Procedural style:

string maxdb_sqlstate ( resource $link )

Object oriented style (property):

maxdb
string $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

Описание

Procedural style:

bool maxdb_ssl_set ( resource $link , string $key , string $cert , string $ca , string $capath , string $cipher )

Object oriented style (method):

maxdb
bool 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

Описание

Procedural style:

string maxdb_stat ( resource $link )

Object oriented style (method):

maxdb
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

Описание

Procedural style :

int maxdb_stmt_affected_rows ( resource $stmt )

Object oriented style (property):

stmt
int $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 a 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

stmt->bind_param

(PECL maxdb >= 1.0)

maxdb_stmt_bind_param -- stmt->bind_param — Binds variables to a prepared statement as parameters

Описание

Procedural style:

bool maxdb_stmt_bind_param ( resource $stmt , string $types , mixed &$var1 [, mixed &$... ] )

Object oriented style (method):

stmt
bool bind_param ( string $types , mixed &$var1 [, mixed &$... ] )

Procedural style (extended syntax):

bool maxdb_stmt_bind_param ( resource $stmt , string $types , array &$var )

Object oriented style (method) (extended syntax):

stmt
bool 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 a 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 a 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

stmt->bind_result

(PECL maxdb >= 1.0)

maxdb_stmt_bind_result -- stmt->bind_result — Binds variables to a prepared statement for result storage

Описание

Procedural style:

bool maxdb_stmt_bind_result ( resource $stmt , mixed &$var1 [, mixed &$... ] )

Object oriented style (method):

stmt
bool 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 a SQL statement for execution
  • maxdb_stmt_prepare() - Prepare a 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

stmt->close_long_data

(PECL maxdb 1.0)

maxdb_stmt_close_long_data -- stmt->close_long_data — Ends a sequence of maxdb_stmt_send_long_data()

Описание

Procedural style:

bool maxdb_stmt_close_long_data ( resource $stmt , int $param_nr )

Object oriented style (method):

maxdb_stmt
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 a 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

Описание

Procedural style:

bool maxdb_stmt_close ( resource $stmt )

Object oriented style (method):

maxdb_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 a 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

stmt->data_seek

(PECL maxdb >= 1.0)

maxdb_stmt_data_seek -- stmt->data_seek — Seeks to an arbitray row in statement result set

Описание

Procedural style:

bool maxdb_stmt_data_seek ( resource $statement , int $offset )

Object oriented style (method):

stmt
bool 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 a 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

Описание

Procedural style :

int maxdb_stmt_errno ( resource $stmt )

Object oriented style (property):

stmt
int $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

Описание

Procedural style:

string maxdb_stmt_error ( resource $stmt )

Object oriented style (property):

stmt
string $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

stmt->execute

(PECL maxdb >= 1.0)

maxdb_stmt_execute -- stmt->execute — Executes a prepared Query

Описание

Procedural style:

bool maxdb_stmt_execute ( resource $stmt )

Object oriented style (method):

stmt
bool 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 a 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

stmt->fetch

(PECL maxdb >= 1.0)

maxdb_stmt_fetch -- stmt->fetch — Fetch results from a prepared statement into the bound variables

Описание

Procedural style:

bool maxdb_stmt_fetch ( resource $stmt )

Object oriented style (method):

stmt
bool 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 a 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

stmt->free_result

(PECL maxdb >= 1.0)

maxdb_stmt_free_result -- stmt->free_result — Frees stored result memory for the given statement handle

Описание

Procedural style:

void maxdb_stmt_free_result ( resource $stmt )

Object oriented style (method):

stmt
void 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

Описание

Procedural style :

resource maxdb_stmt_init ( resource $link )

Object oriented style (property):

maxdb
object 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 a 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

stmt->num_rows

(PECL maxdb >= 1.0)

maxdb_stmt_num_rows -- stmt->num_rows — Return the number of rows in statements result set

Описание

Procedural style :

int maxdb_stmt_num_rows ( resource $stmt )

Object oriented style (property):

stmt
int $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 a 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

stmt->param_count

(PECL maxdb >= 1.0)

maxdb_stmt_param_count -- stmt->param_count — Returns the number of parameter for the given statement

Описание

Procedural style:

int maxdb_stmt_param_count ( resource $stmt )

Object oriented style (property):

stmt
int $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 a SQL statement for execution

maxdb_stmt_num_rows
maxdb_stmt_prepare
MaxDB Функции


Prepare a SQL statement for execution

maxdb_stmt_param_count
maxdb_stmt_reset
MaxDB Функции
PHP Manual

maxdb_stmt_prepare

stmt->prepare

(PECL maxdb >= 1.0)

maxdb_stmt_prepare -- stmt->prepare — Prepare a SQL statement for execution

Описание

Procedure style:

bool maxdb_stmt_prepare ( resource $stmt , string $query )

Object oriented style (method)

stmt
mixed 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

stmt->reset

(PECL maxdb >= 1.0)

maxdb_stmt_reset -- stmt->reset — Resets a prepared statement

Описание

Procedural style:

bool maxdb_stmt_reset ( resource $stmt )

Object oriented style (method):

stmt
bool 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

(PECL maxdb >= 1.0)

maxdb_stmt_result_metadata — Returns result set metadata from a prepared statement

Описание

Procedural style:

resource maxdb_stmt_result_metadata ( resource $stmt )

Object oriented style (method):

stmt
resource 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 a 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

stmt->send_long_data

(PECL maxdb 1.0)

maxdb_stmt_send_long_data -- stmt->send_long_data — Send data in blocks

Описание

Procedural style:

bool maxdb_stmt_send_long_data ( resource $stmt , int $param_nr , string $data )

Object oriented style (method)

stmt
bool 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 a 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

Описание

Procedural style:

bool maxdb_stmt_store_result ( resource $stmt )

Object oriented style (method):

maxdb
object 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 a 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

Описание

Procedural style:

resource maxdb_store_result ( resource $link )

Object oriented style (method):

maxdb
object 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

Описание

Procedural style:

int maxdb_thread_id ( resource $link )

Object oriented style (property):

maxdb
int $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

Описание

Procedural style:

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

Описание

Procedural style:

resource maxdb_use_result ( resource $link )

Object oriented style (method):

maxdb
resource use_result ( void )

maxdb_use_result() has no effect.

Возвращаемые значения

Returns result or FALSE in case of 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();
}

$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

Описание

Procedural style:

int maxdb_warning_count ( resource $link )

Object oriented style (property):

maxdb
int $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 Функции


Mongo

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
  • Предопределенные константы
  • Примеры
  • Mongo — The Mongo class
    • Mongo::close — Closes this database 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
    • Mongo::forceError — Creates a database error
    • Mongo::lastError — Check if there was an error on the most recent db operation performed
    • Mongo::pairConnect — Connects to paired database server
    • Mongo::pairPersistConnect — Creates a persistent connection with paired database servers
    • Mongo::persistConnect — Creates a persistent connection with a database server
    • Mongo::prevError — Checks for the last error thrown during a database operation
    • Mongo::repairDB — Repairs and compacts a database
    • Mongo::resetError — Clears any flagged errors on the connection
    • Mongo::selectCollection — Gets a database collection
    • Mongo::selectDB — Gets a database
    • Mongo::__toString — String representation of this connection
  • MongoDB — The MongoDB class
    • 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
    • MongoDB::execute — Runs JavaScript code on the database server.
    • MongoDB::getCursorInfo — Gets information from the database about cursors
    • MongoDB::getDBRef — Fetches a database reference
    • MongoDB::getGridFS — Fetches toolkit for dealing with files stored in this database
    • MongoDB::getProfilingLevel — Gets this database's profiling level
    • MongoDB::listCollections — Get a list of collections in this database
    • MongoDB::repair — Repairs and compacts this database
    • MongoDB::selectCollection — Gets a collection
    • MongoDB::setProfilingLevel — Sets this database's profiling level
    • MongoDB::__toString — The name of this database
  • MongoCollection — The MongoCollection class
    • MongoCollection::batchInsert — Inserts an array of arrays into the 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::getDBRef — Fetches a database reference
    • MongoCollection::getIndexInfo — Returns an array of index names for this collection
    • MongoCollection::getName — Returns this collection's name
    • 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::__toString — String representation of this collection
    • MongoCollection::update — Update records based on a given criteria
    • MongoCollection::validate — Validates this collection
  • MongoCursor — The MongoCursor class
    • MongoCursor::__construct — Create a new cursor
    • MongoCursor::count — Counts the number of results for this query
    • MongoCursor::current — Returns the current result
    • MongoCursor::doQuery — Execute the query.
    • MongoCursor::explain — Return an explanation of the query, often useful for optimization and debugging
    • 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::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::reset — Clears the cursor
    • MongoCursor::rewind — Returns the cursor to the beginning of the result set
    • MongoCursor::skip — Skips a number of results
    • MongoCursor::softLimit — Limits the number of results initially returned
    • MongoCursor::sort — Sorts the results by given fields
    • MongoCursor::valid — Checks if the cursor is reading a valid result.
  • MongoGridFS — The MongoGridFS class
    • MongoGridFS::__construct — Creates new file collections
    • MongoGridFS::drop — Drops the files and chunks collections
    • MongoGridFS::find — Queries for files
    • MongoGridFS::findOne — Returns a single file matching the criteria
    • MongoGridFS::remove — Removes files from the collections
    • MongoGridFS::storeFile — Stores a file in the database
    • MongoGridFS::storeUpload — Saves an uploaded file to the database
  • MongoGridFSFile — The MongoGridFSFile class
    • 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
  • MongoGridFSCursor — The MongoGridFSCursor class
    • 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
  • MongoId — The MongoId class
    • MongoId::__construct — Creates a new id
    • MongoId::__toString — Returns a hexidecimal representation of this id
  • MongoCode — The MongoCode class
    • MongoCode::__construct — Creates a new code object
    • MongoCode::__toString — Returns this code as a string
  • MongoDate — The MongoDate class
    • MongoDate::__construct — Creates a new date.
    • MongoDate::__toString — Returns a string representation of this date
  • MongoRegex — The MongoRegex class
    • MongoRegex::__construct — Creates a new regular expression
    • MongoRegex::__toString — A string representation of this regular expression
  • MongoBinData — The MongoBinData class
    • MongoBinData::__construct — Creates a new binary data object.
    • MongoBinData::__toString — The string representation of this binary data object.
  • MongoDBRef — The MongoDBRef class
    • 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
maxdb_warning_count
Введение
Vendor Specific Database Extensions


Введение

These functions allow PHP to interact with Mongo database servers.

MongoDB is a high-performance, open source, schema-free document database designed for cloud computing. The project's goal is a cloud-scale data store that's easy to deploy, manage and use. It's network accessible and written in C++.

More information and downloads for Mongo can be found at http://www.mongodb.org/.

There are also tutorials at http://www.mongodb.org/display/DOCS/PHP+Language+Center.

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


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
Введение
Требования
Mongo


Требования

Requires PHP 5.0 and up. You can download MongoDB from http://www.mongodb.org/.

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


Установка

Это расширение » PECL не поставляется вместе с PHP. Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, могут быть найдены здесь: » http://pecl.php.net/package/mongo.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Mongo Опции настройки
Имя | По умолчанию | Меняемо | Changelog
mongo.default_host | "localhost" | PHP_INI_ALL
mongo.default_port | 27017 | PHP_INI_ALL
mongo.auto_reconnect | 0 | PHP_INI_SYSTEM
mongo.allow_persistent | 1 | PHP_INI_SYSTEM
mongo.max_persistent | -1 | PHP_INI_SYSTEM
mongo.max_connections | -1 | PHP_INI_SYSTEM
mongo.chunk_size | 262144 | PHP_INI_SYSTEM

Для подробного описания констант PHP_INI_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

mongo.default_host string

Default hostname. "localhost" is recommended.

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.max_persistent int

The number of simultaneous persistent connections to allow. -1 allows unlimited persistent connections.

mongo.max_connections int

The number of simultaneous connections to allow. -1 allows unlimited connections.

mongo.chunk_size int

The number of bytes-per-chunk. Used in divvying up GridFS files.

Установка
Предопределенные константы
Установка и настройка


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

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

Mongo::DEFAULT_HOST (string)
"localhost"
Mongo::DEFAULT_PORT (int)
27017
MongoDB::PROFILING_OFF (int)
Turn off database profiling
MongoDB::PROFILING_SLOW (int)
Turn on database profiling for slow operations
MongoDB::PROFILING_ON (int)
Turn on database profiling for all operations
MongoUtil::LT (string)
Less than
MongoUtil::LTE (string)
Less than or equal to
MongoUtil::GT (string)
Greater than
MongoUtil::GTE (string)
Greater than or equal to
MongoUtil::IN (string)
In
MongoUtil::NE (string)
Not equal
MongoUtil::ASC (int)
Ascending
MongoUtil::DESC (int)
Descending
MongoUtil::BIN_ARRAY (int)
Default binary type: an array of bytes
MongoUtil::BIN_UUID (int)
Universal unique id
MongoUtil::BIN_MD5 (int)
MD5 type
MongoUtil::BIN_CUSTOM (int)
User-defined binary type
Настройка во время выполнения
Примеры
Mongo


Примеры

This example shows how to connect, insert objects, query for objects, iterate through query results, and disconnect from a Mongo database.

Пример #1 Mongo Example

<?php

include "mongo.php";

// connect
$m = new Mongo();

// select a database
$db = $m->selectDB("comedy");
$collection = $db->selectCollection("cartoons");

// add an element
$obj = array( "title" => "Calvin and Hobbes", "author" => "Bill Watterson" );
$collection->insert($obj);

// add another element, 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";
}

// disconnect
$m->close();

?>

Результатом выполнения данного примера будет что-то подобное:

Calvin and Hobbes
XKCD
Предопределенные константы
Mongo
Mongo


The Mongo class

Введение

The connection point between MongoDB and PHP.

This class is used to initiate a connection and for database server commands. A typical use is:

<?php
$m = new Mongo(); // connect
$db = $m->selectDatabase(); // get a database object
?>

Class synopsis

Mongo
Mongo {
/* Methods */
public boolean close ( void )
public boolean connect ( void )
protected boolean connectUtil ( string $username , string $password )
__construct ([ string $server= NULL [, boolean $connect= TRUE [, boolean $persistent= FALSE [, boolean $paired= FALSE ]]]] )
public array dropDB ( mixed $db )
public bool forceError ( void )
public string lastError ( void )
public boolean pairConnect ( void )
public boolean pairPersistConnect ([ string $username= "" [, string $password= "" ]] )
public boolean persistConnect ([ string $username= "" [, string $password= "" ]] )
public array prevError ( void )
public array repairDB ( MongoDB $db [, boolean $preserve_cloned_files= false [, boolean $backup_original_files= false ]] )
public array resetError ( void )
public MongoCollection selectCollection ( string|MongoDB $db , string $collection )
public MongoDB selectDB ( string $dbname )
public string __toString ( void )
}

Содержание

  • Mongo::close — Closes this database 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
  • Mongo::forceError — Creates a database error
  • Mongo::lastError — Check if there was an error on the most recent db operation performed
  • Mongo::pairConnect — Connects to paired database server
  • Mongo::pairPersistConnect — Creates a persistent connection with paired database servers
  • Mongo::persistConnect — Creates a persistent connection with a database server
  • Mongo::prevError — Checks for the last error thrown during a database operation
  • Mongo::repairDB — Repairs and compacts a database
  • Mongo::resetError — Clears any flagged errors on the connection
  • Mongo::selectCollection — Gets a database collection
  • Mongo::selectDB — Gets a database
  • Mongo::__toString — String representation of this connection
Примеры
Mongo::close
Mongo


Closes this database connection

Mongo
Mongo::connect
Mongo
PHP Manual

Mongo::close

(PECL mongo >=0.9.0)

Mongo::close — Closes this database connection

Описание

public boolean Mongo::close ( void )

Список параметров

This function has no parameters.

Возвращаемые значения

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 boolean Mongo::connect ( void )

Список параметров

This function has no parameters.

Возвращаемые значения

If the connection was successful.

Errors/Exceptions

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 boolean Mongo::connectUtil ( string $username , string $password )

Список параметров

username

A username used to identify the connection.

password

A password used to identify the connection.

Возвращаемые значения

If the connection was successful.

Errors/Exceptions

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= NULL [, boolean $connect= TRUE [, boolean $persistent= FALSE [, boolean $paired= FALSE ]]]] )

Список параметров

server

The server name.

connect

If the driver should connect to the database before returning.

persistent

If the connection should be persistent.

paired

If the connection should be paired.

Возвращаемые значения

Returns a new database connection object.

Errors/Exceptions

Throws MongoConnectionException if it tries and fails to connect to the database.

Mongo::connectUtil
Mongo::dropDB
Mongo


Drops a database

Mongo::__construct
Mongo::forceError
Mongo
PHP Manual

Mongo::dropDB

(PECL mongo >=0.9.0)

Mongo::dropDB — Drops a database

Описание

public array Mongo::dropDB ( mixed $db )

Список параметров

db

The database to drop. Can be a MongoDB object or the name of the database.

Возвращаемые значения

Returns the database response.

Mongo::__construct
Mongo::forceError
Mongo


Creates a database error

Mongo::dropDB
Mongo::lastError
Mongo
PHP Manual

Mongo::forceError()

()

— Creates a database error

Описание

public bool Mongo::forceError ( void )

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the database response.

Mongo::dropDB
Mongo::lastError
Mongo


Check if there was an error on the most recent db operation performed

Mongo::forceError
Mongo::pairConnect
Mongo
PHP Manual

Mongo::lastError

(PECL mongo >=0.9.0)

Mongo::lastError — Check if there was an error on the most recent db operation performed

Описание

public string Mongo::lastError ( void )

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the error, if there was one, or NULL.

Mongo::forceError
Mongo::pairConnect
Mongo


Connects to paired database server

Mongo::lastError
Mongo::pairPersistConnect
Mongo
PHP Manual

Mongo::pairConnect

(PECL mongo >=0.9.0)

Mongo::pairConnect — Connects to paired database server

Описание

public boolean Mongo::pairConnect ( void )

To successfully create a paired connection, $this->server must be a string of the form "server1,server2".

Список параметров

This function has no parameters.

Возвращаемые значения

If the connection was successful.

Errors/Exceptions

Throws MongoConnectionException if it fails to connect to the databases.

Mongo::lastError
Mongo::pairPersistConnect
Mongo


Creates a persistent connection with paired database servers

Mongo::pairConnect
Mongo::persistConnect
Mongo
PHP Manual

Mongo::pairPersistConnect

(PECL mongo >=0.9.0)

Mongo::pairPersistConnect — Creates a persistent connection with paired database servers

Описание

 public boolean Mongo::pairPersistConnect
  ([ string $username= ""
 [, string $password= ""
]] )

Список параметров

username

A username used to identify the connection.

password

A password used to identify the connection.

Возвращаемые значения

If the connection was successful.

Errors/Exceptions

Throws MongoConnectionException if it fails to connect to the databases.

Mongo::pairConnect
Mongo::persistConnect
Mongo


Creates a persistent connection with a database server

Mongo::pairPersistConnect
Mongo::prevError
Mongo
PHP Manual

Mongo::persistConnect

(PECL mongo >=0.9.0)

Mongo::persistConnect — Creates a persistent connection with a database server

Описание

 public boolean Mongo::persistConnect
  ([ string $username= ""
 [, string $password= ""
]] )

Список параметров

username

A username used to identify the connection.

password

A password used to identify the connection.

Возвращаемые значения

If the connection was successful.

Errors/Exceptions

Throws MongoConnectionException if it fails to connect to the databases.

Mongo::pairPersistConnect
Mongo::prevError
Mongo


Checks for the last error thrown during a database operation

Mongo::persistConnect
Mongo::repairDB
Mongo
PHP Manual

Mongo::prevError

(PECL mongo >=0.9.0)

Mongo::prevError — Checks for the last error thrown during a database operation

Описание

public array Mongo::prevError ( void )

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the error and the number of operations ago it occured.

Mongo::persistConnect
Mongo::repairDB
Mongo


Repairs and compacts a database

Mongo::prevError
Mongo::resetError
Mongo
PHP Manual

Mongo::repairDB

(PECL mongo >=0.9.0)

Mongo::repairDB — Repairs and compacts a database

Описание

public array Mongo::repairDB ( MongoDB $db [, boolean $preserve_cloned_files= false [, boolean $backup_original_files= false ]] )

Список параметров

db

The database to drop.

preserve_cloned_files

If cloned files should be kept if the repair fails.

backup_original_files

If original files should be backed up.

Возвращаемые значения

Returns the database response.

Mongo::prevError
Mongo::resetError
Mongo


Clears any flagged errors on the connection

Mongo::repairDB
Mongo::selectCollection
Mongo
PHP Manual

Mongo::resetError

(PECL mongo >=0.9.0)

Mongo::resetError — Clears any flagged errors on the connection

Описание

public array Mongo::resetError ( void )

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the database response.

Mongo::repairDB
Mongo::selectCollection
Mongo


Gets a database collection

Mongo::resetError
Mongo::selectDB
Mongo
PHP Manual

Mongo::selectCollection()

()

— Gets a database collection

Описание

public MongoCollection Mongo::selectCollection ( string|MongoDB $db , string $collection )

Список параметров

db

The database name.

collection

The collection name.

Возвращаемые значения

Returns a new collection object.

Errors/Exceptions

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::resetError
Mongo::selectDB
Mongo


Gets a database

Mongo::selectCollection
Mongo::__toString
Mongo
PHP Manual

Mongo::selectDB

(PECL mongo >=0.9.0)

Mongo::selectDB — Gets a database

Описание

public MongoDB Mongo::selectDB ( string $dbname )

Список параметров

dbname

The database name.

Возвращаемые значения

Returns a new db object.

Errors/Exceptions

Throws InvalidArgumentException if the database name is invalid.

Mongo::selectCollection
Mongo::__toString
Mongo


String representation of this connection

Mongo::selectDB
MongoDB
Mongo
PHP Manual

Mongo::__toString

(PECL mongo >=0.9.0)

Mongo::__toString — String representation of this connection

Описание

public string Mongo::__toString ( void )

Список параметров

This function has no parameters.

Возвращаемые значения

Returns hostname and port for this connection.

Mongo::selectDB
MongoDB
Mongo


The MongoDB class

Введение

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.

A few unusual, but valid, database names: "null", "[x,y]", "3", "\"", "/".

Unlike collection names, database names may contain "$".

Class synopsis

MongoDB
MongoDB {
/* Methods */
public array command ( array $data )
__construct ( Mongo $conn , string $name )
public MongoCollection createCollection ( string $name [, bool $capped= FALSE [, int $size= 0 [, int $max= 0 ]]] )
public array createDBRef ( mixed $ns , mixed $a )
public array drop ( void )
public array dropCollection ( mixed $coll )
public array execute ( mixed $code [, array $args= array() ] )
public array getCursorInfo ( void )
public array getDBRef ( array $ref )
public MongoGridFS getGridFS ([ string $arg1= "fs" [, string $arg2= NULL ]] )
public int getProfilingLevel ( void )
public array listCollections ( void )
public array repair ([ bool $preserve_cloned_files= FALSE [, bool $backup_original_files= FALSE ]] )
public MongoCollection selectCollection ( string $name )
public int setProfilingLevel ( int $level )
public string __toString ( void )
}

Содержание

  • 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
  • MongoDB::execute — Runs JavaScript code on the database server.
  • MongoDB::getCursorInfo — Gets information from the database about cursors
  • MongoDB::getDBRef — Fetches a database reference
  • MongoDB::getGridFS — Fetches toolkit for dealing with files stored in this database
  • MongoDB::getProfilingLevel — Gets this database's profiling level
  • MongoDB::listCollections — Get a list of collections in this database
  • MongoDB::repair — Repairs and compacts this database
  • MongoDB::selectCollection — Gets a collection
  • MongoDB::setProfilingLevel — Sets this database's profiling level
  • MongoDB::__toString — The name of this database
Mongo::__toString
MongoDB::command
Mongo


Execute a database command

MongoDB
MongoDB::__construct
MongoDB
PHP Manual

MongoDB::command

(PECL mongo >=0.9.2)

MongoDB::command — Execute a database command

Описание

public array MongoDB::command ( array $data )

Список параметров

data

The query to send.

Возвращаемые значения

Returns database response.

MongoDB
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 )

Список параметров

Mongo conn

Database connection.

name

Database name.

Возвращаемые значения

Returns the database.

Errors/Exceptions

Throws InvalidArgumentException 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 ]]] )

Список параметров

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.

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 ( mixed $ns , mixed $a )

Список параметров

ns

The collection to which the database reference will point.

a

Object or _id to which to create a reference.

Возвращаемые значения

Returns a database reference array.

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 function has no parameters.

Возвращаемые значения

Returns the database response.

MongoDB::createDBRef
MongoDB::dropCollection
MongoDB


Drops a collection

MongoDB::drop
MongoDB::execute
MongoDB
PHP Manual

MongoDB::dropCollection

(PECL mongo >=0.9.0)

MongoDB::dropCollection — Drops a collection

Описание

public array MongoDB::dropCollection ( mixed $coll )

Список параметров

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::getCursorInfo
MongoDB
PHP Manual

MongoDB::execute

()

MongoDB::execute — Runs JavaScript code on the database server.

Описание

public array MongoDB::execute ( mixed $code [, array $args= array() ] )

Список параметров

code

MongoCode or string to execute.

args

Arguments to be passed to code.

Возвращаемые значения

Returns the result of the evaluation.

MongoDB::dropCollection
MongoDB::getCursorInfo
MongoDB


Gets information from the database about cursors

MongoDB::execute
MongoDB::getDBRef
MongoDB
PHP Manual

MongoDB::getCursorInfo

()

MongoDB::getCursorInfo — Gets information from the database about cursors

Описание

public array MongoDB::getCursorInfo ( void )

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the database response.

MongoDB::execute
MongoDB::getDBRef
MongoDB


Fetches a database reference

MongoDB::getCursorInfo
MongoDB::getGridFS
MongoDB
PHP Manual

MongoDB::getDBRef

(PECL mongo >=0.9.0)

MongoDB::getDBRef — Fetches a database reference

Описание

public array MongoDB::getDBRef ( array $ref )

Список параметров

ref

A database reference.

Возвращаемые значения

Returns the database document pointed to by the reference.

MongoDB::getCursorInfo
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 $arg1= "fs" [, string $arg2= NULL ]] )

Список параметров

arg1

If the only argument, the prefix for the files and chunks collections. Otherwise, the name of the files collection.

arg2

Name of the chunks collection.

Возвращаемые значения

Returns a new gridfs object for this database.

MongoDB::getDBRef
MongoDB::getProfilingLevel
MongoDB


Gets this database's profiling level

MongoDB::getGridFS
MongoDB::listCollections
MongoDB
PHP Manual

MongoDB::getProfilingLevel

(PECL mongo >=0.9.0)

MongoDB::getProfilingLevel — Gets this database's profiling level

Описание

public int MongoDB::getProfilingLevel ( void )

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the profiling level.

MongoDB::getGridFS
MongoDB::listCollections
MongoDB


Get a list of collections in this database

MongoDB::getProfilingLevel
MongoDB::repair
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 )

Список параметров

This function has no parameters.

Возвращаемые значения

Returns a list of collection names.

MongoDB::getProfilingLevel
MongoDB::repair
MongoDB


Repairs and compacts this database

MongoDB::listCollections
MongoDB::selectCollection
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 ]] )

Список параметров

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::listCollections
MongoDB::selectCollection
MongoDB


Gets a collection

MongoDB::repair
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::repair
MongoDB::setProfilingLevel
MongoDB


Sets this database's profiling level

MongoDB::selectCollection
MongoDB::__toString
MongoDB
PHP Manual

MongoDB::setProfilingLevel

(PECL mongo >=0.9.0)

MongoDB::setProfilingLevel — Sets this database's profiling level

Описание

public int MongoDB::setProfilingLevel ( int $level )

Список параметров

level

Profiling level.

Возвращаемые значения

Returns the previous profiling level.

MongoDB::selectCollection
MongoDB::__toString
MongoDB


The name of this database

MongoDB::setProfilingLevel
MongoCollection
MongoDB
PHP Manual

MongoDB::__toString

(PECL mongo >=0.9.0)

MongoDB::__toString — The name of this database

Описание

public string MongoDB::__toString ( void )

Список параметров

This function has no parameters.

Возвращаемые значения

Returns this database's name.

MongoDB::setProfilingLevel
MongoCollection
MongoDB


The MongoCollection class

Введение

Representations a database collection.

Collection names cannot have a "$" in them, but other than that they can use any character in the ASCII set. Some valid collection names are "", "...", "my collection", and "*&#@".

Class synopsis

MongoCollection
MongoCollection {
/* Methods */
public boolean batchInsert ( array $a )
public __construct ( MongoDB $db , string $name )
public int count ([ array $query= array() [, array $fields= array() ]] )
public array createDBRef ( array $a )
public array deleteIndex ( string|array $keys )
public array deleteIndexes ( void )
public array drop ( void )
public boolean ensureIndex ( string|array $keys )
public MongoCursor find ([ array $query= array() [, array $fields= array() ]] )
public array findOne ([ array $query= array() ] )
public array getDBRef ( array $ref )
public array getIndexInfo ( void )
public string getName ( void )
public array group ( array $keys , array $initial , string $reduce [, array $condition= array() ] )
public boolean insert ( array $a )
public boolean remove ( array $criteria [, boolean $justOne= FALSE ] )
public boolean save ( array $a )
public string __toString ( void )
public boolean update ( array $criteria , array $newobj [, boolean $upsert= FALSE ] )
public array validate ([ bool $scan_data= FALSE ] )
}

Содержание

  • MongoCollection::batchInsert — Inserts an array of arrays into the 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::getDBRef — Fetches a database reference
  • MongoCollection::getIndexInfo — Returns an array of index names for this collection
  • MongoCollection::getName — Returns this collection's name
  • 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::__toString — String representation of this collection
  • MongoCollection::update — Update records based on a given criteria
  • MongoCollection::validate — Validates this collection
MongoDB::__toString
MongoCollection::batchInsert
Mongo


Inserts an array of arrays into the collection

MongoCollection
MongoCollection::__construct
MongoCollection
PHP Manual

MongoCollection::batchInsert

(PECL mongo >=0.9.0)

MongoCollection::batchInsert — Inserts an array of arrays into the collection

Описание

public boolean MongoCollection::batchInsert ( array $a )

Список параметров

a

An array of arrays.

Возвращаемые значения

Returns if the arrays were saved.

Примеры

Пример #1 MongoCollection::batchInsert() example

Batch insertion is a quick way to add many elements to the database at once

<?php
$batch = array();
for ($i=0; $i<100; $i++) {
  $batch[] = array("i" => i);
}

$m = new Mongo();
$c = $m->selectCollection("foo", "bar.baz");
$c->batchInsert($batch);

$cursor = $c->find()->sort(array("i" => 1));
while ($cursor->hasNext()) {
  $obj = $cursor->next();
  var_dump($obj["i"]);
}
?>

Результатом выполнения данного примера будет что-то подобное:

int(0)
int(1)
int(2)
...
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

Database.

name

Collection name.

Возвращаемые значения

Returns a new collection object.

Errors/Exceptions

Throws InvalidArgumentException 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()
 [, array $fields= array()
]] )

Список параметров

query

Only count documents matching this query.

fields

Only count documents with these fields.

Возвращаемые значения

Returns the number of documents.

Примеры

Пример #1 MongoCollection::count() example

<?php

$collection->insert(array('x'=>1));
$collection->insert(array('x'=>2));
$collection->insert(array('x'=>3, 'y'=>1));

var_dump($collection->count());
var_dump($collection->count(array('x'=>1)));
var_dump($collection->count(array(), array('z'=>1)));

?>

Результатом выполнения данного примера будет что-то подобное:

float(3)
float(1)
float(0)
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.

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 )

Список параметров

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->selectCollection("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 )

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the database response.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the database response.

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 boolean MongoCollection::ensureIndex ( string|array $keys )

Список параметров

keys

Field or fields to use as index.

Возвращаемые значения

Returns TRUE.

Примеры

Пример #1 MongoCollection::ensureIndex() example

<?php

$c = new MongoCollection($db, 'foo');

// create an index on 'x' ascending
$c->ensureIndex('x');

// create an index on 'y' ascending
$c->ensureIndex(array('y' => 1));

// create an index on 'w' descending
$c->ensureIndex(array('w' => -1));

// create an index on 'z' ascending and 'zz' descending
$c->ensureIndex(array('z' => 1, 'zz' => -1));

?>
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

// search for documents where 5 < x < 20
$rangeQuery = array('x' => array( '$gt' => 5, '$lt' => 20 ));

$cursor = $collection->find($rangeQuery);

?>
MongoCollection::ensureIndex
MongoCollection::findOne
MongoCollection


Querys this collection, returning a single element

MongoCollection::find
MongoCollection::getDBRef
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() ] )

Список параметров

query

The fields for which to search.

Возвращаемые значения

Returns record matching the search or NULL.

MongoCollection::find
MongoCollection::getDBRef
MongoCollection


Fetches a database reference

MongoCollection::findOne
MongoCollection::getIndexInfo
MongoCollection
PHP Manual

MongoCollection::getDBRef

(PECL mongo >=0.9.0)

MongoCollection::getDBRef — Fetches a database reference

Описание

public array MongoCollection::getDBRef ( array $ref )

Список параметров

ref

A database reference.

Возвращаемые значения

Returns the database document pointed to by the reference.

MongoCollection::findOne
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 )

Список параметров

This function has no parameters.

Возвращаемые значения

Returns a list of index names.

MongoCollection::getDBRef
MongoCollection::getName
MongoCollection


Returns this collection's name

MongoCollection::getIndexInfo
MongoCollection::group
MongoCollection
PHP Manual

MongoCollection::getName

(PECL mongo >=0.9.0)

MongoCollection::getName — Returns this collection's name

Описание

public string MongoCollection::getName ( void )

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the name of this collection.

Примеры

Пример #1 MongoCollection::getName() example

<?php

$m = new Mongo();
$c = $m->selectDB("foo")->selectCollection("bar.baz");

echo "Working with collection " . $c->getName() . ".";

?>

Результатом выполнения данного примера будет что-то подобное:

Working with collection bar.baz.

MongoCollection::getIndexInfo
MongoCollection::group
MongoCollection


Performs an operation similar to SQL's GROUP BY command

MongoCollection::getName
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 ( array $keys , array $initial , string $reduce [, array $condition= array() ] )

Список параметров

keys

Fields to group by.

initial

Initial value of the aggregation counter object.

reduce

A function that aggregates (reduces) the objects iterated.

condition

An condition that must be true for a row to be considered.

Возвращаемые значения

Returns an array containing the result.

Примеры

Пример #1 MongoCollection::group() example

<?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(1) {
  [0]=>
  array(1) {
    ["count"]=>
    int(1)
  }
}
MongoCollection::getName
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 boolean MongoCollection::insert ( array $a )

Список параметров

a

An array.

Возвращаемые значения

Returns if the array was inserted.

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 boolean MongoCollection::remove ( array $criteria [, boolean $justOne= FALSE ] )

Список параметров

criteria

Description of records to remove.

just_one

Remove at most one record matching this criteria.

Возвращаемые значения

Returns if the command was executed successfully.

MongoCollection::insert
MongoCollection::save
MongoCollection


Saves an object to this collection

MongoCollection::remove
MongoCollection::__toString
MongoCollection
PHP Manual

MongoCollection::save

(PECL mongo >=0.9.0)

MongoCollection::save — Saves an object to this collection

Описание

public boolean MongoCollection::save ( array $a )

If the object is from the database, update the existing database object, otherwise insert this object.

Список параметров

a

Array to save.

Возвращаемые значения

Returns if the object was saved.

MongoCollection::remove
MongoCollection::__toString
MongoCollection


String representation of this collection

MongoCollection::save
MongoCollection::update
MongoCollection
PHP Manual

MongoCollection::__toString

(PECL mongo >=0.9.0)

MongoCollection::__toString — String representation of this collection

Описание

public string MongoCollection::__toString ( void )

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the full name of this collection.

Примеры

Пример #1 MongoCollection::__toString() example

<?php

$m = new Mongo();
$c = $m->selectDB("foo")->selectCollection("bar.baz");

echo "Working with collection $c.";

?>

Результатом выполнения данного примера будет что-то подобное:

Working with collection foo.bar.baz.

MongoCollection::save
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 boolean MongoCollection::update ( array $criteria , array $newobj [, boolean $upsert= FALSE ] )

Список параметров

criteria

Description of the objects to update.

newobj

The object with which to update the matching records.

upsert

If $newobj should be inserted if the criteria is not found.

Возвращаемые значения

Returns if the update was successful.

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

Введение

Result object for database query.

The database is not actually queried until next() or hasNext() is called. Before the database is queried, commands can be strung together, as in:

<?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);
?>

Class synopsis

MongoCursor
implements Iterator {
/* Methods */
__construct ( resource $connection , string $ns [, array $query= array() [, array $fields= array() ]] )
public int count ( void )
public array current ( void )
protected void doQuery ( void )
public array explain ( void )
public array getNext ( void )
public boolean hasNext ( void )
public MongoCursor hint ( array $key_pattern )
public string key ( void )
public MongoCursor limit ( int $num )
public void next ( void )
public void reset ( void )
public void rewind ( void )
public MongoCursor skip ( int $num )
public MongoCursor softLimit ( int $num )
public MongoCursor sort ( array $fields )
public boolean valid ( void )
}

Содержание

  • MongoCursor::__construct — Create a new cursor
  • MongoCursor::count — Counts the number of results for this query
  • MongoCursor::current — Returns the current result
  • MongoCursor::doQuery — Execute the query.
  • MongoCursor::explain — Return an explanation of the query, often useful for optimization and debugging
  • 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::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::reset — Clears the cursor
  • MongoCursor::rewind — Returns the cursor to the beginning of the result set
  • MongoCursor::skip — Skips a number of results
  • MongoCursor::softLimit — Limits the number of results initially returned
  • MongoCursor::sort — Sorts the results by given fields
  • MongoCursor::valid — Checks if the cursor is reading a valid result.
MongoCollection::validate
MongoCursor::__construct
Mongo


Create a new cursor

MongoCursor
MongoCursor::count
MongoCursor
PHP Manual

MongoCursor::__construct

(PECL mongo >=0.9.0)

MongoCursor::__construct — Create a new cursor

Описание

MongoCursor::__construct ( resource $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
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 ( void )

Список параметров

This function has no parameters.

Возвращаемые значения

The number of documents returned by this cursor's query.

MongoCursor::__construct
MongoCursor::current
MongoCursor


Returns the current result

MongoCursor::count
MongoCursor::doQuery
MongoCursor
PHP Manual

MongoCursor::current

(PECL mongo >=0.9.0)

MongoCursor::current — Returns the current result

Описание

public array MongoCursor::current ( void )

Список параметров

This function has no parameters.

Возвращаемые значения

The current result.

MongoCursor::count
MongoCursor::doQuery
MongoCursor


Execute the query.

MongoCursor::current
MongoCursor::explain
MongoCursor
PHP Manual

MongoCursor::doQuery

()

MongoCursor::doQuery — Execute the query.

Описание

protected void MongoCursor::doQuery ( void )

Список параметров

This function has no parameters.

Возвращаемые значения

NULL.

MongoCursor::current
MongoCursor::explain
MongoCursor


Return an explanation of the query, often useful for optimization and debugging

MongoCursor::doQuery
MongoCursor::getNext
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 )

Список параметров

This function has no parameters.

Возвращаемые значения

Returns an explanation of the query.

MongoCursor::doQuery
MongoCursor::getNext
MongoCursor


Return the next object to which this cursor points, and advance the cursor

MongoCursor::explain
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 function has no parameters.

Возвращаемые значения

Returns the next object.

MongoCursor::explain
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 boolean MongoCursor::hasNext ( void )

Список параметров

This function has no parameters.

Возвращаемые значения

Returns if there is another element.

MongoCursor::getNext
MongoCursor::hint
MongoCursor


Gives the database a hint about the query

MongoCursor::hasNext
MongoCursor::key
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.

Errors/Exceptions

Throws MongoCursorException if this cursor has started iterating.

MongoCursor::hasNext
MongoCursor::key
MongoCursor


Returns the current result's _id

MongoCursor::hint
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 )

Список параметров

This function has no parameters.

Возвращаемые значения

The current result's _id.

MongoCursor::hint
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.

Errors/Exceptions

Throws MongoCursorException if this cursor has started iterating.

MongoCursor::key
MongoCursor::next
MongoCursor


Advances the cursor to the next result

MongoCursor::limit
MongoCursor::reset
MongoCursor
PHP Manual

MongoCursor::next

(PECL mongo >=0.9.0)

MongoCursor::next — Advances the cursor to the next result

Описание

public void MongoCursor::next ( void )

Список параметров

This function has no parameters.

Возвращаемые значения

NULL.

MongoCursor::limit
MongoCursor::reset
MongoCursor


Clears the cursor

MongoCursor::next
MongoCursor::rewind
MongoCursor
PHP Manual

MongoCursor::reset

(PECL mongo >=0.9.0)

MongoCursor::reset — Clears the cursor

Описание

public void MongoCursor::reset ( void )

Список параметров

This function has no parameters.

Возвращаемые значения

NULL.

MongoCursor::next
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 function has no parameters.

Возвращаемые значения

NULL.

MongoCursor::reset
MongoCursor::skip
MongoCursor


Skips a number of results

MongoCursor::rewind
MongoCursor::softLimit
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.

Errors/Exceptions

Throws MongoCursorException if this cursor has started iterating.

MongoCursor::rewind
MongoCursor::softLimit
MongoCursor


Limits the number of results initially returned

MongoCursor::skip
MongoCursor::sort
MongoCursor
PHP Manual

MongoCursor::softLimit

(PECL mongo >=0.9.0)

MongoCursor::softLimit — Limits the number of results initially returned

Описание

public MongoCursor MongoCursor::softLimit ( int $num )

Список параметров

num

The number of results to return.

Возвращаемые значения

Returns this cursor.

Errors/Exceptions

Throws MongoCursorException if this cursor has started iterating.

Примеры

Пример #1 MongoCursor::softLimit() and MongoCursor::limit() example

limit() and softLimit() are mutually exclusive, and whichever one comes last will "win":

<?php
// 20 returned
$cursor1 = $collection->find()->softLimit(10)->limit(20);

// all documents returned, 10 sent to the client on initial request
$cursor2 = $collection->find()->limit(20)->softLimit(10);
?>
MongoCursor::skip
MongoCursor::sort
MongoCursor


Sorts the results by given fields

MongoCursor::softLimit
MongoCursor::valid
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.

Errors/Exceptions

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::softLimit
MongoCursor::valid
MongoCursor


Checks if the cursor is reading a valid result.

MongoCursor::sort
MongoGridFS
MongoCursor
PHP Manual

MongoCursor::valid

(PECL mongo >=0.9.0)

MongoCursor::valid — Checks if the cursor is reading a valid result.

Описание

public boolean MongoCursor::valid ( void )

Список параметров

This function has no parameters.

Возвращаемые значения

If the current result is not null.

MongoCursor::sort
MongoGridFS
MongoCursor


The MongoGridFS class

Введение

Utilities for storing and retreiving files from the database.

Class synopsis

MongoGridFS
extends MongoCollection {
/* Methods */
__construct ( MongoDB $db [, string $files= NULL [, string $chunks= NULL ]] )
public array drop ( void )
public MongoGridFSCursor find ([ array $query= array() [, array $fields= array() ]] )
public MongoGridFSFile findOne ([ mixed $query= array() ] )
public boolean remove ([ array $criteria= array() [, boolean $just_one= FALSE ]] )
public MongoId storeFile ( string $filename [, array $extra= array() ] )
public mixed storeUpload ( string $name [, string $filename ] )
}

Содержание

  • MongoGridFS::__construct — Creates new file collections
  • MongoGridFS::drop — Drops the files and chunks collections
  • MongoGridFS::find — Queries for files
  • MongoGridFS::findOne — Returns a single file matching the criteria
  • MongoGridFS::remove — Removes files from the collections
  • MongoGridFS::storeFile — Stores a file in the database
  • MongoGridFS::storeUpload — Saves an uploaded file to the database
MongoCursor::valid
MongoGridFS::__construct
Mongo


Creates new file collections

MongoGridFS
MongoGridFS::drop
MongoGridFS
PHP Manual

MongoGridFS::__construct

(PECL mongo >=0.9.0)

MongoGridFS::__construct — Creates new file collections

Описание

MongoGridFS::__construct ( MongoDB $db [, string $files= NULL [, string $chunks= NULL ]] )

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.

Use two arguments to fully specify the collection names:

$fs = new MongoGridFS($db, "myfiles", "mychunks");
uses myfiles and mychunks collections.

Список параметров

db

Database.

files

Optional files collection name. If chunks is not given, files is used as both collections' prefix.

chunks

Optional chunks collection name.

MongoGridFS
MongoGridFS::drop
MongoGridFS


Drops the files and chunks collections

MongoGridFS::__construct
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 )

Список параметров

This function has no parameters.

Возвращаемые значения

The database response.

MongoGridFS::__construct
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 file cursor to the results.

MongoGridFS::drop
MongoGridFS::findOne
MongoGridFS


Returns a single file matching the criteria

MongoGridFS::find
MongoGridFS::remove
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() ] )

Список параметров

query

The filename or criteria for which to search.

Возвращаемые значения

Returns a file or NULL.

MongoGridFS::find
MongoGridFS::remove
MongoGridFS


Removes files from the collections

MongoGridFS::findOne
MongoGridFS::storeFile
MongoGridFS
PHP Manual

MongoGridFS::remove

(PECL mongo >=0.9.0)

MongoGridFS::remove — Removes files from the collections

Описание

public boolean MongoGridFS::remove ([ array $criteria= array() [, boolean $just_one= FALSE ]] )

Список параметров

query

The filename or criteria for which to search.

just_one

If only one matching file should be removed.

Возвращаемые значения

Returns if the removal was successful.

MongoGridFS::findOne
MongoGridFS::storeFile
MongoGridFS


Stores a file in the database

MongoGridFS::remove
MongoGridFS::storeUpload
MongoGridFS
PHP Manual

MongoGridFS::storeFile

(PECL mongo >=0.9.0)

MongoGridFS::storeFile — Stores a file in the database

Описание

public MongoId MongoGridFS::storeFile ( string $filename [, array $extra= array() ] )

Список параметров

filename

The name of the file.

extra

Other metadata to add to the file saved.

Возвращаемые значения

Returns the database id for the file.

MongoGridFS::remove
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 [, string $filename ] )

Список параметров

name

The name field of the uploaded file.

filename

String to be used as filename field in the database.

Возвращаемые значения

Returns the _id of the uploaded file.

MongoGridFS::storeFile
MongoGridFSFile
MongoGridFS


The MongoGridFSFile class

Введение

A database file object.

Class synopsis

MongoGridFSFile
MongoGridFSFile {
/* Methods */
MongoGridfsFile::__construct ( MongoGridFS $gridfs , array $file )
public string getBytes ( void )
public string getFilename ( void )
public int getSize ( void )
public int 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
Mongo


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!

Список параметров

This function has no parameters.

Возвращаемые значения

Returns a string of the bytes in the file.

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 )

Список параметров

This function has no parameters.

Возвращаемые значения

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 )

Список параметров

This function has no parameters.

Возвращаемые значения

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.

MongoGridFSFile::getSize
MongoGridFSCursor
MongoGridFSFile


The MongoGridFSCursor class

Введение

Cursor for database file results.

Class synopsis

MongoGridFSCursor
extends MongoCursor {
/* Methods */
__construct ( MongoGridFS $gridfs , resource $connection , string $ns [, array $query= array() [, array $fields= array() ]] )
public MongoGridFSFile current ( void )
public MongoGridFSFile getNext ( void )
public string 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
Mongo


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() [, array $fields= array() ]] )

Список параметров

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 )

Список параметров

This function has no parameters.

Возвращаемые значения

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 )

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the next file.

MongoGridFSCursor::current
MongoGridFSCursor::key
MongoGridFSCursor


Returns the current result's filename

MongoGridFSCursor::getNext
MongoId
MongoGridFSCursor
PHP Manual

MongoGridFSCursor::key

(PECL mongo >=0.9.0)

MongoGridFSCursor::key — Returns the current result's filename

Описание

public string MongoGridFSCursor::key ( void )

Список параметров

This function has no parameters.

Возвращаемые значения

The current result's filename.

MongoGridFSCursor::getNext
MongoId
MongoGridFSCursor


The MongoId class

Введение

A unique identifier created for database objects.

Class synopsis

MongoId
MongoId {
/* Methods */
__construct ([ string $id= NULL ] )
public string __toString ( void )
}

Содержание

  • MongoId::__construct — Creates a new id
  • MongoId::__toString — Returns a hexidecimal representation of this id
MongoGridFSCursor::key
MongoId::__construct
Mongo


Creates a new id

MongoId
MongoId::__toString
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.

Возвращаемые значения

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";

  $id1 = new MongoId();
  echo "$id2\n";

  ?>

Результатом выполнения данного примера будет что-то подобное:

49a7011a05c677b9a916612a
49a702d5450046d3d515d10d

Note that the second hexidecimal number is greater than the first.

Пример #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::__toString
MongoId


Returns a hexidecimal representation of this id

MongoId::__construct
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 function has no parameters.

Возвращаемые значения

This id.

Примеры

Пример #1 MongoId::__toString() example

<?php
$obj = array( "x" => "y" );

$m = new Mongo();
$collection = $m->selectDB("foo")->selectCollection("bar");

$collection->insert($obj);
$collection->insert($obj);

$cursor = $collection->find();
$r1 = cursor->next();
$r2 = cursor->next();

echo $r1["_id"] . "\n";
echo $r2["_id"] . "\n";
?>

Результатом выполнения данного примера будет что-то подобное:

49a7011a05c677b9a916612a
49a702d5450046d3d515d10d
MongoId::__construct
MongoCode
MongoId


The MongoCode class

Введение

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.

Class synopsis

MongoCode
MongoCode {
/* Methods */
__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
Mongo


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(x) { for(i=0;i<10;i++) { db.foo.update({x:i}, {x:i+1}); } return x-1; }', array("x" => 4));
var_dump($code);

?>

Результатом выполнения данного примера будет что-то подобное:

object(MongoCode)#1 (2) {
  ["scope"]=>
  array(1) {
    ["x"]=>
    int(4)
  }
  ["code"]=>
  string(80) "function(x) { for(i=0;i<10;i++) { db.foo.update({x:i}, {x:i+1}); } 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 function has no parameters.

Возвращаемые значения

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

Введение

Represent date objects for the database.

Includes second (sec) and microsecond (usec) fields.

Class synopsis

MongoDate
MongoDate {
/* Methods */
__construct ([ long $sec [, long $usec ]] )
public string __toString ( void )
}

Содержание

  • MongoDate::__construct — Creates a new date.
  • MongoDate::__toString — Returns a string representation of this date
MongoCode::__toString
MongoDate::__construct
Mongo


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 ([ long $sec [, long $usec ]] )

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";

?>

Результатом выполнения данного примера будет что-то подобное:

0.23660600 1235685067
0.00000000 1234567890

Смотрите также

  • 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 function has no parameters.

Возвращаемые значения

This date.

MongoDate::__construct
MongoRegex
MongoDate


The MongoRegex class

Введение

This class can be used to interact with regular expression fetched from the database and in order to put regular expression in the database.

Class synopsis

MongoRegex
MongoRegex {
/* Methods */
__construct ( string $regex )
public string __toString ( void )
}

Содержание

  • MongoRegex::__construct — Creates a new regular expression
  • MongoRegex::__toString — A string representation of this regular expression
MongoDate::__toString
MongoRegex::__construct
Mongo


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 function has no parameters.

Возвращаемые значения

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

Введение

An object that can be used to store or retreive binary data from the database.

Class synopsis

MongoBinData
MongoBinData {
/* Methods */
public __construct ( string $data [, int $type ] )
public string __toString ( void )
}

Содержание

  • MongoBinData::__construct — Creates a new binary data object.
  • MongoBinData::__toString — The string representation of this binary data object.
MongoRegex::__toString
MongoBinData::__construct
Mongo


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 ] )

Creates a new binary data object.

Список параметров

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
MongoDBRef
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 representing this binary data object.

Список параметров

This function has no parameters.

Возвращаемые значения

This byte array.

MongoBinData::__construct
MongoDBRef
MongoBinData


The MongoDBRef class

Введение

This class can be used to create lightweight links between objects in different collections.

Class synopsis

MongoDBRef
MongoDBRef {
/* Methods */
public static array create ( string $ns , mixed $id )
public static array get ( MongoDB $db , array $ref )
public static boolean isRef ( array $ref )
}

Содержание

  • 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
MongoBinData::__toString
MongoDBRef::create
Mongo


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 $ns , mixed $id )

Список параметров

ns

Database and collection name.

id

The id of the object to link.

Возвращаемые значения

Returns the 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 object or NULL.

MongoDBRef::create
MongoDBRef::isRef
MongoDBRef


Checks if an array is a database reference

MongoDBRef::get
mSQL
MongoDBRef
PHP Manual

MongoDBRef::isRef

(PECL mongo >= 0.9.0)

MongoDBRef::isRef — Checks if an array is a database reference

Описание

public static boolean MongoDBRef::isRef ( array $ref )

Список параметров

ref

Array to check.

Возвращаемые значения

Returns if ref is a reference.

MongoDBRef::get
mSQL
MongoDBRef


mSQL

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • mSQL usage example
  • 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
MongoDBRef::isRef
Введение
Vendor Specific Database Extensions


Введение

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


Установка

In order to have these functions available, you must compile PHP with msql support by using the --with-msql[=DIR] option. DIR is the mSQL base install directory, defaults to /usr/local/msql3.

Замечание: Note to Win32 Users
In order for this extension to work, there are DLL files that must be available to the Windows system PATH. For information on how to do this, see the FAQ entitled "How do I add my PHP directory to the PATH on Windows". Although copying DLL files from the PHP folder into the Windows system directory also works (because the system directory is by default in the system's PATH), this is not recommended. This extension requires the following files to be in the 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_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

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


Примеры

Содержание

  • mSQL usage example
Предопределенные константы
mSQL usage example
mSQL


mSQL usage example

Примеры
mSQL Функции
Примеры
PHP Manual

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
mSQL usage example
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

The result resource that is being evaluated. This result comes from a call to 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

The mSQL connection. If not specified, the last link opened by msql_connect() is assumed. If no such link is found, the function will try to establish a link as if msql_connect() was called, and use it.

Возвращаемые значения

Возвращает 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.

In case 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

The mSQL connection. If not specified, the last link opened by msql_connect() is assumed. If no such link is found, the function will try to establish a link as if msql_connect() was called, and use it.

Возвращаемые значения

Возвращает 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

The result resource that is being evaluated. This result comes from a call to 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

The mSQL connection. If not specified, the last link opened by msql_connect() is assumed. If no such link is found, the function will try to establish a link as if msql_connect() was called, and use it.

Возвращаемые значения

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

The mSQL connection. If not specified, the last link opened by msql_connect() is assumed. If no such link is found, the function will try to establish a link as if msql_connect() was called, and use it.

Возвращаемые значения

Возвращает 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

The result resource that is being evaluated. This result comes from a call to 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 ] )

msql_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 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

The result resource that is being evaluated. This result comes from a call to 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

The result resource that is being evaluated. This result comes from a call to 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

The result resource that is being evaluated. This result comes from a call to msql_query().

field_offset

The numerical field offset. The field_offset starts at 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

The result resource that is being evaluated. This result comes from a call to msql_query().

field_offset

The numerical field offset. The field_offset starts at 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

The result resource that is being evaluated. This result comes from a call to msql_query().

field_offset

The numerical field offset. The field_offset starts at 1.

Возвращаемые значения

The name of the field or FALSE on failure.

Смотрите также

  • 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

The result resource that is being evaluated. This result comes from a call to msql_query().

field_offset

The numerical field offset. The field_offset starts at 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

The result resource that is being evaluated. This result comes from a call to msql_query().

field_offset

The numerical field offset. The field_offset starts at 1.

Возвращаемые значения

The name of the table on success, or FALSE on failure.

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

The result resource that is being evaluated. This result comes from a call to msql_query().

field_offset

The numerical field offset. The field_offset starts at 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

The result resource that is being evaluated. This result comes from a call to 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

The mSQL connection. If not specified, the last link opened by msql_connect() is assumed. If no such link is found, the function will try to establish a link as if msql_connect() was called, and use it.

Возвращаемые значения

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

The mSQL connection. If not specified, the last link opened by msql_connect() is assumed. If no such link is found, the function will try to establish a link as if msql_connect() was called, and use it.

Возвращаемые значения

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

The mSQL connection. If not specified, the last link opened by msql_connect() is assumed. If no such link is found, the function will try to establish a link as if msql_connect() was called, and use it.

Возвращаемые значения

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

The result resource that is being evaluated. This result comes from a call to 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

The result resource that is being evaluated. This result comes from a call to 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

The mSQL connection. If not specified, the last link opened by msql_connect() is assumed. If no such link is found, the function will try to establish a link as if msql_connect() was called, and use it.

Возвращаемые значения

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

The result resource that is being evaluated. This result comes from a call to 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

The mSQL connection. If not specified, the last link opened by msql_connect() is assumed. If no such link is found, the function will try to establish a link as if msql_connect() was called, and use it.

Возвращаемые значения

Возвращает 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
Введение
Vendor Specific Database Extensions


Введение

These functions allow you to access MS SQL Server database.

SQLSRV, an alternative driver for MS SQL is available from Microsoft: » http://www.microsoft.com/sqlserver/2005/en/us/PHP-Driver.aspx. The documentation is available at » http://msdn.microsoft.com/en-us/library/cc296221.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.

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 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.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в 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_*, обратитесь к документации функции ini_set().

Установка
Типы ресурсов
Установка и настройка


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

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 if -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
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 ]]]] )

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.

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';

$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
$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 the default value of 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().

Примеры

Пример #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);
?>

Возвращаемые значения

Returns an associative array that corresponds to the fetched row, or FALSE if there are no more rows.

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
$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 MSSQL
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 server and 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 failed?
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, or FALSE on failure.

Примеры

Пример #1 mssql_field_length() example

<?php
// Connect MSSQL
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 type and 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, or FALSE on failure.

Примеры

Пример #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 MSSQL
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, or FALSE on failure.

Примеры

Пример #1 mssql_field_type() example

<?php
// Connect MSSQL
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

Список параметров

This function has no parameters.

Возвращаемые значения

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
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 to use short format, defaults to FALSE

Возвращаемые значения

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
mssql_connect('KALLESPC\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');

// 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
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 MSSQL
$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
$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 ]]]] )

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 the database server
$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

A 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);
?>

Смотрите также

  • 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_change_user — Изменяет пользователя для указанного соединения.
    • mysql_client_encoding — Возвращает кодировку соединения
    • mysql_close — Закрывает соединение с сервером MySQL
    • mysql_connect — Открывает соединение с сервером MySQL
    • mysql_create_db — Создаёт базу данных MySQL
    • mysql_data_seek — Перемещает внутренний указатель в результате запроса
    • mysql_db_name — Возвращает название базы данных
    • mysql_db_query — Переключается к указанной базе данных и посылает запрос
    • mysql_drop_db — Уничтожает базу данных MySQL
    • mysql_errno — Возвращает численный код ошибки выполнения последней операции с MySQL
    • mysql_error — Возвращает строку ошибки последней операции с MySQL.
    • mysql_escape_string — Экранирует SQL спец-символы для 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 — Возвращает 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 — Sets the client character set
    • mysql_stat — Возвращает текущий статус сервера
    • mysql_tablename — Возвращает имя таблицы, содержащей указанное поле
    • mysql_thread_id — Возвращает ID текущего потока
    • mysql_unbuffered_query — Посылает MySQL SQL-запрос без авто-обработки результата и её буфферизации.
mssql_select_db
Введение
Vendor Specific Database Extensions


Введение

Расширение позволяет вам работать с СУБД MySQL. За информацией о MySQL обращайтесь к » http://www.mysql.com/.

Документация MySQL находится по адресу » http://dev.mysql.com/doc/.

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


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
MySQL


Требования

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

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


Установка

Используя директиву --with-mysql[=DIR] вы можете включить в PHP поддержку СУБД MySQL.

В PHP 4, директива --with-mysql включена по умолчанию. Чтобы отключить её, используйте директиву конфигурации --without-mysql. Кроме того, в PHP 4, при включении директивы без указания пути к папке установки MySQL, PHP будет использовать встроенную библиотеку MySQL-клиента. В Windows специальные DLL отсутствуют, клиент всегда встроен в PHP4. При использовании приложений использующих MySQL (к примеру, auth-mysql) не стоит использовать встроенную библиотеку -- укажите путь к папке установки MySQL, что будет выглядеть примерно так: --with-mysql=/path/to/mysql. Это заставит PHP использовать библиотеку, установленную MySQL, что позволит избежать любых конфликтов.

В PHP 5 поддержка MySQL больше не включена по умолчанию, кроме того в нём отсутствует встроенная библиотека-клиент. Подробнее о причине можно прочитать в FAQ.

Расширение работает с MySQL версий >= 4.1.0, но не эксплуатирует всю возможную функциональность этих версий. Для этого используйте MySQLi.

Внимание

Сбои в работе PHP могут иметь место при загрузке совместно этого расширения и расширения для работы с библиотекой GNU Recode. За дополнительной информацией обращайтесь к разделу о расширении для recode.

Замечание: Если вам требуется поддержка кодировок (отличных от latin, установленной по умолчанию), вам придётся установить внешнюю библиотеку, скомпилированную с их поддержкой.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Директивы конфигурации MySQL
Имя | Значение по умолчанию | Область изменения | Changelog
mysql.allow_persistent | "On" | 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 | "0" | PHP_INI_SYSTEM | PHP_INI_SYSTEM в PHP <= 4.3.2. Доступна с PHP 4.3.0.

Для подробного описания констант PHP_INI_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

mysql.allow_persistent логическое

Позволять ли постоянные соединения с MySQL.

mysql.max_persistent целое

Максимальное количество постоянных соединений на один процесс.

mysql.max_links целое

Максимальное количество соединений с MySQL на один процесс, включая постоянные соединения.

mysql.trace_mode boolean

mysql.default_port строка

TCP-порт, используемый для соединения с базой данных по умолчанию (если не был указан другой). Если эта директива опущена, порт будет взят из переменной среды MYSQL_TCP_PORT, значения mysql-tcp в /etc/services или константы MYSQL_PORT, указанной при компиляции, в указанном порядке. Win32 использует только константу MYSQL_PORT.

mysql.default_socket строка

Тип сокета, используемого для соединения с локальной базой данных, если не был указан другой.

mysql.default_host строка

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

mysql.default_user строка

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

mysql.default_password строка

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

mysql.connect_timeout целое

Время ожидания овета до разрыва соединения в секундах. 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_fetch_array() использует константы для определения типа возвращаемого массива. Предопределены следующие константы:

Константы выборки MySQL
константа | описание
MYSQL_ASSOC | Результат возвращается в ассоциативном массиве с индексами под именами колонок.
MYSQL_BOTH | Результат возвращается в массиве, содержащем как численные индексы, так и индексы под именами колонок.
MYSQL_NUM | Результат возвращается в массиве, содержащем численные индексы. Индексы стартуют с 0 (0 содержит первую колонку).

Типы ресурсов
Примеры
MySQL


Примеры

Содержание

  • Пример работы с MySQL
Предопределенные константы
Пример работы с MySQL
MySQL


Пример работы с MySQL

Примеры
MySQL
Примеры
PHP Manual

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

Пример #1 Пример работы с MySQL

<?php
    /* Соединяемся, выбираем базу данных */
    $link = mysql_connect("mysql_host", "mysql_user", "mysql_password")
        or die("Could not connect : " . mysql_error());
    print "Connected successfully";
    mysql_select_db("my_database") or die("Could not select database");

    /* Выполняем SQL-запрос */
    $query = "SELECT * FROM my_table";
    $result = mysql_query($query) or die("Query failed : " . mysql_error());

    /* Выводим результаты в html */
    print "<table>\n";
    while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
        print "\t<tr>\n";
        foreach ($line as $col_value) {
            print "\t\t<td>$col_value</td>\n";
        }
        print "\t</tr>\n";
    }
    print "</table>\n";

    /* Освобождаем память от результата */
    mysql_free_result($result);

    /* Закрываем соединение */
    mysql_close($link);
?>

Примеры
MySQL
Примеры


Функции СУБД MySQL

Примечания

Замечание: Большинство функций MySQL принимают link_identifier как последний, опциональный параметр. Если он не указан, то используется последнее открытое соединение. Если соединений нет, то модуль пытается открыть соединение используя параметры, указанные в php.ini. В случае неудачи, функции возвращают FALSE. FALSE.

Содержание

  • mysql_affected_rows — Возвращает число затронуиых прошлой операцией рядов.
  • mysql_change_user — Изменяет пользователя для указанного соединения.
  • mysql_client_encoding — Возвращает кодировку соединения
  • mysql_close — Закрывает соединение с сервером MySQL
  • mysql_connect — Открывает соединение с сервером MySQL
  • mysql_create_db — Создаёт базу данных MySQL
  • mysql_data_seek — Перемещает внутренний указатель в результате запроса
  • mysql_db_name — Возвращает название базы данных
  • mysql_db_query — Переключается к указанной базе данных и посылает запрос
  • mysql_drop_db — Уничтожает базу данных MySQL
  • mysql_errno — Возвращает численный код ошибки выполнения последней операции с MySQL
  • mysql_error — Возвращает строку ошибки последней операции с MySQL.
  • mysql_escape_string — Экранирует SQL спец-символы для 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 — Возвращает 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 — Sets the client character set
  • mysql_stat — Возвращает текущий статус сервера
  • mysql_tablename — Возвращает имя таблицы, содержащей указанное поле
  • mysql_thread_id — Возвращает ID текущего потока
  • mysql_unbuffered_query — Посылает MySQL SQL-запрос без авто-обработки результата и её буфферизации.
Пример работы с MySQL
mysql_affected_rows
MySQL


Возвращает число затронуиых прошлой операцией рядов.

MySQL
mysql_change_user
MySQL
PHP Manual

mysql_affected_rows

(PHP 4, PHP 5)

mysql_affected_rows — Возвращает число затронуиых прошлой операцией рядов.

Описание

int mysql_affected_rows ([ resource $link_identifier ] )

mysql_affected_rows() возвращает количество рядов, затронутых последним INSERT, UPDATE, DELETE запросом к серверу, на который ссылается указатель link_identifier . Если ресурс не указан, функция использует последнее, успешное соединение, выполненное с помощью функции mysql_connect().

Замечание: При использовании транзакций mysql_affected_rows() надо вызывать после INSERT, UPDATE, DELETE запроса, но не после подтверждения.

Если последний запрос был DELETE без указания WHERE и, соответственно, таблица была очищена, функция вернёт ноль (0).

Замечание: При использовании UPDATE, MySQL не обновит колонки, уже содержащие новое значение. Вследствие этого, функция mysql_affected_rows() не всегда возвращает количество рядов, подошедших по условия, только количество рядов, обновлённых запросом.

mysql_affected_rows() не работает с SELECT -- только с запросами, модифицирующими таблицу. Чтобы получить количество рядов, возвращённых SELECT-запросом, используйте функцию mysql_num_rows().

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

Пример #1 DELETE-запрос

<?php
    /* соединямеся с базой данных */
    mysql_pconnect("localhost", "mysql_user", "mysql_password") or
        die("Could not connect: " . mysql_error());
    mysql_select_db("mydb");

    /* здесь функция вернёт корректное число удалённых записей */
    mysql_query("DELETE FROM mytable WHERE id < 10");
    printf ("Records deleted: %d\n", mysql_affected_rows());

    /* без указания WHERE в запросе, функция всегда возвращает 0  */
    mysql_query("DELETE FROM mytable");
    printf ("Records deleted: %d\n", mysql_affected_rows());
?>

Вышеописанный пример выдаст следующий результат:

Records deleted: 10
Records deleted: 0

Пример #2 UPDATE-запрос

<?php
    /* соединямеся с базой данных */
    mysql_pconnect("localhost", "mysql_user", "mysql_password") or
        die("Could not connect: " . mysql_error());
    mysql_select_db("mydb");

    /* Обновляем ряды */
    mysql_query("UPDATE mytable SET used=1 WHERE id < 10");
    printf ("Updated records: %d\n", mysql_affected_rows());
    mysql_query("COMMIT");
?>

Вышеописанный пример выдаст следующий результат:

Updated Records: 10

См. также mysql_num_rows(), mysql_info().

MySQL
mysql_change_user
MySQL


Изменяет пользователя для указанного соединения.

mysql_affected_rows
mysql_client_encoding
MySQL
PHP Manual

mysql_change_user

(PHP 3 <= 3.0.13)

mysql_change_user — Изменяет пользователя для указанного соединения.

Описание

int mysql_change_user ( string $user , string $password [, string $database [, resource $link_identifier ]] )

mysql_change_user() изменяет пользователя для указанного текущего активного соединения, или соединения переданного опциональным параметром link_identifier . Если параметр указателя передан, то после выполнения операции, соединение с сервером, на который он ссылается становится текущим соединением. Если авторизация по переданным параметрам не успешна, то пользователь не изменяется. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Замечание: Эта функция была введена в PHP 3.0.13 и требует MySQL 3.23.3 или выше. Она недоступна в PHP4.

mysql_affected_rows
mysql_client_encoding
MySQL


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

mysql_change_user
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_client_encoding() возвращает название кодировки, с которой работет текущее соединения.

Пример #1 Пример использования mysql_client_encoding()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$charset = mysql_client_encoding($link);
printf ("current character set is %s\n", $charset);
?>

Вышеописанный пример выдаст следующий результат:

current character set is latin1

Cм. таже mysql_real_escape_string()

mysql_change_user
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 ] )

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

mysql_close() закрывает соедиение с базой данных MySQL, на которое указывает переданный указатель. Если параметр link_identifier не указан, закрывается последнее открытое (текущее) соединение.

Использование mysql_close() не необходимо для непостоянных соединений. Они автоматически закрываются в конце скрипта. См. также высвобождение ресурсов.

Замечание: mysql_close() не может закрывать постоянные соединения, открытые функцией mysql_pconnect().

Пример #1 Пример использования

<?php
    $link = mysql_connect("localhost", "mysql_user", "mysql_password")
        or die("Could not connect: " . mysql_error());
    print ("Connected successfully");
    mysql_close($link);
?>

См. также mysql_connect() и mysql_pconnect().

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 [, string $username [, string $password [, bool $new_link [, int $client_flags ]]]]] )

Возвращает указатель на соединение с MySQL в случае успешного выполнения, или FALSE при неудаче.

mysql_connect() устанавливает соединение с сервером MySQL. Следующие значения по умолчанию установлены для отсутствующих параметров: server = 'localhost:3306', username = имя пользователя владельца процесса сервера и password = пустой пароль.

Параметр server может также включать номер порта, к примеру "hostname:port" или путь к сокету, к примеру ":/path/to/socket" для локального сервера.

Замечание: При указании параметру server значения "localhost" или "localhost:port" клиентская библиотека MySQL будет пытаться соединиться с локальным сокетом. Если вы всё же хотите использовать TCP/IP, используйте адрес "127.0.0.1" вместо "localhost". Если клиентская библиотека пытается подключиться не к тому локальному сокету, это можно исправить через указание директивы mysql.default_host в конфигурации PHP, после чего можно оставлять параметр server пустым.
Поддержка указания порта через ":port" была добавлена в PHP 3.0B4.
Поддержка указания локального сокета как ":/path/to/socket" была добавлена в PHP 3.0.10.
Подавить вывод ошибок можно добавив @ в начало названия функции (@mysql_connect())

Если второй вызов функции произошёл с теми же аргументами mysql_connect(), новое соединение не будет установлено. Вместо этого функция вернёт ссылку на уже установленное соединение. Параметр new_link может заставить функцию mysql_connect() открыть ещё одно соединение, даже если соединение с аналогичными параметрами уже открыто. Параметр client_flags должен быть комбинацией из следующих констант: MYSQL_CLIENT_COMPRESS, MYSQL_CLIENT_IGNORE_SPACE, MYSQL_CLIENT_INTERACTIVE.

Замечание: Параметр new_link добавлен в PHP 4.2.0
Параметр client_flags добавлен PHP 4.3.0

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

Пример #1 Пример использования mysql_connect()

<?php
    $link = mysql_connect("localhost", "mysql_user", "mysql_password")
        or die("Could not connect: " . mysql_error());
    print ("Connected successfully");
    mysql_close($link);
?>

См. также mysql_pconnect() and mysql_close().

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() пытается создать базу данных на сервере, на который ссылается переданный указатель.

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Пример #1 Пример создания базы данных MySQL

<?php
    $link = mysql_pconnect("localhost", "mysql_user", "mysql_password")
        or die("Could not connect: " . mysql_error());

    if (mysql_create_db("my_db")) {
        print ("Database created successfully\n");
    } else {
        printf ("Error creating database: %s\n", mysql_error());
    }
?>

Для совместимости, как алиас, доступна устаревшая функция mysql_createdb() Однако, использовать её крайне не рекомандуется.

Замечание: Функция mysql_create_db() не рекомендуется к использованию. Предпочтительнее использовать mysql_query() с SQL-запросов создания базы данных SQL CREATE DATABASE.

Внимание

Эта функция недоступна в библиотеке для MySQL версий 4.x.

См. также mysql_drop_db() и mysql_query().

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_identifier , int $row_number )

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

mysql_data_seek() перемещает внутренний указатель в результате запроса к ряду с указанным номером. Следующий вызов mysql_fetch_row() вернёт именно его.

Параметр Row_number должен быть значением от 0 до mysql_num_rows - 1.

Замечание:

      Функция mysql_data_seek() может быть использована
      только с mysql_query(), но не с
      mysql_unbuffered_query().

Пример #1 Пример использования mysql_data_seek()

<?php
    $link = mysql_pconnect("localhost", "mysql_user", "mysql_password")
        or die("Could not connect: " . mysql_error());

    mysql_select_db("samp_db")
        or die("Could not select database: " . mysql_error());

    $query = "SELECT last_name, first_name FROM friends";
    $result = mysql_query($query)
        or die("Query failed: " . mysql_error());

    /* получение рядов в обратном порядке */
    for ($i = mysql_num_rows($result) - 1; $i >= 0; $i--) {
        if (!mysql_data_seek($result, $i)) {
            echo "Cannot seek to row $i: " . mysql_error() . "\n";
            continue;
        }

        if(!($row = mysql_fetch_object($result)))
            continue;

        echo "$row->last_name $row->first_name<br />\n";
    }

    mysql_free_result($result);
?>

См. также mysql_query() и mysql_num_rows().

mysql_create_db
mysql_db_name
MySQL


Возвращает название базы данных

mysql_data_seek
mysql_db_query
MySQL
PHP Manual

mysql_db_name

(PHP 4, PHP 5)

mysql_db_name — Возвращает название базы данных

Описание

string mysql_db_name ( resource $result , int $row [, mixed $field ] )

mysql_db_name() принимает первым параметром указатель на результат функции mysql_list_dbs(). Параметр row является индексом ряда в результате.

В случае ошибки функция возвращает FALSE. Используйте mysql_errno() и mysql_error(), чтобы определить природу ошибок.

Пример #1 Пример использования mysql_db_name()

<?php
    error_reporting(E_ALL);

    mysql_connect('dbhost', 'username', 'password');
    $db_list = mysql_list_dbs();

    $i = 0;
    $cnt = mysql_num_rows($db_list);
    while ($i < $cnt) {
        echo mysql_db_name($db_list, $i) . "\n";
        $i++;
    }
?>

Для совместимости, как алиас, доступна устаревшая функция mysql_dbname(). Однако, использовать её крайне не рекомендуется.

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 или FALSE при ошибке. Функция также возвращает TRUE/FALSE для INSERT/UPDATE/DELETE запросов для индикации успеха/провала.

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

Учтите, что эта функция НЕ переключает соединение обратно к предыдущей базе данных. Другими словами, вы не можете использовать эту функцию, чтобы временно переключиться на другую базу данных и выполнить запрос. Переключиться обратно вам придётся вручную. Крайне рекомендуется использовать синтаксис database.table в SQL-запросах, вместо использования этой функции.

См. также mysql_connect() и mysql_query().

Замечание: Функция устарела с выходом PHP 4.0.6. Не используйте её. Используйте комбинацию из mysql_select_db() м mysql_query().

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 ( строка $database_name [, resource $link_identifier ] )

mysql_drop_db() пытается уничтожить базу данных на сервере, на который ссылается переданный указатель.

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Для совместимости, как алиас, доступна устаревшая функция mysql_dropdb(). Однако, использовать её крайне не рекомендуется.

Замечание: Функция mysql_drop_db() не рекомендуется к использованию. Использование mysql_query() и SQL-синтаксиса SQL DROP DATABASE предпочтительнее.

Внимание

Эта функция недоступна в библиотеке для MySQL версий 4.x.

См. также mysql_create_db() и mysql_query().

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, или 0 (ноль) если операция выполнена успешно.

Ошибки работы с MySQL больше не вызывают сообщений в PHP. Вместо этого используйте функцию mysql_errno(), чтобы получить код ошибки. Учтите, что функция возвращает код ошибки только последней выполненной функции (исключая mysql_error() и mysql_errno()). Проверяйте результат работы функции до вызова следующей.

Пример #1 Пример использования mysql_errno()

<?php
    mysql_connect("localhost", "mysql_user", "mysql_password");

    mysql_select_db("nonexistentdb");
    echo mysql_errno() . ": " . mysql_error(). "\n";

    mysql_select_db("kossu");
    mysql_query("SELECT * FROM nonexistenttable");
    echo mysql_errno() . ": " . mysql_error() . "\n";
?>

Вышеописаный пример выдаст следующий результат:

1049: Unknown database 'nonexistentdb'
1146: Table 'kossu.nonexistenttable' doesn't exist

Замечание: Если опциональный параметр указан, будет использовано соединение, на которое он указывает. В противном случае, будет использовано последнее открытое.

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

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_errno(), чтобы получить код ошибки. Учтите, что функция возвращает код ошибки только последней выполненной функции (исключая mysql_error() и mysql_errno()). Проверяйте результат работы функции до вызова следующей.

Пример #1 Пример использования mysql_error

<?php
    mysql_connect("localhost", "mysql_user", "mysql_password");

    mysql_select_db("nonexistentdb");
    echo mysql_errno() . ": " . mysql_error(). "\n";

    mysql_select_db("kossu");
    mysql_query("SELECT * FROM nonexistenttable");
    echo mysql_errno() . ": " . mysql_error() . "\n";
?>

Вышеописанный код выдаст следующий результат:

1049: Unknown database 'nonexistentdb'
1146: Table 'kossu.nonexistenttable' doesn't exist

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

mysql_errno
mysql_escape_string
MySQL


Экранирует SQL спец-символы для mysql_query.

mysql_error
mysql_fetch_array
MySQL
PHP Manual

mysql_escape_string

(PHP 4 >= 4.0.3, PHP 5)

mysql_escape_string — Экранирует SQL спец-символы для mysql_query.

Описание

string mysql_escape_string ( string $unescaped_string )

Функция экранирует все спец-символы в unescaped_string , вследствие чего, её можно безопасно использовать в mysql_query().

Замечание: mysql_escape_string() не экраинрует % и _. Функция идентична mysql_real_escape_string(), исключая то, что mysql_real_escape_string() принимает параметром ещё и указатель на соединение и экранирует в зависимости от кодировки. mysql_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_real_escape_string(), 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 ] )

Возвращает массив с обработанным рядом результата запроса, или FALSE, если рядов больше нет.

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

Если несколько колонок в результате будут иметь одинаковые названия, последняя колонка будет возвращена. Чтобы получить доступ к первым, используйте численные индексы массива или алиасы в запросе. В случае алиасов используйте именно их -- вы не сможете использовать настоящие имена колонок, как например не сможете использовать 'field' в нижеописанном примере.

Пример #1 Запрос с дублирующимися именами колонок

select table1.field as foo, table2.field as bar from table1, table2

Важно заметить, что mysql_fetch_array() работает НЕ медленнее, чем mysql_fetch_row(), в то время, как предоставляет более удобный доступ к данным.

Второй опциональный аргумент result_type в функции mysql_fetch_array() -- константа и может принимать следующие значения: MYSQL_ASSOC, MYSQL_NUM и MYSQL_BOTH. Эта возможность добавлена в PHP 3.0.7. Значением по умолчанию является: MYSQL_BOTH.

Используя MYSQL_BOTH, вы получите массив, состоящий как из ассоциативных индексов, так и из численных. MYSQL_ASSOC вернёт только ассоциативные соответствия (аналогично функции mysql_fetch_assoc() и MYSQL_NUM только численные (аналогично функции mysql_fetch_row()).

Замечание: Имена полей, возвращаемые этой функцией, регистро-зависимы.

Пример #2 mysql_fetch_array() с MYSQL_NUM

<?php
    mysql_connect("localhost", "mysql_user", "mysql_password") or
        die("Could not connect: " . 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  Name: %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("Could not connect: " . 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  Name: %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("Could not connect: " . 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  Name: %s", $row[0], $row["name"]);
    }

    mysql_free_result($result);
?>

См. также mysql_fetch_row() и mysql_fetch_assoc().

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 )

Возвращает ассоциативный массив с названиями индексов, соответсвующими названиям колонок или FALSE если рядов больше нет.

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

Если несколько колонок в запросе имеют одинаковые имена, значение ключа массива с индексом названия колонок будет равно значению последней из колонок. Чтобы работать с первыми, используйте функции, возвращающие не ассоциативный массив: mysql_fetch_row(), либо используйте алиасы. Смотрите пример использования алиасов в SQL в описании функции mysql_fetch_array().

Важно заметить, что mysql_fetch_assoc() работает НЕ медленнее, чем mysql_fetch_row(), предоставляя более удобный доступ к данным.

Замечание: Имена полей, возвращаемые этой функцией, регистро-зависимы.

Пример #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_row(),
mysql_fetch_array(),
mysql_query() и
mysql_error().

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 ] )

Возвращает объект, содержащий информацию о колонке.

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

Свойства объекта:

  • 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
mysql_connect('localhost:3306', $user, $password)
    or die("Could not connect: " . mysql_error());
mysql_select_db("database");
$result = mysql_query("select * from table")
    or die("Query failed: " . mysql_error());
/* получаем данные о колонке */
$i = 0;
while ($i < mysql_num_fields($result)) {
    echo "Information for column $i:<br />\n";
    $meta = mysql_fetch_field($result, $i);
    if (!$meta) {
        echo "No information available<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_fetch_row(), ряду. При неудаче возвращает FALSE.

mysql_fetch_lengths() возвращает длины каждого поля,
содержащегося в последнем ряду, обработанном функциями
mysql_fetch_row(),
mysql_fetch_array(), и
mysql_fetch_object() в массиве, начинающемся с 0.

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

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 )

Возвращает объект со свойствами, соответствующими колонкам в обработанном ряду или FALSE, если рядов больше нет.

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

Замечание: Имена полей, возвращаемые этой функцией, регистро-зависимы.

<?php

/* корректно */
echo $row->field;
/* не корректно */
echo $row->0;

?>

В плане скорости эта функция аналогична mysql_fetch_array() и почти также быстра, как mysql_fetch_row() (разница незначительна).

Пример #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);
?>

См. также
mysql_fetch_array(),
mysql_fetch_assoc() и
mysql_fetch_row().

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 )

Возвращает массив, содержашей данные обработанного ряда, или FALSE, если рядов больше нет.

mysql_fetch_row() обрабатывает один ряд результата, на который ссылается переданный указатель. Ряд возвращается в массиве. Каждая колонка распологается в следующей ячейке массива. Массив начинается с индекса 0.

Последующие вызовы функции mysql_fetch_row() вернут следующие ряды или FALSE, если рядов не осталось.

Замечание: Имена полей, возвращаемые этой функцией, регистро-зависимы.

См. также
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()

Возвращаются следующие флаги (если ваша версия MySQL уже содержит работу с ними): "not_null", "primary_key", "unique_key", "multiple_key", "blob", "unsigned", "zerofill", "binary", "enum", "auto_increment", "timestamp".

Для совместимости, как алиас, доступна устаревшая функция mysql_fieldflags(). Однако, использовать её крайне не рекомендуется.

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() возвращает длину указанной колонки.

Для совместимости, как алиас, доступна устаревшая функция mysql_fieldlen(). Однако, использовать её крайне не рекомендуется.

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_index )

mysql_field_name() возвращает название колонки с указанным индексом. Параметр result должен быть указателем на результат запроса, а field_index -- индексом колонки в запросе.

Замечание: field_index начинается с 0.
К примеру, индекс третьей колонки будет 2, а индекс четвёртой -- 3.

Замечание: Имена полей, возвращаемые этой функцией, регистро-зависимы.

Пример #1 Пример использования mysql_field_name()

<?php
/* Таблица пользователей состоит из трёх колонок:
 *   user_id
 *   username
 *   password.
 */
$link = mysql_connect('localhost', "mysql_user", "mysql_password");
$dbname = "mydb";
mysql_select_db($dbname, $link)
    or die("Could not set $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_len
mysql_field_seek
MySQL


Устанавливает внутренний указатель поля на переданное смещение.

mysql_field_name
mysql_field_table
MySQL
PHP Manual

mysql_field_seek

(PHP 4, PHP 5)

mysql_field_seek — Устанавливает внутренний указатель поля на переданное смещение.

Описание

array mysql_field_seek ( resource $result , int $field_offset )

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

См. также 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 )

Возвращает название таблицы, которой принадлежит указанное поле.

Для совместимости доступна к использованию функция mysql_fieldtable(). Однако, использовать её крайне не рекомендуется.

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(). Аргументы одинаковы, но вместо имени колонки возвращается её тип. Поля могут быть типов "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 "Your '".$table."' table has ".$fields." fields and ".$rows." record(s)\n";
    echo "The table has the following fields:\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();
?>

Вышеописанный пример выдаст следующий результат:

Your 'func' table has 4 fields and 1 record(s)
The table has the following fields:
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_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() нуждается в вызове только в том случае, если вы всерьёз обеспокоены тем, сколько памяти используют ваши запросы к БД, возвращающие большое количество данных. Вся память, используемая для хранения этих данных автоматически очистится в конце работы скрипта.

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Для совместимости, как алиас, доступна устаревшая функция mysql_freeresult(). Однако, использовать её крайне не рекомендуется.

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() возвращает строку, содержащую версию клиентской библиотеки.

Пример #1 Пример использования mysql_get_client_info()

<?php
    printf ("MySQL client info: %s\n", mysql_get_client_info());
?>

Вышеописанный пример выдаст следующий результат:

MySQL client info: 3.23.39

См. также
mysql_get_host_info(),
mysql_get_proto_info() и
mysql_get_server_info().

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 ] )

mysql_get_host_info() возвращает строку, описывающую соединение, на которое ссылается переданный указатель link_identifier , включая имя хоста. Если параметр link_identifier опущен, будет использовано последнее соединение.

Пример #1 Пример использования mysql_get_host_info()

<?php
    mysql_connect("localhost", "mysql_user", "mysql_password") or
        die("Could not connect: " . mysql_error());
    printf ("MySQL host info: %s\n", mysql_get_host_info());
?>

Вышеописанный пример выдаст следующий результат:

MySQL host info: Localhost via UNIX socket

См. также
mysql_get_client_info(),
mysql_get_proto_info() и
mysql_get_server_info().

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_get_proto_info() возвращает версию протокола, используемую соединением, на которое ссылается указатель link_identifier . Если параметр link_identifier опущен, используется последнее открытое соединение.

Пример #1 Пример использования mysql_get_proto_info()

<?php
    mysql_connect("localhost", "mysql_user", "mysql_password") or
        die("Could not connect: " . mysql_error());
    printf ("MySQL protocol version: %s\n", mysql_get_proto_info());
?>

Вышеописанный пример выдаст следующий результат:

MySQL protocol version: 10

См. также
mysql_get_client_info(),
mysql_get_host_info() и
mysql_get_server_info().

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_get_server_info() возвращает версию сервера, на соединение с которым ссылается переданный функции указатель link_identifier . Если параметр link_identifier опущен, будет использовано последнее открытое соединение.

Пример #1 Пример использования mysql_get_server_info()

<?php
    mysql_connect("localhost", "mysql_user", "mysql_password") or
        die("Could not connect: " . mysql_error());
    printf ("MySQL server version: %s\n", mysql_get_server_info());
?>

Вышеописанный пример выдаст следующий результат:

MySQL server version: 4.0.1-alpha

См. также
mysql_get_client_info(),
mysql_get_host_info() и
mysql_get_proto_info().

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 ] )

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

mysql_info() возвращает строку для всех описанных ниже запросов. Для всего остального она возвращает 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_get_server_info
mysql_insert_id
MySQL


Возвращает ID, сгенерированный при последнем INSERT-запросе.

mysql_info
mysql_list_dbs
MySQL
PHP Manual

mysql_insert_id

(PHP 4, PHP 5)

mysql_insert_id — Возвращает ID, сгенерированный при последнем INSERT-запросе.

Описание

int mysql_insert_id ([ resource $link_identifier ] )

mysql_insert_id() возвращает ID, сгенерированный колонкой с AUTO_INCREMENT последним запросом INSERT к серверу, на который ссылается переданный функции указатель link_identifier . Если параметр link_identifier не указан, используется последнее открытое соединение.

mysql_insert_id() возвращает 0, если последний запрос не работал с AUTO_INCREMENT полями. Если вам надо сохранить значение, убедитесь, что mysql_insert_id() вызывается сразу после запроса.

Замечание: Значение в SQL функции MySQL LAST_INSERT_ID() всегда содержит последний сгенерированный ID и не обнуляется между запросами.

Внимание

mysql_insert_id() конвертирует возвращаемый функцией MySQL C API тип значения функции mysql_insert_id() в тип long int (называемый int в PHP). Если ваша колонка AUTO_INCREMENT имеет тип BIGINT, значение, возвращаемое функцией mysql_insert_id(), будет искажено. Вместо него используйте функцию SQL LAST_INSERT_ID().

Пример #1 Пример использования mysql_insert_id()

<?php
    mysql_connect("localhost", "mysql_user", "mysql_password") or
        die("Could not connect: " . mysql_error());
    mysql_select_db("mydb");

    mysql_query("INSERT INTO mytable (product) values ('kossu')");
    printf ("Last inserted record has id %d\n", mysql_insert_id());
?>

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

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 ] )

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

Пример #1 Пример использования mysql_list_dbs()

<?php
$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_fetch_row() или любой другой аналогичной функцией.

Для совместимости, как алиас, доступна устаревшая функция mysql_listdbs(). Однако, использовать её крайне не рекомендуется.

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

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_list_fields() возвращает информацию о таблице с
переданным именем. Параметрами функции являются имена таблицы и базы
данных. Возвращаемый результат может быть обработан с помощью следующих
функций:
mysql_field_flags(),
mysql_field_len(),
mysql_field_name(),
mysql_field_type().

Пример #1 Пример использования mysql_list_fields()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');

$fields = mysql_list_fields("database1", "table1", $link);
$columns = mysql_num_fields($fields);

for ($i = 0; $i < $columns; $i++) {
    echo mysql_field_name($fields, $i) . "\n";
}

Вышеописанный пример выдаст следующий результат:

field1
field2
field3
...

Для совместимости, как алиас, доступна функция mysql_listfields(). Однако, использовать её крайне не рекомендуется.

Замечание: Функция mysql_list_fields() устарела. Предпочтительным является исползьзование SQL-запроса SHOW COLUMNS FROM table [LIKE 'name'].

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_list_processes() возвращает указатель на результат, содержащий в себе текущие, выполняемые сервером, процессы.

Пример #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_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_list_tables(), принимая параметром имя базы данных, возвращает указатель на результат (аналогично mysql_query()), содержащий список её таблиц. Используйте функцию mysql_tablename() для обработки полученного указателя, либо любую другую функцию для обработки результатов, такую как mysql_fetch_array().

Параметр database -- имя базы данных, список таблиц которой будет возвращён. В случае ошибки, функция возвращает FALSE.

Для совместимости, как алиас, доступна устаревшая функция mysql_listtables(). Однако, использовать её крайне не рекомендуется.

Замечание: Функция устарела и не должна быть использована. Используйте SQL-запрос SHOW TABLES FROM DATABASE вместо неё.

Пример #1 Пример использования mysql_list_tables()

<?php
    $dbname = 'mysql_dbname';

    if (!mysql_connect('mysql_host', 'mysql_user', 'mysql_password')) {
        print 'Could not connect to mysql';
        exit;
    }

    $result = mysql_list_tables($dbname);

    if (!$result) {
        print "DB Error, could not list tables\n";
        print 'MySQL Error: ' . mysql_error();
        exit;
    }

    while ($row = mysql_fetch_row($result)) {
        print "Table: $row[0]\n";
    }

    mysql_free_result($result);
?>

См. также 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 )

mysql_num_fields() возвращает количество полей результата запрооса result .

См. также
mysql_select_db(),
mysql_query(),
mysql_fetch_field() и
mysql_num_rows().

Для совместимости, как алиас, доступна устаревшая функция mysql_numfields(). Однако, использовать её крайне не рекомендуется.

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 )

mysql_num_rows() возвращает количество рядов результата запроса. Эта команда работает только с запросами SELECT. Чтобы получить количество рядов, обработанных функцями INSERT, UPDATE, DELETE, используйте функцию mysql_affected_rows().

Пример #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 Rows\n";

?>

Замечание: При использовании mysql_unbuffered_query() функция mysql_num_rows() не вернёт корректного значения до тех пор, пока все ряды не будут получены.

См. также
mysql_affected_rows(),
mysql_connect(),
mysql_data_seek(),
mysql_select_db() и
mysql_query().

Для совместимости, как алиас, доступна устаревшая функция mysql_numrows(). Однако, использовать её крайне не рекомендуется.

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 [, string $username [, string $password [, int $client_flags ]]]] )

Возвращает указатель на постоянное соединение с MySQL или FALSE, в случае ошибки.

mysql_pconnect() устанавливает постоянное соединение с сервером MySQL. Следующие значения по умолчанию установлены для отсутсвующих параметров: server = 'localhost:3306', username = имя пользователя владельца процесса сервера и password = пустой пароль. Параметр client_flags может быть комбинацией следующих констант: MYSQL_CLIENT_COMPRESS, MYSQL_CLIENT_IGNORE_SPACE, MYSQL_CLIENT_INTERACTIVE.

Параметр server может также включать номер порта, к примеру "hostname:port" или путь к сокету, к примеру ":/path/to/socket" для локального сервера.

Замечание: Поддержка указания порта через ":port" была добавлена в PHP 3.0B4.
Поддержка указания локального сокета как ":/path/to/socket" была добавлена в PHP 3.0.10.

mysql_pconnect() работает аналогично mysql_connect() с двумя отличиями.

Во-первых, при соединении, функция пытается найти уже открытый (постоянный) указатель на тот же сервер с тем же пользователем и паролем. Если он найден, возвращён функцией будет именно он, вместо открытия нового соединения.

Во-вторых, соединение с SQL-сервером не будет закрыто, когда работа скрипта закончится. Вместо этого, оно останется рабочим для будущего использования (mysql_close() также не закрывает постоянные соединения)

Опциональный параметр client_flags появился в PHP 4.3.0.

Соединения такого типа называют 'постоянными'.

Замечание: Учтите, что соединения такого типа работают только, если PHP установлен как модуль. За дополнительной информацией обращайтесь к разделу Постоянные Соединения с Базами Данных.

Внимание

Использование устойчивых соединений может потребовать некоторой настройки Apache и 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_ping() проверяет соединение с сервером. Если оно утеряно, автоматически предпринимается попытка пересоединения. Эта функция может быть использована в скриптах, работающих на протяжении долгого времени. mysql_ping() возвращает TRUE, если соединение в рабочем состоянии и FALSE в противном случае.

См. также mysql_thread_id() и mysql_list_processes().

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 опущен, используется последнее открытое соединение. Если открытые соединения отсутствуют, функция пытается соединиться с СУБД, аналогично функции mysql_connect() без параметров. Результат запроса буфферизируется.

Замечание: Строка запроса НЕ должна заканчиваться точкой с запятой.

Только для запросов SELECT, SHOW, EXPLAIN, DESCRIBE, mysql_query() возвращает указатель на результат запроса, или FALSE если запрос не был выполнен. В остальных случаях, mysql_query() возвращает TRUE в случае успешного запроса и FALSE в случае ошибки. Значение не равное FALSE говорит о том, что запрос был выполнен успешно. Он не говорит о количестве затронутых или возвращённых рядов. Вполне возможна ситуация, когда успешный запрос не затронет ни одного ряда.

Следующий запрос составлен неправильно и mysql_query() вернёт FALSE:

Пример #1 Пример использования mysql_query()

<php
$result = mysql_query("SELECT * WHERE 1=1")
    or die("Invalid query: " . mysql_error());
?>

Следующий запрос ошибочен, если колонки my_col нет в таблице my_tbl, в таком случае mysql_query() вернёт FALSE:

Пример #2 Пример использования mysql_query()

<?php
$result = mysql_query("SELECT my_col FROM my_tbl")
    or die("Invalid query: " . mysql_error());
?>

mysql_query() также считается ошибочным и вернёт FALSE, если у вас не хватает прав на работу с указанной в запросе таблицей.

Работая с результатами запросов, вы можете использовать функцию mysql_num_rows(), чтобы найти число, возвращённых запросом SELECT, рядов, или mysql_affected_rows(), чтобы найти число рядов, обработанных запросами DELETE, INSERT, REPLACE, или UPDATE.

Только для запросов SELECT, SHOW, DESCRIBE, EXPLAIN, функция mysql_query() возвращает указатель на результат, который можно использовать в функции mysql_fetch_array() и других функциях, работающих с результатами запросов. Когда работа с результатом окончена, вы можете освободить ресурсы, используемые для его хранения, с помощью функции mysql_free_result(), хотя память в любом случае будет очищена в конце исполнения скрипта.

См. также
mysql_num_rows(),
mysql_affected_rows(),
mysql_unbuffered_query(),
mysql_free_result(),
mysql_fetch_array(),
mysql_fetch_row(),
mysql_fetch_assoc(),
mysql_result(),
mysql_select_db() и
mysql_connect().

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, \, ', " and \x1a.

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

Список параметров

unescaped_string

Строка, которая должна быть экранирована.

link_identifier

The MySQL connection. If the link identifier is not specified, the last link opened by mysql_connect() is assumed. If no such link is found, it will try to create one as if mysql_connect() was called with no arguments. If by chance no connection is found or established, an E_WARNING level error is generated.

Возвращаемые значения

Возвращает строку, в которой экранированы все необходимые символы, или FALSE в случае ошибки.

Примеры

Пример #1 Простой пример использования mysql_real_escape_string()

<?php

// Connect

$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')

    OR die(mysql_error());

// Query

$query = sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'",

            mysql_real_escape_string($user),

            mysql_real_escape_string($password));

?>

Пример #2 Пример взлома с использованием SQL Injection

<?php

// посылаем запрос, чтобы проверить имя и пароль пользователя

$query = "SELECT * FROM users WHERE user='{$_POST['username']}' AND password='{$_POST['password']}'";

mysql_query($query);

// Мы не никак проверили переменную $_POST['password'],

// а она может содержать совсем не то, что мы ожидали. Например:

$_POST['username'] = 'aidan';

$_POST['password'] = "' OR ''='";

// посмотрим, какой запрос будет отправлен в MySQL:

echo $query;

?>

Запрос, который будет отправлен в MySQL:

SELECT * FROM users WHERE name='aidan' AND password='' OR ''=''

Это позволит кому угодно войти в систему без пароля.

Пример #3 Лучший вариант составления запроса

Применение mysql_real_escape_string() к каждой переменной, вставляемой в запрос, предотвращает SQL Injection. Нижеследующий код является наилучшим вариантом составления запросов и не зависит от установки Magic Quotes.

<?php

// Функция экранирования переменных

function quote_smart($value)

{

    // если magic_quotes_gpc включена - используем stripslashes

    if (get_magic_quotes_gpc()) {

        $value = stripslashes($value);

    }

    // Если переменная - число, то экранировать её не нужно

    // если нет - то окружем её кавычками, и экранируем

    if (!is_numeric($value)) {

        $value = "'" . mysql_real_escape_string($value) . "'";

    }

    return $value;

}

// Соединяемся

$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')

    OR die(mysql_error());

// Составляем безопасный запрос

$query = sprintf("SELECT * FROM users WHERE user=%s AND password=%s",

            quote_smart($_POST['username']),

            quote_smart($_POST['password']));

mysql_query($query);

?>

Запрос, составленный таким образом, будет выполнен без ошибок, и взлом с помощью SQL Injection окажется невозможен.

Примечания

Замечание: Функцию mysql_real_escape_string() можно использовать только после того, как установлено соединение с MySQL. В противном случае возникнет ошибка уровня E_WARNING, а функция возвратит FALSE. Если link_identifier не указан, используется последнее открытое соединение.

Замечание: Если magic_quotes_gpc включены, то сначала данные следует обработать функцией stripslashes(). Если mysql_real_escape_string() применяется к данным, которые уже были прослешены, то в результате слеши в данных будут удваиваться.

Замечание: Если не пользоваться этой функцией, то запрос становится уязвимым для взлома с помощью SQL Injection.

Замечание: mysql_real_escape_string() не экранирует символы % и _. Эти знаки являются масками групп символов в операторах MySQL LIKE, GRANT или REVOKE.

Смотрите также

  • mysql_client_encoding() - Возвращает кодировку соединения
  • addslashes() - Экранирует спецсимволы в строке
  • stripslashes() - Удаляет экранирование символов, произведенное функцией addslashes
  • Директива 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 — Возвращает данные результата запроса

Описание

mixed mysql_result ( resource $result , int $row [, mixed $field ] )

mysql_result() возвращает значение одной ячейки результата запроса. Аргументом поля может быть смещение, имя поля, или имя поля и имя таблицы через точку (tablename.fieldname). Если к имени колонки, в запросе, был использован алиас ('select foo as bar from...'), используйте его вместо реального имени колонки.

Работая с большими результатами запросов, следует использовать одну из функций, обрабатывающих сразу целый ряд результата. Так как эти функции возвращают значение нескольких ячеек сразу, они НАМНОГО быстрее mysql_result(). Кроме того учтите, что указание численного смещения работает намного быстрее, чем указание колонки, или колонки и таблицы через точку.

Вызовы функции mysql_result() не должны смешиваться с другими функциями, работающими с результатом запроса.

Пример #1 Пример использования mysql_result()

<?php
    $link = mysql_connect("localhost", "mysql_user", "mysql_password")
            or die("Could not connect: " . mysql_error());

    $result = mysql_query("SELECT name FROM work.employee")
            or die("Could not query: " . mysql_error());

    echo mysql_result($result,2); // outputs third employee's name

    mysql_close($link);
?>

Рекомендуемые скоростные альтернативы :
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 ] )

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

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

Каждый последующий вызов функции mysql_query() будет работать с выбранной базой данных.

Пример #1 Пример использования mysql_select_db()

<?php

$lnk = mysql_connect('localhost', 'mysql_user', 'mysql_password')
       or die ('Not connected : ' . mysql_error());

// сделать foo текущей базой данных
mysql_select_db('foo', $lnk) or die ('Can\'t use foo : ' . mysql_error());

?>

См. также
mysql_connect(),
mysql_pconnect() и
mysql_query().

Для совместимости, как алиас, доступна устаревшая функцмия mysql_selectdb(). Однако, использовать её крайне не рекомендуется.

mysql_result
mysql_set_charset
MySQL


Sets the client character set

mysql_select_db
mysql_stat
MySQL
PHP Manual

mysql_set_charset

(PHP 5 >= 5.2.3)

mysql_set_charset — Sets the client character set

Описание

bool mysql_set_charset ( string $charset [, resource $link_identifier ] )

Sets the default character set for the current connection.

Список параметров

charset

A valid character set name.

link_identifier

The MySQL connection. If the link identifier is not specified, the last link opened by mysql_connect() is assumed. If no such link is found, it will try to create one as if mysql_connect() was called with no arguments. If by chance no connection is found or established, an E_WARNING level error is generated.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание: This function requires MySQL 5.0.7 or later.

Замечание: This is the preferred way to change the charset. Using mysql_query() to execute SET NAMES .. is not recommended.

Смотрите также

  • mysql_client_encoding() - Возвращает кодировку соединения
  • » List of character sets that MySQL supports

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() возвращает текущий статус сервера.

Замечание: mysql_stat() возвращает только время работы, количество потоков, запросов, открытых таблиц и количество запросов в секунду. Для полного списка переменных статуса, используйте SQL-запрос SHOW STATUS.

Пример #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
)

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 ( string $result , int $i )

mysql_tablename() принимает указатель на результат
функции mysql_list_tables() и индекс, возвращая имя
таблицы. Функцию mysql_num_rows() можно использовать
для определения количества таблиц результата запроса. Используйте функцию
mysql_tablename() для работы с результатом запроса,
либо любую другую функцию, способную это делать. Например,
mysql_fetch_array().

Пример #1 Пример использования mysql_tablename()

<?php
    mysql_connect("localhost", "mysql_user", "mysql_password");
    $result = mysql_list_tables("mydb");

    for ($i = 0; $i < mysql_num_rows($result); $i++)
        printf ("Table: %s\n", mysql_tablename($result, $i));

    mysql_free_result($result);
?>

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

mysql_stat
mysql_thread_id
MySQL


Возвращает ID текущего потока

mysql_tablename
mysql_unbuffered_query
MySQL
PHP Manual

mysql_thread_id

(PHP 4 >= 4.3.0, PHP 5)

mysql_thread_id — Возвращает ID текущего потока

Описание

int mysql_thread_id ([ resource $link_identifier ] )

mysql_thread_id() возвращает ID текущего соединения. Если соединение потеряно и вы пересоединились с помощью mysql_ping(), ID изменится. Это означает, что вам не следует получать ID и хранить его для дальнейщего использования. Вызывайте функцию тогда, когда ID вам нужен.

Пример #1 Пример использования mysql_thread_id()

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$thread_id = mysql_thread_id($link);
if ($thread_id){
    printf ("current thread id is %d\n", $thread_id);
}
?>

Вышеописанный пример выдаст следующий результат:

current thread id is 73

См. также mysql_ping() and mysql_list_processes().

mysql_tablename
mysql_unbuffered_query
MySQL


Посылает MySQL SQL-запрос без авто-обработки результата и её буфферизации.

mysql_thread_id
mysqli
MySQL
PHP Manual

mysql_unbuffered_query

(PHP 4 >= 4.0.6, PHP 5)

mysql_unbuffered_query — Посылает MySQL SQL-запрос без авто-обработки результата и её буфферизации.

Описание

resource mysql_unbuffered_query ( string $query [, resource $link_identifier ] )

mysql_unbuffered_query() посылает MySQL SQL-запрос query без автоматической обработки и буфферизации её результата, в отличе от функции mysql_query(). Это позволяет сохранить достаточно большое количество памяти для SQL-запросов, возвращающих большое количество данных. Кроме того, вы можете начать работу с полученными данными сразу после того, как первый ряд был получен: вам не приходится ждать до конца SQL-запроса. При использовании нескольких соединений с MySQL, вы можете указать опциональный параметр link_identifier .

Замечание: Однако, плюсы использования mysql_unbuffered_query() имеют свою цену: вы не можете использовать функции mysql_num_rows() и mysql_data_seek() с результатом запроса, возвращённым этой функцией. Кроме того, вы должны будете обработать все ряды запроса до отправки нового запроса.

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

mysql_thread_id
mysqli
MySQL


Улучшенный модуль MySQL (Improved)

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • mysqli — Расширение MySQL (Improved)
    • mysqli_bind_param — Синоним функции mysqli_stmt_bind_param
    • mysqli_bind_result — Синоним функции mysqli_stmt_bind_result
    • mysqli_client_encoding — Синоним функции mysqli_character_set_name
    • 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 — Alias for mysqli_stmt_execute
    • mysqli_fetch — Alias for mysqli_stmt_fetch
    • mysqli_get_metadata — Alias for mysqli_stmt_result_metadata
    • mysqli_master_query — Enforce execution of a query on the master in a master/slave setup
    • mysqli_param_count — Alias for 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 — Alias for mysqli_stmt_send_long_data
    • mysqli_send_query — Send the query and return
    • mysqli_set_opt — Alias of mysqli_options
    • mysqli_slave_query — Force execution of a query on a slave in a master/slave setup
mysql_unbuffered_query
Введение
Vendor Specific Database Extensions


Введение

Расширение mysqli позволяет вам получить доступ к функциональности, которую предоставляет MySQL версии 4.1 и выше. Больше информации о сервере баз данных MySQL вы можете получить по адресу » http://www.mysql.com/.

Документация MySQL находится по адресу » http://dev.mysql.com/doc/.

Некоторые части данной документации включены из руководства по MySQL с разрешения MySQL AB.

Примеры

Все примеры, приведенные в документации к MySQLi, используют базу данных world от MySQL AB. Базу данных world вы можете найти по адресу » http://dev.mysql.com/get/Downloads/Manual/world.sql.gz/from/pick

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


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
mysqli


Требования

Чтобы эти функции были доступны, PHP должен быть собран с поддержкой расширения mysqli.

Замечание: Расширение mysqli разработано для работы с MySQL версии 4.1.3 и выше. Для работы с более старыми версиями, обратитесь к документации к расширению MySQL.

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


Установка

Для установки расширения mysqli для PHP, используйте конфигурационную директиву --with-mysqli=mysql_config_path/mysql_config, гдеmysql_config_path - путь к утилите mysql_config, которая поставляется с MySQL версии 4.1 и больше.

Если вы хотите установить расширение mysql вместе с mysqli, вы должны использовать одинаковые клиентские библиотеки во избежание возможных конфликтов.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

MySQLi Параметры конфигурации
Имя | Значение по-умолчанию | Область изменения | История изменений
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.

Дальнейшие детали и определения PHP_INI_* констант смотрите в разделе конфигурационные изменения.

Краткое разъяснение конфигурационных директив.

mysqli.max_links integer

Максимальное число соединений MySQL на процесс.

mysqli.default_port string

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
Имя | Описание
MYSQLI_READ_DEFAULT_GROUP (integer) | Читать опции из указанной группы в файле `my.cnf' или файле указанном с помощью MYSQLI_READ_DEFAULT_FILE
MYSQLI_READ_DEFAULT_FILE (integer) | Читать опции из указанного файла вместо my.cnf
MYSQLI_OPT_CONNECT_TIMEOUT (integer) | Тайм-аут подключения в секундах.
MYSQLI_OPT_LOCAL_INFILE (integer) | Включает команду LOAD LOCAL INFILE.
MYSQLI_INIT_COMMAND (integer) | Команда, которая будет выполнена при подключении к серверу MySQL. Эта команда будет повторно вызвана при переподключении.
MYSQLI_CLIENT_SSL (integer) | Использовать SSL (шифрованый протокол). Эта опция не может быть уставовлена приложениями; она устанавливается внутри библиотеки клиента MySQL.
MYSQLI_CLIENT_COMPRESS (integer) | Использовать компрессию.
MYSQLI_CLIENT_INTERACTIVE (integer) | Ждать interactive_timeout секунд (вместо wait_timeout) бездействия перед закрытием соединения. Переменная сессии клиента wait_timeout будет установлена в значение переменной сессии interactive_timeout.
MYSQLI_CLIENT_IGNORE_SPACE (integer) | Разрешить пробелы после имен функций. Делает все имена функций зарезервированными словами.
MYSQLI_CLIENT_NO_SCHEMA (integer) | Запретить синтаксис db_name.tbl_name.col_name.
MYSQLI_CLIENT_MULTI_QUERIES (integer) |
MYSQLI_STORE_RESULT (integer) | Для использования буферизации наборов данных.
MYSQLI_USE_RESULT (integer) | Для использования небуферизированных наборов данных.
MYSQLI_ASSOC (integer) | Результат возвращается в виде ассоциативного массива с именами полей в качестве индексов.
MYSQLI_NUM (integer) | Результат возвращается в виде индексного массива.
MYSQLI_BOTH (integer) | Результат возвращается в виде массива, который содержит как числовой, так ассоциативный (с именами полей) индексы.
MYSQLI_NOT_NULL_FLAG (integer) | Информирует о том, что поле определено как NOT NULL.
MYSQLI_PRI_KEY_FLAG (integer) | Поле является частью первичного индекса.
MYSQLI_UNIQUE_KEY_FLAG (integer) | Поле является частью уникального индекса.
MYSQLI_MULTIPLE_KEY_FLAG (integer) | Поле является частью индекса.
MYSQLI_BLOB_FLAG (integer) | Поле определено как BLOB.
MYSQLI_UNSIGNED_FLAG (integer) | Поле определено как UNSIGNED.
MYSQLI_ZEROFILL_FLAG (integer) | Поле определено как ZEROFILL.
MYSQLI_AUTO_INCREMENT_FLAG (integer) | Поле определено как AUTO_INCREMENT.
MYSQLI_TIMESTAMP_FLAG (integer) | Поле определено как TIMESTAMP.
MYSQLI_SET_FLAG (integer) | Поле определено как SET.
MYSQLI_NUM_FLAG (integer) | Поле определено как NUMERIC.
MYSQLI_PART_KEY_FLAG (integer) | Поле является честью мультииндекса.
MYSQLI_GROUP_FLAG (integer) | Поле является частью GROUP BY.
MYSQLI_TYPE_DECIMAL (integer) | Поле определено как DECIMAL.
MYSQLI_TYPE_NEWDECIMAL (integer) | Математическая точность полей DECIMAL или NUMERIC (MySQL 5.0.3 и выше).
MYSQLI_TYPE_BIT (integer) | Поле определено как BIT (MySQL 5.0.3 и выше).
MYSQLI_TYPE_TINY (integer) | Поле определено как TINYINT.
MYSQLI_TYPE_SHORT (integer) | Поле определено как INT.
MYSQLI_TYPE_LONG (integer) | Поле определено как INT.
MYSQLI_TYPE_FLOAT (integer) | Поле определено как FLOAT.
MYSQLI_TYPE_DOUBLE (integer) | Поле определено как DOUBLE.
MYSQLI_TYPE_NULL (integer) | Поле определено как DEFAULT NULL.
MYSQLI_TYPE_TIMESTAMP (integer) | Поле определено как TIMESTAMP.
MYSQLI_TYPE_LONGLONG (integer) | Поле определено как BIGINT.
MYSQLI_TYPE_INT24 (integer) | Поле определено как MEDIUMINT.
MYSQLI_TYPE_DATE (integer) | Поле определено как DATE.
MYSQLI_TYPE_TIME (integer) | Поле определено как TIME.
MYSQLI_TYPE_DATETIME (integer) | Поле определено как DATETIME.
MYSQLI_TYPE_YEAR (integer) | Поле определено как YEAR.
MYSQLI_TYPE_NEWDATE (integer) | Поле определено как DATE.
MYSQLI_TYPE_ENUM (integer) | Поле определено как ENUM.
MYSQLI_TYPE_SET (integer) | Поле определено как SET.
MYSQLI_TYPE_TINY_BLOB (integer) | Поле определено как TINYBLOB.
MYSQLI_TYPE_MEDIUM_BLOB (integer) | Поле определено как MEDIUMBLOB.
MYSQLI_TYPE_LONG_BLOB (integer) | Поле определено как LONGBLOB.
MYSQLI_TYPE_BLOB (integer) | Поле определено как BLOB.
MYSQLI_TYPE_VAR_STRING (integer) | Поле определено как VARCHAR.
MYSQLI_TYPE_STRING (integer) | Поле определено как CHAR.
MYSQLI_TYPE_GEOMETRY (integer) | Поле определено как GEOMETRY.
MYSQLI_NEED_DATA (integer) | Имеются еще данные, доступные для связанных переменных.
MYSQLI_NO_DATA (integer) | Больше нет доступных данных для связанных переменных.
MYSQLI_DATA_TRUNCATED (integer) | Произошло урезание данных. Доступно начиная с PHP 5.1.0 и MySQL 5.0.5.
Типы ресурсов
mysqli
mysqli


Расширение MySQL (Improved)

Содержание

  • mysqli_bind_param — Синоним функции mysqli_stmt_bind_param
  • mysqli_bind_result — Синоним функции mysqli_stmt_bind_result
  • mysqli_client_encoding — Синоним функции mysqli_character_set_name
  • 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 — Alias for mysqli_stmt_execute
  • mysqli_fetch — Alias for mysqli_stmt_fetch
  • mysqli_get_metadata — Alias for mysqli_stmt_result_metadata
  • mysqli_master_query — Enforce execution of a query on the master in a master/slave setup
  • mysqli_param_count — Alias for 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 — Alias for mysqli_stmt_send_long_data
  • mysqli_send_query — Send the query and return
  • mysqli_set_opt — Alias of mysqli_options
  • mysqli_slave_query — Force execution of a query on a slave in a master/slave setup
Предопределенные константы
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_stmt_bind_param().

Замечание: Функция mysqli_bind_param() не представляет ценности и в будущем будет удалена.

Смотрите также

mysqli_stmt_bind_param().

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_stmt_bind_result().

Замечание: Функция mysqli_bind_result() не представляет ценности и в будущем будет удалена.

Смотрите также

mysqli_stmt_bind_result().

mysqli_bind_param
mysqli_client_encoding
mysqli


Синоним функции mysqli_character_set_name

mysqli_bind_result
mysqli_disable_reads_from_master
mysqli
PHP Manual

mysqli_client_encoding

(PHP 5)

mysqli_client_encoding — Синоним функции mysqli_character_set_name()

Описание

Эта функция является синонимом функции mysqli_character_set_name(). За детальной информацией обратитесь на страницу mysqli_character_set_name().

Смотрите также

mysqli_real_escape_string().

mysqli_bind_result
mysqli_disable_reads_from_master
mysqli


Блокирует чтение с мастера

mysqli_client_encoding
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 — Блокирует чтение с мастера

Описание

Процедурный стиль:

bool mysqli_disable_reads_from_master ( mysqli $link )

Объектно-ориентированный стиль (метод):

mysqli
void disable_reads_from_master ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

mysqli_client_encoding
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 )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

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 )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

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 )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

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


Alias for mysqli_stmt_execute

mysqli_escape_string
mysqli_fetch
mysqli
PHP Manual

mysqli_execute

(PHP 5)

mysqli_execute — Alias for mysqli_stmt_execute()

Описание

This function is an alias of mysqli_stmt_execute().

Примечания

Замечание: mysqli_execute() is deprecated and will be removed.

Смотрите также

  • mysqli_stmt_execute()

mysqli_escape_string
mysqli_fetch
mysqli


Alias for mysqli_stmt_fetch

mysqli_execute
mysqli_get_metadata
mysqli
PHP Manual

mysqli_fetch

(PHP 5)

mysqli_fetch — Alias for mysqli_stmt_fetch()

Описание

This function is an alias of mysqli_stmt_fetch().

Примечания

Замечание: mysqli_fetch() is deprecated and will be removed.

Смотрите также

  • mysqli_stmt_fetch()

mysqli_execute
mysqli_get_metadata
mysqli


Alias for mysqli_stmt_result_metadata

mysqli_fetch
mysqli_master_query
mysqli
PHP Manual

mysqli_get_metadata

(PHP 5)

mysqli_get_metadata — Alias for mysqli_stmt_result_metadata()

Описание

This function is an alias of mysqli_stmt_result_metadata().

Примечания

Замечание: mysqli_get_metadata() is deprecated and will be removed.

Смотрите также

  • mysqli_stmt_result_metadata()

mysqli_fetch
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 )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Внимание

This function has been DEPRECATED and REMOVED as of PHP 5.3.0.

mysqli_get_metadata
mysqli_param_count
mysqli


Alias for mysqli_stmt_param_count

mysqli_master_query
mysqli_report
mysqli
PHP Manual

mysqli_param_count

(PHP 5)

mysqli_param_count — Alias for mysqli_stmt_param_count()

Описание

This function is an alias of mysqli_stmt_param_count().

Примечания

Замечание: mysqli_param_count() is deprecated and will be removed.

Смотрите также

  • mysqli_stmt_param_count()

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 | Report warnings from mysqli function calls
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 в случае возникновения ошибки.

Примеры

Пример #1 Object oriented style

<?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 warning */
$result = $mysqli->query("SELECT Name FROM City WHERE population > 50000");
$result->close();

$mysqli->close();
?>

Смотрите также

  • 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 )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Внимание

This function has been DEPRECATED and REMOVED as of 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 )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Внимание

This function has been DEPRECATED and REMOVED as of 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

Описание

Procedural style:

int mysqli_rpl_query_type ( mysqli $link , string $query )

Object oriented style (method)

mysqli
int rpl_query_type ( 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.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Внимание

This function has been DEPRECATED and REMOVED as of PHP 5.3.0.

mysqli_rpl_probe
mysqli_send_long_data
mysqli


Alias for 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 — Alias for mysqli_stmt_send_long_data()

Описание

This function is an alias of mysqli_stmt_send_long_data().

Примечания

Замечание: mysqli_send_long_data() is deprecated and will be removed.

Смотрите также

  • mysqli_stmt_send_long_data()

mysqli_rpl_query_type
mysqli_send_query
mysqli


Send the query and return

mysqli_send_long_data
mysqli_set_opt
mysqli
PHP Manual

mysqli_send_query

mysqli->send_query

(PHP 5)

mysqli_send_query -- mysqli->send_query — Send the query and return

Описание

Procedural style:

bool mysqli_send_query ( mysqli $link , string $query )

Object oriented style (method)

mysqli
bool send_query ( string $query )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Внимание

This function has been DEPRECATED and REMOVED as of PHP 5.3.0.

mysqli_send_long_data
mysqli_set_opt
mysqli


Alias of mysqli_options

mysqli_send_query
mysqli_slave_query
mysqli
PHP Manual

mysqli_set_opt

(PHP 5)

mysqli_set_opt — Alias of mysqli_options()

Описание

This function is an alias of 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
Oracle/OCI8
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 )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Внимание

This function has been DEPRECATED and REMOVED as of PHP 5.3.0.

mysqli_set_opt
Oracle/OCI8
mysqli


Oracle/OCI8

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Выполнение простого запроса
  • Connecting Handling
  • Supported Datatypes
  • OCI8 — Функции для работы с Oracle
    • oci_bind_array_by_name — Binds PHP array to Oracle PL/SQL array by name
    • oci_bind_by_name — Привязывает переменную PHP к соответствующей метке в SQL-выражении.
    • oci_cancel — Заканчивает процесс чтения из курсора
    • oci_close — Закрывает соединение с сервером Oracle
    • collection->append — Добавляет элемент в коллекцию
    • 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
    • collection->max — Возвращает максимальное количество элементов в коллекции.
    • collection->size — Возвращает количество элементов в коллекции
    • collection->trim — Отрезает элементы с конца коллекции
    • oci_commit — Завершает и подтверждает транзакцию
    • oci_connect — Устанавливает соединение с сервером Oracle
    • oci_define_by_name — Определяет переменную PHP, в которую будет возвращено соответствующее поле из результата
    • oci_error — Возвращает последнюю ошибку
    • oci_execute — Выполняет выражение SQL
    • 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 — Возвращает тип исходный тип поля
    • oci_field_type — Возвращает тип поля
    • oci_free_statement — Освобождает ресурсы, занимаемые курсором или SQL-выражением
    • oci_internal_debug — Включает и выключает внутреннюю отладку
    • lob->append — Добавляет данные из объекта LOB в конец другого объекта
    • lob->close — Закрывает дескриптор объекта LOB
    • oci_lob_copy — Копирует содержание или часть содержания одного объекта LOB в другой
    • lob->eof — Проверяет, находится ли указатель LOB на конце файла
    • lob->erase — Очищает указанную часть объекта LOB
    • lob->export — Сохраняет содержимое объекта LOB в файл
    • 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
    • lob->import — Записывает содержимое файла в объект LOB
    • oci_lob_is_equal — Сравнивает два объекта LOB
    • lob->load — Возвращает содержимое объекта LOB
    • lob->read — Возвращает часть объекта LOB
    • lob->rewind — Переводит указатель объекта в начало
    • lob->save — Сохраняет данные в LOB
    • OCI-Lob->saveFile — Псевдоним oci_lob_import
    • lob->seek — Устанавливает позицию внутреннего указателя
    • OCI-Lob->setBuffering — Changes current state of buffering for the large object
    • lob->size — Возвращает размер объекта LOB
    • lob->tell — Возвращает текущую позицию внутреннего указателя объекта
    • lob->truncate — Обрезает LOB до указанной длины
    • lob->write — Записывает данные в объект LOB
    • OCI-Lob->writeTemporary — Writes 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_prefetch — Устанавливает количество строк, которые будут автоматически выбраны в буфер
    • oci_statement_type — Возвращает тип выражения
    • ocibindbyname — Псевдоним oci_bind_by_name
    • ocicancel — Псевдоним oci_cancel
    • ocicloselob — Псевдоним
    • ocicollappend — Псевдоним
    • ocicollassign — Псевдоним
    • ocicollassignelem — Псевдоним
    • ocicollgetelem — Псевдоним
    • ocicollmax — Псевдоним
    • ocicollsize — Псевдоним
    • ocicolltrim — Псевдоним
    • 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 — Выбирает все строки из результата запроса в массив
    • ocifreecollection — Псевдоним
    • ocifreecursor — Псевдоним oci_free_statement
    • ocifreedesc — Псевдоним
    • ocifreestatement — Псевдоним oci_free_statement
    • ociinternaldebug — Псевдоним oci_internal_debug
    • ociloadlob — Псевдоним
    • 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 — Псевдоним
    • ocisavelobfile — Псевдоним
    • ociserverversion — Псевдоним oci_server_version
    • ocisetprefetch — Псевдоним oci_set_prefetch
    • ocistatementtype — Псевдоним oci_statement_type
    • ociwritelobtofile — Псевдоним
    • ociwritetemporarylob — Псевдоним
mysqli_slave_query
Введение
Vendor Specific Database Extensions


Введение

Эти функции позволяют вам работать с Oracle версий 10/9/8с помощью библиотеки Oracle Call Interface (OCI). Они поддерживают привязку переменных PHP к соответствующим меткам Oracle, расширенную поддержку LOB, FILE и ROWID.

Oracle/OCI8
Установка и настройка
Oracle/OCI8


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Oracle/OCI8


Требования

Вам понадобятся клиентские библиотеки Oracle для того, чтобы использовать этот модуль. Пользователям Windows необходимы библиотеки минимум версии 10 для того, чтобы использовать php_oci8.dll.

Мы рекомендуем вам использовать Oracle Instant Client, доступный по адресу » http://www.oracle.com/technology/tech/oci/instantclient/instantclient.html. Для использования модуля OCI8 достаточно установить "basic" версию пакета Oracle Instant Client. Instant Client не требует установки переменных ORACLE_SID или ORACLE_HOME. Однако, вам возможно понадобится установить переменные окружения LD_LIBRARY_PATH и NLS_LANG.

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

  • ORACLE_HOME
  • ORACLE_SID
  • LD_PRELOAD
  • LD_LIBRARY_PATH
  • NLS_LANG
  • ORA_NLS33

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

Замечание: Если ваш веб-сервер не стартует или возвращает ошибку при старте
Проверьте, что 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, вместо libthread присутствует libpthread. PHP и Apache также должны быть собраны с EXTRA_LIBS=-lthread.

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


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

OCI8 Configuration Options
Name | Default | Changeable | Changelog
oci8.privileged_connect | "0" | PHP_INI_SYSTEM | Available since PHP 5.1.2.
oci8.max_persistent | "-1" | PHP_INI_SYSTEM | Available since PHP 5.1.2.
oci8.persistent_timeout | "-1" | PHP_INI_SYSTEM | Available since PHP 5.1.2.
oci8.ping_interval | "60" | PHP_INI_SYSTEM | Available since PHP 5.1.2.
oci8.statement_cache_size | "20" | PHP_INI_SYSTEM | Available since PHP 5.1.2.
oci8.default_prefetch | "10" | PHP_INI_SYSTEM | Available since PHP 5.1.2.
oci8.old_oci_close_semantics | "0" | PHP_INI_SYSTEM | Available since PHP 5.1.2.

Краткое разъяснение конфигурационных директив.

oci8.privileged_connect boolean

This option enables privileged connections using external credentials (OCI_SYSOPER, OCI_SYSDBA).

oci8.max_persistent int

The maximum number of persistent OCI8 connections per process. Setting this option to -1 means that there is no limit.

oci8.persistent_timeout int

The maximum length of time (in seconds) that a given process is allowed to maintain an idle persistent connection. Setting this option to -1 means that idle persistent connections will be maintained forever.

oci8.ping_interval int

The length of time (in seconds) that must pass before issuing a ping during oci_pconnect(). When set to 0, persistent connections will be pinged every time they are reused. To disable pings completely, set this option to -1.

Замечание: Disabling pings will cause oci_pconnect() calls to operate at the highest efficiency, but may cause PHP to not detect faulty connections, such as those caused by network partitions, or if the Oracle server has gone down since PHP connected, until later in the script. Consult the oci_pconnect() documentation for more information.

oci8.statement_cache_size int

This option enables statement caching, and specifies how many statements to cache. To disable statement caching just set this option to 0.

Замечание: A larger cache can result in improved performance, at the cost of increased memory usage.

oci8.default_prefetch int

This option enables statement prefetching and sets the default number of rows that will be fetched automatically after statement execution.

Замечание: A larger prefetch can result in improved performance, at the cost of increased memory usage.

oci8.old_oci_close_semantics boolean

This option controls oci_close() behaviour. Enabling it means that oci_close() will do nothing; the connection will not be closed until the end of the script. This is for backward compatibility only. If you find that you need to enable this setting, you are strongly encouraged to remove the oci_close() calls from your application instead of enabling this option.

Установка
Типы ресурсов
Установка и настройка


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

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

OCI_DEFAULT (integer)
Режим выполнения выражения SQL. В этом режиме транзакция не завершается автоматически оператором COMMIT.
OCI_DESCRIBE_ONLY (integer)
Режим выполнения выражения SQL. Используйте этот режим, если вы хотите получить данные о выполнении запроса, а не выполнить сам запрос.
OCI_COMMIT_ON_SUCCESS (integer)
Режим выполнения выражения SQL. Транзакция автоматически завершается вызовом оператора COMMIT после выполнения oci_execute().
OCI_EXACT_FETCH (integer)
Режим получения результатов запроса. Используется в том случае, если приложению известно заранее сколько строк будет получено в результате. Oracle 8 и более поздние версии не используют выборку результатов с упреждением в этом режиме, а курсоры уничтожаются автоматически после выборки ожидаемого количества строк, что может уменьшить требования сервера к ресурсам.
OCI_SYSDATE (integer)
OCI_B_BFILE (integer)
Используется функцией oci_bind_by_name() для привязки переменных типа BFILE.
OCI_B_CFILEE (integer)
Используется функцией oci_bind_by_name() для привязки переменных типа CFILE.
OCI_B_CLOB (integer)
Используется функцией oci_bind_by_name() для привязки переменных типа CLOB.
OCI_B_BLOB (integer)
Используется функцией oci_bind_by_name() для привязки переменных типа BLOB.
OCI_B_ROWID (integer)
Используется функцией oci_bind_by_name() для привязки переменных типа ROWID.
OCI_B_CURSOR (integer)
Используется функцией oci_bind_by_name() для привязки курсоров, созданных ранее с помощью oci_new_cursor().
OCI_B_NTY (integer)
Используется функцией oci_bind_by_name() для привязки именованных типов данных. В PHP < 5.0 эта константа называлась OCI_B_SQLT_NTY.
OCI_B_BIN (integer)
SQLT_BFILEE (integer)
То же, что и OCI_B_BFILE.
SQLT_CFILEE (integer)
То же, что и OCI_B_CFILEE.
SQLT_CLOB (integer)
То же, что и OCI_B_CLOB.
SQLT_BLOB (integer)
То же, что и OCI_B_BLOB.
SQLT_RDD (integer)
То же, что и OCI_B_ROWID.
SQLT_NTY (integer)
То же, что и OCI_B_NTY.
OCI_FETCHSTATEMENT_BY_COLUMN (integer)
Режим oci_fetch_all() по умолчанию.
OCI_FETCHSTATEMENT_BY_ROW (integer)
Альтернативный режим oci_fetch_all().
OCI_ASSOC (integer)
Используется с oci_fetch_all() и oci_fetch_array() для получения ассоциативного массива.
OCI_NUM (integer)
Используется с oci_fetch_all() и oci_fetch_array() для получения массива с числовыми индексами.
OCI_BOTH (integer)
Используется с oci_fetch_all() и oci_fetch_array() для получения массива с ассоциативными и числовыми индексами.
OCI_RETURN_NULLS (integer)
Используется с oci_fetch_array() для получения пустых элементов массива, если соответствующее поле в результате равно NULL.
OCI_RETURN_LOBS (integer)
Используется oci_fetch_array() для получения содержания объекта LOB вместо дескриптора.
OCI_DTYPE_FILE (integer)
Флаг используется oci_new_descriptor() для инициализации дескриптора типа FILE.
OCI_DTYPE_LOB (integer)
Флаг используется oci_new_descriptor() для инициализации дескриптора типа LOB.
OCI_DTYPE_ROWID (integer)
Флаг используется oci_new_descriptor() для инициализации дескриптора типа ROWID.
OCI_D_FILE (integer)
То же, что и OCI_DTYPE_FILE.
OCI_D_LOB (integer)
То же, что и OCI_DTYPE_LOB.
OCI_D_ROWID (integer)
То же, что и OCI_DTYPE_ROWID.
Типы ресурсов
Примеры
Oracle/OCI8


Примеры

Содержание

  • Выполнение простого запроса
Предопределенные константы
Выполнение простого запроса
Oracle/OCI8


Выполнение простого запроса

Примеры
Connecting Handling
Примеры
PHP Manual

Пример #1 Выполнение простого запроса

<?php

  $conn = oci_connect('hr', 'hr', 'orcl');
  if (!$conn) {
    $e = oci_error();
    print htmlentities($e['message']);
    exit;
  }

  $query = 'SELECT * FROM DEPARTMENTS';

  $stid = oci_parse($conn, $query);
  if (!$stid) {
    $e = oci_error($conn);
    print htmlentities($e['message']);
    exit;
  }

  $r = oci_execute($stid, OCI_DEFAULT);
  if (!$r) {
    $e = oci_error($stid);
    echo htmlentities($e['message']);
    exit;
  }

  print '<table border="1">';
  while ($row = oci_fetch_array($stid, OCI_RETURN_NULLS)) {
    print '<tr>';
       foreach ($row as $item) {
         print '<td>'.($item?htmlentities($item):'&nbsp;').'</td>';
       }
       print '</tr>';
  }
  print '</table>';

  oci_close($conn);
?>

Пример #2 Запись данных с использованием oci_bind_by_name()

<?php

  // Создайте таблицу перед выполнением:
  //   CREATE TABLE MYTABLE (mid NUMBER, myd VARCHAR2(20));

  $conn = oci_connect('scott', 'tiger', 'orcl');

  $query = 'INSERT INTO MYTABLE VALUES(:myid, :mydata)';

  $stid = oci_parse($conn, $query);

  $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 "One row inserted";

  oci_close($conn);

?>

Пример #3 Запись данных в CLOB

<?php
// by sergo at bacup dot ru

// Используйте опцию OCI_DEFAULT, чтобы отложить выполнение транзакции
OCIExecute($stmt, OCI_DEFAULT);

$result = OCIResult($stmt, $n);
if (is_object($result)) $result = $result->load();

$sql = "insert into table (field1, field2) values (field1 = 'value',
field2 = empty_clob()) returning field2 into :field2";
OCIParse($conn, $sql);
$clob = OCINewDescriptor($conn, OCI_D_LOB);
OCIBindByName($stmt, ":field2", &$clob, -1, OCI_B_CLOB);
OCIExecute($stmt, OCI_DEFAULT);
$clob->save("some text");
OCICommit($conn);

?>

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

Пример #4 Использование хранимых процедур

<?php
// by webmaster at remoterealty dot com
$sth = OCIParse($dbh, "begin sp_newaddress( :address_id, '$firstname',
'$lastname', '$company', '$address1', '$address2', '$city', '$state',
'$postalcode', '$country', :error_code );end;");

 OCIBindByName($sth, ":address_id", $addr_id, 10);
 OCIBindByName($sth, ":error_code", $errorcode, 10);
 OCIExecute($sth);

?>

Примеры
Connecting Handling
Примеры


Connecting Handling

The oci8 extension provides you with 3 different functions for connecting to Oracle. It is up to you to use the most appropriate function for your application, and the information in this section is intended to help you make an informed choice.

Connecting to an Oracle server is a reasonably expensive operation, in terms of the time that it takes to complete. The oci_pconnect() function uses a persistent cache of connections that can be re-used across different script requests. This means that you will typically only incur the connection overhead once per php process (or apache child).

If your application connects to Oracle using a different set of credentials for each web user, the persistent cache employed by oci_pconnect() will become less useful as the number of concurrent users increases, to the point where it may start to adversely affect the overall performance of your Oracle server due to maintaining too many idle connections. If your application is structured in this way, it is recommended that you either tune your application using the oci8.max_persistent and oci8.persistent_timeout configuration settings (these will give you control over the persistent connection cache size and lifetime) or use oci_connect() instead.

Both oci_connect() and oci_pconnect() employ a connection cache; if you make multiple calls to oci_connect(), using the same parameters, in a given script, the second and subsequent calls return the existing connection handle. The cache used by oci_connect() is cleaned up at the end of the script run, or when you explicitly close the connection handle. oci_pconnect() has similar behaviour, although its cache is maintained separately and survives between requests.

This caching feature is important to remember, because it gives the appearance that the two handles are not transactionally isolated (they are in fact the same connection handle, so there is no isolation of any kind). If your application needs two separate, transactionally isolated connections, you should use oci_new_connect().

oci_new_connect() always creates a new connection to the Oracle server, regardless of what other connections might already exist. High traffic web applications should try to avoid using oci_new_connect(), especially in the busiest sections of the application.

Выполнение простого запроса
Supported Datatypes
Oracle/OCI8


Supported Datatypes

The driver supports the following types when binding parameters using oci_bind_by_name() function:
Type | Mapping
SQLT_NTY | Maps a native collection type from a PHP collection object, such as those created by oci_new_collection().
SQLT_BFILEE | Maps a native descriptor, such as those created by oci_new_descriptor().
SQLT_CFILEE | Maps a native descriptor, such as those created by oci_new_descriptor().
SQLT_CLOB | Maps a native descriptor, such as those created by oci_new_descriptor().
SQLT_BLOB | Maps a native descriptor, such as those created by oci_new_descriptor().
SQLT_RDD | Maps a native descriptor, such as those created by oci_new_descriptor().
SQLT_NUM | Converts the PHP parameter to a 'C' long type, and binds to that value.
SQLT_RSET | Maps a native statement handle, such as those created by oci_parse() or those retrieved from other OCI queries.
SQLT_CHR and any other type | Converts the PHP parameter to a string type and binds as a string.
The following types are supported when retrieving columns from a result set:
Type | Mapping
SQLT_RSET | Creates an oci statement resource to represent the the cursor.
SQLT_RDD | Creates a ROWID object.
SQLT_BLOB | Creates a LOB object.
SQLT_CLOB | Creates a LOB object.
SQLT_BFILE | Creates a LOB object.
SQLT_LNG | Bound as SQLT_CHR, returned as a string
SQLT_LBI | Bound as SQLT_BIN, returned as a string
Any other type | Bound as SQLT_CHR, returned as a string
Connecting Handling
OCI8
Oracle/OCI8


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

Содержание

  • oci_bind_array_by_name — Binds PHP array to Oracle PL/SQL array by name
  • oci_bind_by_name — Привязывает переменную PHP к соответствующей метке в SQL-выражении.
  • oci_cancel — Заканчивает процесс чтения из курсора
  • oci_close — Закрывает соединение с сервером Oracle
  • collection->append — Добавляет элемент в коллекцию
  • 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
  • collection->max — Возвращает максимальное количество элементов в коллекции.
  • collection->size — Возвращает количество элементов в коллекции
  • collection->trim — Отрезает элементы с конца коллекции
  • oci_commit — Завершает и подтверждает транзакцию
  • oci_connect — Устанавливает соединение с сервером Oracle
  • oci_define_by_name — Определяет переменную PHP, в которую будет возвращено соответствующее поле из результата
  • oci_error — Возвращает последнюю ошибку
  • oci_execute — Выполняет выражение SQL
  • 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 — Возвращает тип исходный тип поля
  • oci_field_type — Возвращает тип поля
  • oci_free_statement — Освобождает ресурсы, занимаемые курсором или SQL-выражением
  • oci_internal_debug — Включает и выключает внутреннюю отладку
  • lob->append — Добавляет данные из объекта LOB в конец другого объекта
  • lob->close — Закрывает дескриптор объекта LOB
  • oci_lob_copy — Копирует содержание или часть содержания одного объекта LOB в другой
  • lob->eof — Проверяет, находится ли указатель LOB на конце файла
  • lob->erase — Очищает указанную часть объекта LOB
  • lob->export — Сохраняет содержимое объекта LOB в файл
  • 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
  • lob->import — Записывает содержимое файла в объект LOB
  • oci_lob_is_equal — Сравнивает два объекта LOB
  • lob->load — Возвращает содержимое объекта LOB
  • lob->read — Возвращает часть объекта LOB
  • lob->rewind — Переводит указатель объекта в начало
  • lob->save — Сохраняет данные в LOB
  • OCI-Lob->saveFile — Псевдоним oci_lob_import
  • lob->seek — Устанавливает позицию внутреннего указателя
  • OCI-Lob->setBuffering — Changes current state of buffering for the large object
  • lob->size — Возвращает размер объекта LOB
  • lob->tell — Возвращает текущую позицию внутреннего указателя объекта
  • lob->truncate — Обрезает LOB до указанной длины
  • lob->write — Записывает данные в объект LOB
  • OCI-Lob->writeTemporary — Writes 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_prefetch — Устанавливает количество строк, которые будут автоматически выбраны в буфер
  • oci_statement_type — Возвращает тип выражения
  • ocibindbyname — Псевдоним oci_bind_by_name
  • ocicancel — Псевдоним oci_cancel
  • ocicloselob — Псевдоним
  • ocicollappend — Псевдоним
  • ocicollassign — Псевдоним
  • ocicollassignelem — Псевдоним
  • ocicollgetelem — Псевдоним
  • ocicollmax — Псевдоним
  • ocicollsize — Псевдоним
  • ocicolltrim — Псевдоним
  • 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 — Выбирает все строки из результата запроса в массив
  • ocifreecollection — Псевдоним
  • ocifreecursor — Псевдоним oci_free_statement
  • ocifreedesc — Псевдоним
  • ocifreestatement — Псевдоним oci_free_statement
  • ociinternaldebug — Псевдоним oci_internal_debug
  • ociloadlob — Псевдоним
  • 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 — Псевдоним
  • ocisavelobfile — Псевдоним
  • ociserverversion — Псевдоним oci_server_version
  • ocisetprefetch — Псевдоним oci_set_prefetch
  • ocistatementtype — Псевдоним oci_statement_type
  • ociwritelobtofile — Псевдоним
  • ociwritetemporarylob — Псевдоним
Supported Datatypes
oci_bind_array_by_name
Oracle/OCI8


Binds PHP array to Oracle PL/SQL array by name

OCI8
oci_bind_by_name
OCI8
PHP Manual

oci_bind_array_by_name

(PHP 5 >= 5.1.2, PECL oci8 >= 1.2.0)

oci_bind_array_by_name — Binds PHP array to Oracle PL/SQL array by name

Описание

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 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 use find the longest element in the incoming array and will use it as maximum length for array items.

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);

?>

Примечания

Замечание: This function is available since OCI8 release 1.2.

OCI8
oci_bind_by_name
OCI8


Привязывает переменную PHP к соответствующей метке в SQL-выражении.

oci_bind_array_by_name
oci_cancel
OCI8
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 $stmt , string $ph_name , mixed $&variable [, int $maxlength [, int $type ]] )

oci_bind_by_name() привязывает переменную variable к метке ph_name . Будет ли она использоваться для вывода или ввода - выяснится в процессе выполнения и необходимые ресурсы будут выделены по необходимости. Параметр length устанавливает максимальный объем в байтах получаемой переменной. Если параметр length равен -1, то oci_bind_by_name() будет использовать текущую длину variable как максимальную.

Если вы хотите привязать абстрактный тип данных (LOB/ROWID/BFILE), то вам необходимо сначала создать дескриптор с помощью oci_new_descriptor(). Параметр length не используется с абстрактными типами данных и должен быть равен -1. Параметр type говорит Oracle, какой тип дескриптора мы хотим использовать. Возможные значения этого параметра:

  • OCI_B_FILE - для BFILE;

  • OCI_B_CFILE - для CFILE;

  • OCI_B_CLOB - для CLOB;

  • OCI_B_BLOB - для BLOB;

  • OCI_B_ROWID - для ROWID;

  • OCI_B_NTY - для именованных типов данных;

  • OCI_B_CURSOR - для курсоров, созданных ранее с помощью oci_new_cursor().

Пример #1 Пример использования oci_bind_by_name()

<?php
/* oci_bind_by_name example thies at thieso dot net (980221)
  inserts 3 records into emp, and uses the ROWID for updating the
  records just after the insert.
*/

$conn = oci_connect("scott", "tiger");

$stmt = oci_parse($conn, "
                          INSERT INTO
                                     emp (empno, ename)
                   VALUES
                                     (:empno,:ename)
                            RETURNING
                                     ROWID
                                 INTO
                                     :rid
                                         ");

$data = array(
              1111 => "Larry",
              2222 => "Bill",
              3333 => "Jim"
             );

$rowid = oci_new_descriptor($conn, OCI_D_ROWID);

oci_bind_by_name($stmt, ":empno", $empno, 32);
oci_bind_by_name($stmt, ":ename", $ename, 32);
oci_bind_by_name($stmt, ":rid",   $rowid, -1, OCI_B_ROWID);

$update = oci_parse($conn, "
                            UPDATE
                                  emp
                               SET
                                  sal = :sal
                             WHERE
                                  ROWID = :rid
                             ");
oci_bind_by_name($update, ":rid", $rowid, -1, OCI_B_ROWID);
oci_bind_by_name($update, ":sal", $sal,   32);

$sal = 10000;

while (list($empno, $ename) = each($data)) {
    oci_execute($stmt);
    oci_execute($update);
}

$rowid->free();

oci_free_statement($update);
oci_free_statement($stmt);

$stmt = oci_parse($conn, "
                          SELECT
                                *
                            FROM
                                emp
                           WHERE
                                empno
                              IN
                                (1111,2222,3333)
                              ");
oci_execute($stmt);

while ($row = oci_fetch_assoc($stmt)) {
    var_dump($row);
}

oci_free_statement($stmt);

/* delete our "junk" from the emp table.... */
$stmt = oci_parse($conn, "
                          DELETE FROM
                                     emp
                                WHERE
                                     empno
                                   IN
                                     (1111,2222,3333)
                                   ");
oci_execute($stmt);
oci_free_statement($stmt);

oci_close($conn);
?>

Помните о том, что при использовании этой функции, конечные пробелы у строки будут обрезаны. Смотрите следующий пример:

Пример #2 Пример oci_bind_by_name()

<?php
    $connection = oci_connect('apelsin','kanistra');
    $query = "INSERT INTO test_table VALUES(:id, :text)";

    $statement = oci_parse($query);
    oci_bind_by_name($statement, ":id", 1);
    oci_bind_by_name($statement, ":text", "trailing spaces follow     ");
    oci_execute($statement);
    /*
     Этот код добавит в базу только строку 'trailing spaces follow', без
     пробелов в конце строки
    */
?>

Пример #3 Пример oci_bind_by_name()

<?php
    $connection = oci_connect('apelsin','kanistra');
    $query = "INSERT INTO test_table VALUES(:id, 'trailing spaces follow      ')";

    $statement = oci_parse($query);
    oci_bind_by_name($statement, ":id", 1);
    oci_execute($statement);
    /*
     А этот код добавит в базу строку 'trailing spaces follow      ' вместе с
     пробелами в конце строки
    */
?>

Внимание

Использовать magic_quotes_gpc, magic_quotes_runtime или addslashes() вместе с oci_bind_by_name() - это определенно плохая идея, т.к. в этих случаях кавычки будут записаны в базу вместе с данными. oci_bind_by_name() не может отличить "магические кавычки" от тех, что были добавлены намеренно.

Замечание: В версиях PHP ниже 5.0.0 эта функция называлась ocinewcollection(). В PHP 5.0.0 и выше ocinewcollection() является алиасом oci_new_collection(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

oci_bind_array_by_name
oci_cancel
OCI8


Заканчивает процесс чтения из курсора

oci_bind_by_name
oci_close
OCI8
PHP Manual

oci_cancel

(PHP 5, PECL oci8 >= 1.1.0)

oci_cancel — Заканчивает процесс чтения из курсора

Описание

bool oci_cancel ( resource $stmt )

Если вы больше не собираетесь использовать курсор для получения данных, то используйте oci_cancel() для освобождения ресурсов, которые ассоциированы с ним.

Замечание: В версиях PHP ниже 5.0.0 эта функция называлась ocicancel(). В PHP 5.0.0 и выше ocicancel() является алиасом oci_cancel(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

oci_bind_by_name
oci_close
OCI8


Закрывает соединение с сервером Oracle

oci_cancel
collection->append
OCI8
PHP Manual

oci_close

(PHP 5, PECL oci8 >= 1.1.0)

oci_close — Закрывает соединение с сервером Oracle

Описание

bool oci_close ( resource $connection )

Закрывает соединение с сервером Oracle.

Использование oci_close() не является необходимым. На данный момент все соединения являются постоянными (persistent) и не будут закрыты при использовании этой функции или после окончания работы скрипта.

Замечание: В версиях PHP ниже 5.0.0 эта функция называлась ociclose(). В PHP 5.0.0 и выше ociclose() является алиасом oci_close(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

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

oci_cancel
collection->append
OCI8


Добавляет элемент в коллекцию

oci_close
collection->assign
OCI8
PHP Manual

collection->append

()

collection->append — Добавляет элемент в коллекцию

Описание

bool collection->append ( mixed $value )

Добавляет элемент в коллекцию. value может быть строкой или числом.

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

oci_close
collection->assign
OCI8


Присваивает коллекции значение другой уже существующей коллекции

collection->append
OCI-Collection->assignElem
OCI8
PHP Manual

collection->assign

()

collection->assign — Присваивает коллекции значение другой уже существующей коллекции

Описание

bool collection->assign ( object $from )

Присваивает коллекции значение другой, ранее созданной коллекции. Обе коллекции должны быть созданы ранее с помощью oci_new_collection().

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

collection->append
OCI-Collection->assignElem
OCI8


Assigns a value to the element of the collection

collection->assign
OCI-Collection->free
OCI8
PHP Manual

OCI-Collection->assignElem

(PHP 5, PECL oci8 >= 1.1.0)

OCI-Collection->assignElem — Assigns a value to the element of the collection

Описание

OCI-Collection
bool 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

collection->assign
OCI-Collection->free
OCI8


Frees the resources associated with the collection object

OCI-Collection->assignElem
OCI-Collection->getElem
OCI8
PHP Manual

OCI-Collection->free

(PHP 5, PECL oci8 >= 1.1.0)

OCI-Collection->free — Frees the resources associated with the collection object

Описание

OCI-Collection
bool free ( void )

Frees the resources associated with the collection object.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • oci_new_collection

OCI-Collection->assignElem
OCI-Collection->getElem
OCI8


Returns value of the element

OCI-Collection->free
collection->max
OCI8
PHP Manual

OCI-Collection->getElem

(PHP 5, PECL oci8 >= 1.1.0)

OCI-Collection->getElem — Returns value of the element

Описание

OCI-Collection
mixed 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
collection->max
OCI8


Возвращает максимальное количество элементов в коллекции.

OCI-Collection->getElem
collection->size
OCI8
PHP Manual

collection->max

()

collection->max — Возвращает максимальное количество элементов в коллекции.

Описание

int collection->max ( void )

Возвращает максимальное количество элементов в коллекции. Для коллекций типа VARRAY - это максимальная длина массива. Если возвращаемое значение равно нулю, то количество элементов в коллекции не ограничено.

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

OCI-Collection->getElem
collection->size
OCI8


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

collection->max
collection->trim
OCI8
PHP Manual

collection->size

()

collection->size — Возвращает количество элементов в коллекции

Описание

int collection->size ( void )

Возвращает количество элементов в коллекции.

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

collection->max
collection->trim
OCI8


Отрезает элементы с конца коллекции

collection->size
oci_commit
OCI8
PHP Manual

collection->trim

()

collection->trim — Отрезает элементы с конца коллекции

Описание

bool collection->trim ( int $num )

Отрезает num элементов с конца коллекции.

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

collection->size
oci_commit
OCI8


Завершает и подтверждает транзакцию

collection->trim
oci_connect
OCI8
PHP Manual

oci_commit

(PHP 5, PECL oci8 >= 1.1.0)

oci_commit — Завершает и подтверждает транзакцию

Описание

bool oci_commit ( resource $connection )

oci_commit() завершает и подтверждает транзакцию, вводя в действие все ожидающие SQL-выражения для соединения connection .

Пример #1 Пример использования oci_commit()

<?php
    // Login to Oracle server
    $conn = oci_connect('scott', 'tiger');

    // Parse SQL
    $stmt = oci_parse($conn, "
                              INSERT INTO
                                         employees (name, surname)
                                   VALUES
                                         ('Maxim', 'Maletsky')
                             ");

    /* Execute statement
       OCI_DEFAULT tells oci_execute()
       not to commit statement immediately */
    oci_execute($stmt, OCI_DEFAULT);

    /*
    ....
    Parsing and executing other statements here ...
    ....
    */

    // Commit transaction
    $committed = oci_commit($conn);

    // Test whether commit was successful. If error occurred, return error message
    if (!$committed) {
        $error = oci_error($conn);
        echo 'Commit failed. Oracle reports: ' . $error['message'];
    }

?>

Замечание: В версиях PHP ниже 5.0.0 эта функция называлась ocicommit(). В PHP 5.0.0 и выше ocicommit() является алиасом oci_commit(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

См. также oci_rollback() и oci_execute().

collection->trim
oci_connect
OCI8


Устанавливает соединение с сервером Oracle

oci_commit
oci_define_by_name
OCI8
PHP Manual

oci_connect

(PHP 5, PECL oci8 >= 1.1.0)

oci_connect — Устанавливает соединение с сервером Oracle

Описание

resource oci_connect ( string $username , string $password [, string $db [, string $charset ]] )

oci_connect() возвращает идентификатор соединения, который используется большинством функций данного модуля. Необязательный третий параметр может содержать имя локального экземпляра Oracle или имя одной из записей в файле tnsnames.ora. Если третий параметр не указан, PHP использует переменные окружения ORACLE_SID и TWO_TASK, которые используются для определения имени локального экземпляра Oracle и местонахождения файла tnsnames.ora соответственно.

Замечание: oci_connect() не устанавливает соединение повторно, если соединение с такими параметрами (логин, пароль, имя сервера) уже было установлено. Вместо этого, oci_connect() вернет идентификатор уже открытого соединения. Это означает, что вам не следует использовать oci_connect() для разделения нескольких транзакций. Если вы уверены, что хотите установить соединение с теми же параметрами заново, то вам следует использовать oci_new_connect().

Если вы используете сервер Oracle версии 9.2 и выше, то вы можете указать кодировку, которая будет использована в новом соединении. Кодировка указывается в параметре charset . Если же вы используете версии сервера Oracle младше 9.2, то этот параметр будет проигнорирован, а вместо него будет использована переменная окружения NLS_LANG.

Пример #1 Пример использования oci_connect()

<?php
echo "<pre>";
$db = "";

$c1 = oci_connect("scott", "tiger", $db);
$c2 = oci_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);   // Insert a row using c1
insert_data($c2);   // Insert a row using c2

select_data($c1);   // Results of both inserts are returned
select_data($c2);

rollback($c1);      // Rollback using c1

select_data($c1);   // Both inserts have been rolled back
select_data($c2);

insert_data($c2);   // Insert a row using c2
commit($c2);        // Commit using c2

select_data($c1);   // Result of c2 insert is returned

delete_data($c1);   // Delete all rows in table using c1
select_data($c1);   // No rows returned
select_data($c2);   // No rows returned
commit($c1);        // Commit using c1

select_data($c1);   // No rows returned
select_data($c2);   // No rows returned

drop_table($c1);
echo "</pre>";
?>

В случае ошибки oci_connect() возвращает FALSE.

Замечание: В версиях PHP ниже 5.0.0 эта функция называлась ocilogon(). В PHP 5.0.0 и выше ocilogon() является алиасом oci_connect(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

См. также oci_pconnect() и oci_new_connect().

oci_commit
oci_define_by_name
OCI8


Определяет переменную PHP, в которую будет возвращено соответствующее поле из результата

oci_connect
oci_error
OCI8
PHP Manual

oci_define_by_name

(PHP 5, PECL oci8 >= 1.1.0)

oci_define_by_name — Определяет переменную PHP, в которую будет возвращено соответствующее поле из результата

Описание

bool oci_define_by_name ( resource $stmt , string $column_name , mixed $&variable [, int $type ] )

oci_define_by_name() назначает переменную PHP, которая будет использована, как получатель результата выполнения выборки.

Замечание: Не забывайте о том, что Oracle всегда возвращает имена полей в ВЕРХНЕМ регистре (если, конечно, вы не используете синтаксис 'SELECT field_name "field_name" FROM table_name'). Поэтому oci_define_by_name() обычно ожидает параметр column_name в верхнем регистр. Заметьте, что эта функция не возвратит ошибку, если соответствующее поле будет отсутствовать в результате выборки.

Если вам нужно назначить переменную абстрактного дипа данных (LOB/ROWID/BFILE), то ее необходимо сначала создать с помощью oci_new_descriptor(). См. также oci_bind_by_name().

Пример #1 Пример использования oci_define_by_name()

<?php
/* oci_define_by_name example - thies at thieso dot net (980219) */

$conn = oci_connect("scott", "tiger");

$stmt = oci_parse($conn, "SELECT empno, ename FROM emp");

/* the define MUST be done BEFORE ociexecute! */

oci_define_by_name($stmt, "EMPNO", $empno);
oci_define_by_name($stmt, "ENAME", $ename);

oci_execute($stmt);

while (oci_fetch($stmt)) {
    echo "empno:" . $empno . "\n";
    echo "ename:" . $ename . "\n";
}

oci_free_statement($stmt);
oci_close($conn);
?>

Замечание: В версиях PHP ниже 5.0.0 эта функция называлась ocidefinebyname(). В PHP 5.0.0 и выше ocidefinebyname() является алиасом oci_define_by_name(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

oci_connect
oci_error
OCI8


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

oci_define_by_name
oci_execute
OCI8
PHP Manual

oci_error

(PHP 5, PECL oci8 >= 1.1.0)

oci_error — Возвращает последнюю ошибку

Описание

array oci_error ([ resource $source ] )

Для большинства ошибок параметром source является соответствующий идентификатор соединения или выражения. Для ошибок во время выполнения функций oci_connect(), oci_new_connect() и oci_pconnect() этот параметр указывать не следует. oci_error() возвращает последнюю ошибку, которая была обнаружена в указанном ресурсе. В случае, если ошибок не было найдено, oci_error() возвращает FALSE.

oci_error() возвращает ошибку в виде ассоциативного массива из четырех элементов. Элемент code содержит код ошибки Oracle; элемент message - строку с текстом ошибки; sqltext - строка, содержащая выражение SQL, которое вызвало ошибку, а элемент offset - указатель на место в выражении, которое вызвало ошибку.

Замечание: Элементы массива offset и sqltext были добавлены начиная с версии PHP 4.3.

Пример #1 Вывод сообщения при ошибке соединения

$conn = @oci_connect("scott", "tiger", "mydb");
if (!$conn) {
  $e = oci_error();   // For oci_connect errors pass no handle
  echo htmlentities($e['message']);
}

Пример #2 Вывод сообщения при ошибке парсинга выражения

$stmt = @oci_parse($conn, "select ' from dual");  // note mismatched quote
if (!$stmt) {
  $e = oci_parse($conn);  // For oci_parse errors pass the connection handle
  echo htmlentities($e['message']);
}

Пример #3 Вывод сообщения об ошибке и SQL-выражения, в котором она возникла

$r = oci_execute($stmt);
if (!$r) {
  $e = oci_error($stmt); // For oci_execute errors pass the statementhandle
  echo htmlentities($e['message']);
  echo "<pre>";
  echo htmlentities($e['sqltext']);
  printf("\n%".($e['offset']+1)."s", "^");
  echo "</pre>";
}

Замечание: В версиях PHP ниже 5.0.0 эта функция называлась ocierror(). В PHP 5.0.0 и выше ocierror() является алиасом oci_error(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

oci_define_by_name
oci_execute
OCI8


Выполняет выражение SQL

oci_error
oci_fetch_all
OCI8
PHP Manual

oci_execute

(PHP 5, PECL oci8 >= 1.1.0)

oci_execute — Выполняет выражение SQL

Описание

bool oci_execute ( resource $stmt [, int $mode ] )

oci_execute() выполняет предварительно подготовленное к выполнению выражение SQL (см. oci_parse()). Необязательный третий параметр mode позволяет вам указывать режим выполнения (по умолчанию он равен OCI_COMMIT_ON_SUCCESS). Если вы не хотите, чтобы после выполнения выражения автоматически выполнялся оператор COMMIT, завершающий транзакцию, то вам необходимо указать OCI_DEFAULT, как значение параметра mode .

Замечание: В версиях PHP ниже 5.0.0 эта функция называлась ociexecute(). В PHP 5.0.0 и выше ociexecute() является алиасом oci_execute(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

oci_error
oci_fetch_all
OCI8


Выбирает все строки из результата запроса в массив

oci_execute
oci_fetch_array
OCI8
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 [, int $maxrows [, int $flags ]]] )

oci_fetch_all() выбирает все строки из результата запроса в указанный пользователем массив. oci_fetch_all() возвращает количество выбранных строк или FALSE в случае ошибки. Параметр skip указывает количество строк с начала резульата, которые следует пропустить (по умолчанию этот параметр равен 0, т.е. обработка начинается с самого начала). Параметр maxrows - это количество строк, которое требуется прочесть, начиная со строки, указанной в параметре\ skip (по умолчанию равно -1, т.е. все строки).

Аргумент flags может быть комбинацией следующих флагов:

  • OCI_FETCHSTATEMENT_BY_ROW
  • OCI_FETCHSTATEMENT_BY_COLUMN (значение по умолчанию)
  • OCI_NUM
  • OCI_ASSOC

Пример #1 Пример использования oci_fetch_all()

<?php
/* oci_fetch_all example mbritton at verinet dot com (990624) */

$conn = oci_connect("scott", "tiger");

$stmt = oci_parse($conn, "select * from emp");

oci_execute($stmt);

$nrows = oci_fetch_all($stmt, $results);
if ($nrows > 0) {
   echo "<table border=\"1\">\n";
   echo "<tr>\n";
   while (list($key, $val) = each($results)) {
      echo "<th>$key</th>\n";
   }
   echo "</tr>\n";

   for ($i = 0; $i < $nrows; $i++) {
      reset($results);
      echo "<tr>\n";
      while ($column = each($results)) {
         $data = $column['value'];
         echo "<td>$data[$i]</td>\n";
      }
      echo "</tr>\n";
   }
   echo "</table>\n";
} else {
   echo "No data found<br />\n";
}
echo "$nrows Records Selected<br />\n";

oci_free_statement($stmt);
oci_close($conn);
?>

oci_fetch_all() возвращает FALSE в случае ошибки.

Замечание: В версиях PHP ниже 5.0.0 эта функция называлась ocifetchstatement(). В PHP 5.0.0 и выше ocifetchstatement() является алиасом oci_fetch_all(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

oci_execute
oci_fetch_array
OCI8


Возвращает следующую строку из результата запроса в виде ассоциативного массива, числового массива или оба сразу

oci_fetch_all
oci_fetch_assoc
OCI8
PHP Manual

oci_fetch_array

(PHP 5, PECL oci8 >= 1.1.0)

oci_fetch_array — Возвращает следующую строку из результата запроса в виде ассоциативного массива, числового массива или оба сразу

Описание

array oci_fetch_array ( resource $statement [, int $mode ] )

Возвращает массив, который соответствует строке из результата запроса или FALSE, если строк в результате больше не осталось.

По умолчанию, oci_fetch_array() возвращает массив с ассоциативными и числовыми индексами.

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

  • OCI_BOTH - возвращать массив с ассоциативными и числовыми индексами (то же, что и OCI_ASSOC + OCI_NUM), это значение используется по умолчанию.
  • OCI_ASSOC - возвращать массив с ассоциативными индексами (именно так работает oci_fetch_assoc()).
  • OCI_NUM - возвращать массив с числовыми индексами, начинающимися с нуля (именно так работает oci_fetch_row()).
  • OCI_RETURN_NULLS - создавать пустые элементы для полей со значением NULL.
  • OCI_RETURN_LOBS - возвращать значение поля LOB вместо дескриптора.

Значение по умолчанию для mode равно OCI_BOTH + OCI_RETURN_NULLS.

Нужно также упомянуть тот факт, что oci_fetch_array() незначительно медленней, чем oci_fetch_row(), но предоставляет более гибкий интерфейс.

Замечание: Вам не следует забывать о том, что Oracle возвращает имена полей в ВЕРХНЕМ регистре, поэтому индексы ассоциативного массива будут также в ВЕРХНЕМ регистре.

Пример #1 Пример использования oci_fetch_array() с флагом OCI_BOTH

<?php
$connection = oci_connect("apelsin", "kanistra");

$query = "SELECT id, name FROM fruits";

$statement = oci_parse ($connection, $query);
oci_execute ($statement);

while ($row = oci_fetch_array ($statement, OCI_BOTH)) {
    echo $row[0]." and ".$row['ID']." is the same<br>";
    echo $row[1]." and ".$row['NAME']." is the same<br>";
}
?>

Пример #2 Пример использования oci_fetch_array() с флагом OCI_NUM

<?php
$connection = oci_connect("user", "password");

$query = "SELECT id, name, lob_field FROM fruits";

$statement = oci_parse ($connection, $query);
oci_execute ($statement);

while ($row = oci_fetch_array ($statement, OCI_NUM)) {
    echo $row[0]."<br>";
    echo $row[1]."<br>";
    echo $row[2]->read(100)."<br>";  //this will output first 100 bytes from LOB
}
?>

Пример #3 Пример использования oci_fetch_array() с флагом OCI_ASSOC

<?php
$connection = oci_connect("user", "password");

$query = "SELECT id, name, lob_field FROM fruits";

$statement = oci_parse ($connection, $query);
oci_execute ($statement);

while ($row = oci_fetch_array ($statement, OCI_NUM)) {
    echo $row['ID']."<br>";
    echo $row['NAME']."<br>";
    echo $row['LOB_FIELD']."<br>";  //this will output "Object id #1"
}
?>

Пример #4 Пример использования oci_fetch_array() с флагом OCI_RETURN_LOBS

<?php
$connection = oci_connect("user", "password");

$query = "SELECT id, name, lob_field FROM fruits";

$statement = oci_parse ($connection, $query);
oci_execute ($statement);

while ($row = oci_fetch_array ($statement, OCI_NUM)) {
    echo $row[0]."<br>";
    echo $row[1]."<br>";
    echo $row['LOB_FIELD']."<br>";  //this will output LOB's content
}
?>

См. также oci_fetch_assoc(),
oci_fetch_object(),
oci_fetch_row() и
oci_fetch_all().

oci_fetch_all
oci_fetch_assoc
OCI8


Возвращает следующую строку из результата запроса в виде ассоциативного массива

oci_fetch_array
oci_fetch_object
OCI8
PHP Manual

oci_fetch_assoc

(PHP 5, PECL oci8 >= 1.1.0)

oci_fetch_assoc — Возвращает следующую строку из результата запроса в виде ассоциативного массива

Описание

array oci_fetch_assoc ( resource $statement )

oci_fetch_assoc() возвращает следующую строку из результата выполнения запроса в виде ассоциативного массива, что аналогично вызову oci_fetch_array() с флагом OCI_ASSOC.

Следующий вызов oci_fetch_assoc() вернет следующую строку из результата или FALSE, если больше нет строк.

Замечание: Вам не следует забывать о том, что Oracle возвращает имена полей в ВЕРХНЕМ регистре, поэтому индексы ассоциативного массива будут также в ВЕРХНЕМ регистре.

См. также oci_fetch_array(),
oci_fetch_object(),
oci_fetch_row() и
oci_fetch_all().

oci_fetch_array
oci_fetch_object
OCI8


Возвращает следующую строку из результата запроса в виде объекта

oci_fetch_assoc
oci_fetch_row
OCI8
PHP Manual

oci_fetch_object

(PHP 5, PECL oci8 >= 1.1.0)

oci_fetch_object — Возвращает следующую строку из результата запроса в виде объекта

Описание

object oci_fetch_object ( resource $statement )

oci_fetch_object() возвращает следующую строку из результата выполнения запроса в виде объекта, имена свойств которого соответствуют именам полей в результате.

Следующий вызов oci_fetch_object() вернет следующую строку из результата или FALSE, если больше нет строк.

Замечание: Вам не следует забывать о том, что Oracle возвращает имена полей в ВЕРХНЕМ регистре, поэтому имена атрибутов объекта будут также в ВЕРХНЕМ регистре.

См. также oci_fetch_array(),
oci_fetch_assoc(),
oci_fetch_row() и
oci_fetch_all().

oci_fetch_assoc
oci_fetch_row
OCI8


Возвращает следующую строку из результата запроса в виде массива с числовыми индексами

oci_fetch_object
oci_fetch
OCI8
PHP Manual

oci_fetch_row

(PHP 5, PECL oci8 >= 1.1.0)

oci_fetch_row — Возвращает следующую строку из результата запроса в виде массива с числовыми индексами

Описание

array oci_fetch_row ( resource $statement )

Вызов oci_fetch_row() аналогичен вызову oci_fetch_array() с флагом OCI_NUM. Она возвращает следующую строку из результата запроса в виде массива с числовыми индексами.

Последующий вызов oci_fetch_row() вернет следующий ряд из результата или FALSE, если в нем больше нет рядов.

См. также oci_fetch_array(),
oci_fetch_object(),
oci_fetch_assoc() и
oci_fetch_all().

oci_fetch_object
oci_fetch
OCI8


Выбирает следующую строку из результата в буфер

oci_fetch_row
oci_field_is_null
OCI8
PHP Manual

oci_fetch

(PHP 5, PECL oci8 >= 1.1.0)

oci_fetch — Выбирает следующую строку из результата в буфер

Описание

bool oci_fetch ( resource $stmt )

oci_fetch() выбирает следующую строку из результата запроса во внутренний буфер.

Замечание: В версиях PHP ниже 5.0.0 эта функция называлась ocifetch(). В PHP 5.0.0 и выше ocifetch() является алиасом oci_fetch(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

oci_fetch_row
oci_field_is_null
OCI8


Проверяет, равняется ли поле NULL

oci_fetch
oci_field_name
OCI8
PHP Manual

oci_field_is_null

(PHP 5, PECL oci8 >= 1.1.0)

oci_field_is_null — Проверяет, равняется ли поле NULL

Описание

bool oci_field_is_null ( resource $stmt , mixed $field )

oci_field_is_null() возвращает TRUE, если поле field из результата выражения stmt равняется NULL. В качестве параметра field может быть использовано имя поля (в верхнем регистре) или его порядковый номер в результате запроса (нумерация начинается с 1).

Замечание: В версиях PHP ниже 5.0.0 эта функция называлась ocicolumnisnull(). В PHP 5.0.0 и выше ocicolumnisnull() является алиасом oci_field_is_null(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

oci_fetch
oci_field_name
OCI8


Возвращает имя поля из результата запроса

oci_field_is_null
oci_field_precision
OCI8
PHP Manual

oci_field_name

(PHP 5, PECL oci8 >= 1.1.0)

oci_field_name — Возвращает имя поля из результата запроса

Описание

string oci_field_name ( resource $stmt , int $field )

oci_field_name() возвращает имя поля из результата запроса. Параметр field указывает номер поля в результате запроса (нумерация начинается с 1).

Пример #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


Возвращает точность поля

oci_field_name
oci_field_scale
OCI8
PHP Manual

oci_field_precision

(PHP 5, PECL oci8 >= 1.1.0)

oci_field_precision — Возвращает точность поля

Описание

int oci_field_precision ( resource $stmt , int $field )

Возвращает точность поля под номером field в результате запроса. Нумерация начинается с 1.

Для полей типа FLOAT точность больше нуля, а масштаб, получаемый с помощью oci_field_scale(), равен -127. Если точность поля равна нулю, то тип поля - NUMBER. Иначе же, тип поля может быть описан как NUMBER(precision, scale).

Замечание: В версиях 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


Возвращает масштаб поля

oci_field_precision
oci_field_size
OCI8
PHP Manual

oci_field_scale

(PHP 5, PECL oci8 >= 1.1.0)

oci_field_scale — Возвращает масштаб поля

Описание

int oci_field_scale ( resource $stmt , int $field )

Возвращает масштаб поля под номером field из результата запроса (нумерация начинается с 1) или FALSE, если поля с таким индексом не найдено.

Для полей типа FLOAT точность, получаемая с помощью oci_field_precision(), больше нуля, а масштаб равен -127. Если точность поля равна нулю, то тип поля - NUMBER. Иначе же, тип поля может быть описан как NUMBER(precision, scale).

Замечание: В версиях 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


Возвращает размер поля

oci_field_scale
oci_field_type_raw
OCI8
PHP Manual

oci_field_size

(PHP 5, PECL oci8 >= 1.1.0)

oci_field_size — Возвращает размер поля

Описание

int oci_field_size ( resource $stmt , mixed $field )

oci_field_size() возвращает размер поля в байтах. В качестве параметра field может быть использовано имя поля или его номер (нумерация начинается с 1).

Пример #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


Возвращает тип исходный тип поля

oci_field_size
oci_field_type
OCI8
PHP Manual

oci_field_type_raw

(PHP 5, PECL oci8 >= 1.1.0)

oci_field_type_raw — Возвращает тип исходный тип поля

Описание

int oci_field_type_raw ( resource $stmt , int $field )

oci_field_type_raw() возвращает тип поля из результата запроса в виде числа, которое соответствует внутреннему типу Oracle.

Замечание: В версиях PHP ниже 5.0.0 эта функция называлась ocicolumntyperaw(). В PHP 5.0.0 и выше ocicolumntyperaw() является алиасом oci_field_type_raw(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

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

oci_field_size
oci_field_type
OCI8


Возвращает тип поля

oci_field_type_raw
oci_free_statement
OCI8
PHP Manual

oci_field_type

(PHP 5, PECL oci8 >= 1.1.0)

oci_field_type — Возвращает тип поля

Описание

mixed oci_field_type ( resource $stmt , int $field )

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

Пример #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


Освобождает ресурсы, занимаемые курсором или SQL-выражением

oci_field_type
oci_internal_debug
OCI8
PHP Manual

oci_free_statement

(PHP 5, PECL oci8 >= 1.1.0)

oci_free_statement — Освобождает ресурсы, занимаемые курсором или SQL-выражением

Описание

bool oci_free_statement ( resource $stmt )

oci_free_statementr() освобождает все ресурсы, занимаемые курсором или SQL-выражением, которое было получено с помощью функции oci_parse().

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

oci_field_type
oci_internal_debug
OCI8


Включает и выключает внутреннюю отладку

oci_free_statement
lob->append
OCI8
PHP Manual

oci_internal_debug

(PHP 5, PECL oci8 >= 1.1.0)

oci_internal_debug — Включает и выключает внутреннюю отладку

Описание

void oci_internal_debug ( int $onoff )

oci_internal_debug() включает внутреннюю отладку модуля OCI8. Укажите значение параметра onoff равное нулю, чтобы выключить отладку и равное единице, чтобы включить её.

Замечание: В версиях PHP ниже 5.0.0 эта функция называлась ociinternaldebug(). В PHP 5.0.0 и выше ociinternaldebug() является алиасом oci_internal_debug(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

oci_free_statement
lob->append
OCI8


Добавляет данные из объекта LOB в конец другого объекта

oci_internal_debug
lob->close
OCI8
PHP Manual

lob->append

()

lob->append — Добавляет данные из объекта LOB в конец другого объекта

Описание

bool lob->append ( object $lob_from )

Добавляет в конец объекта LOB данные из другого объекта LOB, указанного в параметре lob_from .

Запись в LOB с помощью lob->append() вызовет ошибку, если у объекта включен режим буферизации. Поэтому вы должны выключить буферизацию с помощью ocisetbufferinglob(). Если вы записывали данные в LOB до этого, то перед выключением буферизации вам необходимо использовать oci_lob_flush() для того, чтобы буфер был очищен и буферизированные данные были записаны.

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

См. также oci_lob_flush(),
ocisetbufferinglob() и
ocigetbufferinglob().

oci_internal_debug
lob->close
OCI8


Закрывает дескриптор объекта LOB

lob->append
oci_lob_copy
OCI8
PHP Manual

lob->close

()

lob->close — Закрывает дескриптор объекта LOB

Описание

bool lob->close ( void )

lob->close() закрывает дескриптор объекта LOB или FILE. Эту функцию следует использовать только вместе с lob->writeTemporary().

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

См. также oci_lob_write_temporary()

Замечание: В версиях PHP ниже 5.0.0 эта функция называлась ocicloselob(). В PHP 5.0.0 и выше ocicloselob() является алиасом oci_lob_close(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

lob->append
oci_lob_copy
OCI8


Копирует содержание или часть содержания одного объекта LOB в другой

lob->close
lob->eof
OCI8
PHP Manual

oci_lob_copy

(PHP 5, PECL oci8 >= 1.1.0)

oci_lob_copy — Копирует содержание или часть содержания одного объекта LOB в другой

Описание

bool oci_lob_copy ([ int $length ] )

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

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

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

lob->close
lob->eof
OCI8


Проверяет, находится ли указатель LOB на конце файла

oci_lob_copy
lob->erase
OCI8
PHP Manual

lob->eof

()

lob->eof — Проверяет, находится ли указатель LOB на конце файла

Описание

boolean lob->eof ( void )

Возвращает TRUE, если внутренний указатель объекта LOB находится на конце файла. В ином случае возвращает FALSE.

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

oci_lob_copy
lob->erase
OCI8


Очищает указанную часть объекта LOB

lob->eof
lob->export
OCI8
PHP Manual

lob->erase

()

lob->erase — Очищает указанную часть объекта LOB

Описание

int lob->erase ([ int $offset [, int $length ]] )

Очищает объект LOB. Параметры offset и length позволяют очищать конкретную часть объекта. По умолчанию LOB очищается полностью.

Для объектов типа BLOB очищение означает заполнение нулевыми байтами. Объекты типа CLOB заполняются пробелами.

lob->erase() возвращает количество байт (для BLOB) или символов (для CLOB), которые были очищены, и FALSE в случае ошибки.

lob->eof
lob->export
OCI8


Сохраняет содержимое объекта LOB в файл

lob->erase
lob->flush
OCI8
PHP Manual

lob->export

()

lob->export — Сохраняет содержимое объекта LOB в файл

Описание

bool ociwritelobtofile ( string $filename [, int $start [, int $length ]] )

Экспортирует содержимое объекта LOB в файл, указанный в параметре filename . Аргумент start определяет с какого места начинать экспортировать данные, а аргумент length - их длину.

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

lob->erase
lob->flush
OCI8


Очищает и записывает буфер объекта LOB

lob->export
OCI-Lob->free
OCI8
PHP Manual

lob->flush

()

lob->flush — Очищает и записывает буфер объекта LOB

Описание

bool lob->flush ([ int $flag ] )

lob->flush() непосредственно записывает данные на сервер. По умолчанию ресурсы не освобождаются, но используя флаг OCI_LOB_BUFFER_FREE вы можете сделать это принудительно. Однако, вы должны быть точно уверены в том, что вы делаете, так как следующее чтение из объекта будет более ресурсоемко, чем предыдущие из-за необходимости обращения к серверу. Поэтому использовать флаг OCI_LOB_BUFFER_FREE рекомендуется только после того, как работа с объектом уже закончена.

lob->flush() вернет FALSE в том случае, если буферизация объекта не была включена.

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

lob->export
OCI-Lob->free
OCI8


Frees resources associated with the LOB descriptor

lob->flush
OCI-Lob->getBuffering
OCI8
PHP Manual

OCI-Lob->free

(PHP 5, PECL oci8 >= 1.1.0)

OCI-Lob->free — Frees resources associated with the LOB descriptor

Описание

OCI-Lob
bool free ( void )

Frees resources associated with the descriptor, previously allocated with oci_new_descriptor().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

lob->flush
OCI-Lob->getBuffering
OCI8


Returns current state of buffering for the large object

OCI-Lob->free
lob->import
OCI8
PHP Manual

OCI-Lob->getBuffering

(PHP 5, PECL oci8 >= 1.1.0)

OCI-Lob->getBuffering — Returns current state of buffering for the large object

Описание

OCI-Lob
bool 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
lob->import
OCI8


Записывает содержимое файла в объект LOB

OCI-Lob->getBuffering
oci_lob_is_equal
OCI8
PHP Manual

lob->import

()

lob->import — Записывает содержимое файла в объект LOB

Описание

bool lob->import ( string $filename )

Записывает содержимое файла filename в текущую позицию объекта LOB.

Замечание: В версиях PHP ниже 5.0.0 эта функция называлась ocisavelobfile(). В PHP 5.0.0 и выше ocisavelobfile() является алиасом oci_lob_import(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

OCI-Lob->getBuffering
oci_lob_is_equal
OCI8


Сравнивает два объекта LOB

lob->import
lob->load
OCI8
PHP Manual

oci_lob_is_equal

(PHP 5, PECL oci8 >= 1.1.0)

oci_lob_is_equal — Сравнивает два объекта LOB

Описание

bool oci_lob_is_equal ( object $lob1 , object $lob2 )

Сравнивает два объекта LOB. Возвращает TRUE, если объекты идентичны, и FALSE в обратном случае или в случае ошибки.

lob->import
lob->load
OCI8


Возвращает содержимое объекта LOB

oci_lob_is_equal
lob->read
OCI8
PHP Manual

lob->load

()

lob->load — Возвращает содержимое объекта LOB

Описание

string lob->load ( void )

Возвращает содержимое объекта LOB. Помните о том, что не всякий LOB может уместиться в переменной, на это влияет директива memory_limit. Поэтому, в большинстве случаев этот метод может быть заменен oci_lob_read(). В случае ошибки lob->load() вернет FALSE.

Замечание: В версиях PHP ниже 5.0.0 эта функция называлась ociloadlob(). В PHP 5.0.0 и выше ociloadlob() является алиасом oci_lob_load(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

oci_lob_is_equal
lob->read
OCI8


Возвращает часть объекта LOB

lob->load
lob->rewind
OCI8
PHP Manual

lob->read

()

lob->read — Возвращает часть объекта LOB

Описание

string lob->read ( int $length )

Читает и возвращает length байт данных с текущей позиции объекта LOB. Чтение останавливается, если длина прочтенных данных равна length или если достигнут конец объекта. Внутренний указатель перемещается на столько байт, сколько было прочитано.

Возвращает FALSE в случае ошибки.

См. также oci_lob_eof(),
oci_lob_seek(),
oci_lob_tell() и
oci_lob_write().

lob->load
lob->rewind
OCI8


Переводит указатель объекта в начало

lob->read
lob->save
OCI8
PHP Manual

lob->rewind

()

lob->rewind — Переводит указатель объекта в начало

Описание

boolean lob->rewind ( void )

Переводит внутренний указатель объекта LOB в начало.

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

См. также oci_lob_seek() и oci_lob_tell().

lob->read
lob->save
OCI8


Сохраняет данные в LOB

lob->rewind
OCI-Lob->saveFile
OCI8
PHP Manual

lob->save

()

lob->save — Сохраняет данные в LOB

Описание

bool lob->save ( string $data [, int $offset ] )

Сохраняет данные из параметра data в объект LOB. Аргумент offset указывает количество байт от начала объекта, на которые следует перед записью данных.

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Замечание: В версиях PHP ниже 5.0.0 эта функция называлась ocisavelob(). В PHP 5.0.0 и выше ocisavelob() является алиасом oci_lob_save(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

См. также oci_lob_write() и oci_lob_import().

lob->rewind
OCI-Lob->saveFile
OCI8


Псевдоним oci_lob_import

lob->save
lob->seek
OCI8
PHP Manual

OCI-Lob->saveFile

(PHP 5, PECL oci8 >= 1.1.0)

OCI-Lob->saveFile — Псевдоним oci_lob_import()

Описание

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

lob->save
lob->seek
OCI8


Устанавливает позицию внутреннего указателя

OCI-Lob->saveFile
OCI-Lob->setBuffering
OCI8
PHP Manual

lob->seek

()

lob->seek — Устанавливает позицию внутреннего указателя

Описание

boolean lob->seek ( int $offset [, int $whence ] )

Устанавливает позицию внутреннего указателя объекта LOB. Параметр offset указывает количество байтов, на которые следует переместиться от позиции, определяемой параметром whence :

  • OCI_SEEK_SET - установить позицию, равную offset
  • OCI_SEEK_CUR - прибавить к текущей позиции offset байт
  • OCI_SEEK_END - прибавить к концу файла offset байт (чтобы переместить указатель в начало - укажите отрицательный offset )

См. также oci_lob_rewind() и oci_lob_tell().

OCI-Lob->saveFile
OCI-Lob->setBuffering
OCI8


Changes current state of buffering for the large object

lob->seek
lob->size
OCI8
PHP Manual

OCI-Lob->setBuffering

(PHP 5, PECL oci8 >= 1.1.0)

OCI-Lob->setBuffering — Changes current state of buffering for the large object

Описание

OCI-Lob
bool 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

lob->seek
lob->size
OCI8


Возвращает размер объекта LOB

OCI-Lob->setBuffering
lob->tell
OCI8
PHP Manual

lob->size

()

lob->size — Возвращает размер объекта LOB

Описание

int lob->size ( void )

Возвращает длину объекта LOB или FALSE в случае ошибки. Для пустых объектов длина равняется нулю.

OCI-Lob->setBuffering
lob->tell
OCI8


Возвращает текущую позицию внутреннего указателя объекта

lob->size
lob->truncate
OCI8
PHP Manual

lob->tell

()

lob->tell — Возвращает текущую позицию внутреннего указателя объекта

Описание

int lob->tell ( void )

Возвращает текущую позицию внутреннего указателя объекта LOB или FALSE в случае ошибки.

См. также oci_lob_size() и oci_lob_eof().

lob->size
lob->truncate
OCI8


Обрезает LOB до указанной длины

lob->tell
lob->write
OCI8
PHP Manual

lob->truncate

()

lob->truncate — Обрезает LOB до указанной длины

Описание

boolean lob->truncate ([ int $length ] )

Если указан параметр length , обрезает данные LOB до length байт. По умолчанию lob->truncate() очищает объект полностью.

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

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

lob->tell
lob->write
OCI8


Записывает данные в объект LOB

lob->truncate
OCI-Lob->writeTemporary
OCI8
PHP Manual

lob->write

()

lob->write — Записывает данные в объект LOB

Описание

int lob->write ( string $data [, int $length ] )

Записывает данные из параметра data в текущую позицию объекта. Если указан параметр length , запись остановится после того, как length байт будет записано или закончатся данные из параметра data .

lob->write() возвращает количество записанных байт или FALSE в случае ошибки.

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

lob->truncate
OCI-Lob->writeTemporary
OCI8


Writes temporary large object

lob->write
OCI-Lob->writeToFile
OCI8
PHP Manual

OCI-Lob->writeTemporary

(PHP 5, PECL oci8 >= 1.1.0)

OCI-Lob->writeTemporary — Writes temporary large object

Описание

OCI-Lob
bool writeTemporary ( string $data [, int $lob_type ] )

Creates a temporary large object and writes data to it.

You should use 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 (default value) is used to create temporary CLOBs

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • lob->close

lob->write
OCI-Lob->writeToFile
OCI8


Псевдоним oci_lob_export

OCI-Lob->writeTemporary
oci_new_collection
OCI8
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


Создает новый объект коллекции

OCI-Lob->writeToFile
oci_new_connect
OCI8
PHP Manual

oci_new_collection

(PHP 5, PECL oci8 >= 1.1.0)

oci_new_collection — Создает новый объект коллекции

Описание

object oci_new_collection ( resource $connection , string $tdo [, string $schema ] )

Создает новый объект коллекции. Параметр tdo указывает на ранее созданный именованный тип данных. Имя типа указывается в верхнем регистре. Третий, необязательный параметр schema указывает схему, в которой был ранее создан соответствующий именованный тип.

Замечание: В версиях PHP ниже 5.0.0 эта функция называлась ocinewcollection(). В PHP 5.0.0 и выше ocinewcollection() является алиасом oci_new_collection(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

OCI-Lob->writeToFile
oci_new_connect
OCI8


Устанавливает новое соединение с сервером Oracle

oci_new_collection
oci_new_cursor
OCI8
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 $db [, string $charset ]] )

oci_new_connect() создает новое соединение с сервером Oracle. Необязательный третий параметр может содержать имя локального экземпляра Oracle или имя сервера, указанного в tnsnames.ora. Если параметр db не указан, PHP будет использовать переменные ORACLE_SID и TWO_TASK для определения имени локального экземпляра Oracle и местонахождения файла tnsnames.ora соответственно.

Если вы используете сервер Oracle версии 9.2 и выше, то вы можете указать кодировку, которая будет использована в новом соединении. Кодировка указывается в параметре charset . Если же вы используете версии сервера Oracle младше 9.2, то этот параметр будет проигнорирован, а вместо него будет использована переменная окружения NLS_LANG.

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

Этот пример демонстрирует разделение соединений.

Пример #1 Пример использования ocinlogon()

<?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>";
?>

В случае ошибки oci_new_connect() возвращает FALSE.

Замечание: В версиях PHP ниже 5.0.0 эта функция называлась ocinlogon(). В PHP 5.0.0 и выше ocinlogon() является алиасом oci_new_connect(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

См. также oci_connect() и oci_pconnect().

oci_new_collection
oci_new_cursor
OCI8


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

oci_new_connect
oci_new_descriptor
OCI8
PHP Manual

oci_new_cursor

(PHP 5, PECL oci8 >= 1.1.0)

oci_new_cursor — Возвращает идентификатор созданного курсора

Описание

resource oci_new_cursor ( resource $connection )

oci_new_cursor() создает новый курсор для указанного соединения и возвращает его идентификатор.

Пример #1 Использование REF CURSOR'ов в хранимых процедурах Oracle

<?php
// suppose your stored procedure info.output returns a ref cursor in :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


Инициализирует новый дескриптор объекта LOB или FILE

oci_new_cursor
oci_num_fields
OCI8
PHP Manual

oci_new_descriptor

(PHP 5, PECL oci8 >= 1.1.0)

oci_new_descriptor — Инициализирует новый дескриптор объекта LOB или FILE

Описание

object oci_new_descriptor ( resource $connection [, int $type ] )

oci_new_descriptor() выделяет ресурсы, необходимые для хранения дескриптора объекта. Аргумент type может принимать следующие значения: OCI_D_FILE, OCI_D_LOB или OCI_D_ROWID.

Пример #1 Пример использования oci_new_descriptor()

<?php
    /* This script is designed to be called from a HTML form.
     * It expects $user, $password, $table, $where, and $commitsize
     * to be passed in from the form.  The script then deletes
     * the selected rows using the ROWID and commits after each
     * set of $commitsize rows. (Use with care, there is no rollback)
     */
    $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
    /* This script demonstrates file upload to LOB columns
     * The formfield used for this example looks like this
     * <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 contains the temporary filename of the uploaded file

     // see also the features section on file upload,
     // if you would like to use secure uploads

     $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
    /* Calling PL/SQL stored procedures which contain clobs as input
     * parameters (PHP 4 >= 4.0.6).
     * Example PL/SQL stored procedure signature is:
     *
     * 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_new_descriptor() вернет FALSE в случае ошибки.

oci_new_cursor
oci_num_fields
OCI8


Возвращает количество полей в результате запроса

oci_new_descriptor
oci_num_rows
OCI8
PHP Manual

oci_num_fields

(PHP 5, PECL oci8 >= 1.1.0)

oci_num_fields — Возвращает количество полей в результате запроса

Описание

int oci_num_fields ( resource $stmt )

oci_num_fields() возвращает количество полей в результате выполнения выражения stmt .

Пример #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_num_fields() возвращает FALSE.

oci_new_descriptor
oci_num_rows
OCI8


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

oci_num_fields
oci_parse
OCI8
PHP Manual

oci_num_rows

(PHP 5, PECL oci8 >= 1.1.0)

oci_num_rows — Возвращает количество строк, измененных в процессе выполнения запроса

Описание

int oci_num_rows ( resource $stmt )

oci_num_rows() возвращает количество строк, которые были изменены в процессе выполнения выражения UPDATE.

Замечание: Эта функция не возвращает количество строк в результате выражения SELECT! Для запросов SELECT oci_num_rows() вернет количество строк, которые были считаны в буфер с помощью функций oci_fetch*().

Пример #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>";
?>

Замечание: В версиях PHP ниже 5.0.0 эта функция называлась ocirowcount(). В PHP 5.0.0 и выше ocirowcount() является алиасом oci_num_rows(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

В случае ошибки oci_num_rows() возвращает FALSE.

oci_num_fields
oci_parse
OCI8


Подготавливает запрос к выполнению

oci_num_rows
oci_password_change
OCI8
PHP Manual

oci_parse

(PHP 5, PECL oci8 >= 1.1.0)

oci_parse — Подготавливает запрос к выполнению

Описание

resource oci_parse ( resource $connection , string $query )

oci_parse() подготавливает query к выполнению, используя соединение connection и возвращает идентификатор выражения. Параметр query может быть выражением SQL или набором команд PL/SQL.

Замечание: Эта функция не проверяет синтаксис запроса query . Единственный способ проверить правильность запроса - это выполнить его.

Замечание: В версиях PHP ниже 5.0.0 эта функция называлась ociparse(). В PHP 5.0.0 и выше ociparse() является алиасом oci_parse(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

oci_parse() возвращает FALSE в случае ошибки.

oci_num_rows
oci_password_change
OCI8


Изменяет пароль пользователя Oracle

oci_parse
oci_pconnect
OCI8
PHP Manual

oci_password_change

(PHP 5, PECL oci8 >= 1.1.0)

oci_password_change — Изменяет пароль пользователя Oracle

Описание

boolean oci_password_change ( resource $connection , string $username , string $old_password , string $new_password )

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

Замечание: В версиях PHP ниже 5.0.0 эта функция называлась ocipasswordchange(). В PHP 5.0.0 и выше ocipasswordchange() является алиасом oci_password_change(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

oci_parse
oci_pconnect
OCI8


Устанавливает постоянное соединение с сервером Oracle

oci_password_change
oci_result
OCI8
PHP Manual

oci_pconnect

(PHP 5, PECL oci8 >= 1.1.0)

oci_pconnect — Устанавливает постоянное соединение с сервером Oracle

Описание

resource oci_pconnect ( string $username , string $password [, string $db [, string $charset ]] )

oci_pconnect() создает постоянное соединение с сервером Oracle. Необязательный третий параметр db может содержать имя локального экземпляра Oracle или имя сервера, указанного в файле tnsnames.ora, с которым вы хотите соединиться. Если третий параметр не указан, PHP будет использовать переменные ORACLE_SID и TWO_TASK для определения имени локального экземпляра Oracle и местонахождения файла tnsnames.ora соответственно.

Если вы используете сервер Oracle версии 9.2 и выше, то вы можете указать кодировку, которая будет использована в новом соединении. Кодировка указывается в параметре charset . Если же вы используете версии сервера Oracle младше 9.2, то этот параметр будет проигнорирован, а вместо него будет использована переменная окружения NLS_LANG.

oci_pconnect() возвращает идентификатор соединения или FALSE в случае ошибки.

Замечание: В версиях PHP ниже 5.0.0 эта функция называлась ociplogon(). В PHP 5.0.0 и выше ociplogon() является алиасом oci_pconnect(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

См. также oci_connect() и oci_new_connect().

oci_password_change
oci_result
OCI8


Возвращает значение поля из результата запроса

oci_pconnect
oci_rollback
OCI8
PHP Manual

oci_result

(PHP 5, PECL oci8 >= 1.1.0)

oci_result — Возвращает значение поля из результата запроса

Описание

mixed oci_result ( resource $statement , mixed $field )

oci_result() возвращает данные из поля field текущей строки результата (см. oci_fetch()). oci_result() возвращает данные в виде строк, кроме абстрактных типов (ROWID, LOB и FILE). В случае ошибки oci_result() возвращает FALSE.

В качестве параметра field вы можете использовать номер поля (начиная с 1) или его имя в верхнем регистре.

Замечание: В версиях 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


Откатывает транзакции, ожидающие обработки

oci_result
oci_server_version
OCI8
PHP Manual

oci_rollback

(PHP 5, PECL oci8 >= 1.1.0)

oci_rollback — Откатывает транзакции, ожидающие обработки

Описание

bool oci_rollback ( resource $connection )

oci_rollback() откатывает все ожидающие подтверждения транзакции для соединения connection . Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Замечание: В версиях PHP ниже 5.0.0 эта функция называлась ocirollback(). В PHP 5.0.0 и выше ocirollback() является алиасом oci_rollback(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

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

oci_result
oci_server_version
OCI8


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

oci_rollback
oci_set_prefetch
OCI8
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 "Server Version: " . oci_server_version($conn);
    oci_close($conn);
?>

Замечание: В версиях PHP ниже 5.0.0 эта функция называлась ociserverversion(). В PHP 5.0.0 и выше ociserverversion() является алиасом oci_server_version(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

oci_rollback
oci_set_prefetch
OCI8


Устанавливает количество строк, которые будут автоматически выбраны в буфер

oci_server_version
oci_statement_type
OCI8
PHP Manual

oci_set_prefetch

(PHP 5, PECL oci8 >= 1.1.0)

oci_set_prefetch — Устанавливает количество строк, которые будут автоматически выбраны в буфер

Описание

bool oci_set_prefetch ( resource $statement , int $rows )

Устанавливает количество строк, которые будут выбраны в буфер сразу после удачного вызова oci_execute(). Значение параметра rows по умолчанию равно 1.

Замечание: В версиях PHP ниже 5.0.0 эта функция называлась ocisetprefetch(). В PHP 5.0.0 и выше ocisetprefetch() является алиасом oci_set_prefetch(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

oci_server_version
oci_statement_type
OCI8


Возвращает тип выражения

oci_set_prefetch
ocibindbyname
OCI8
PHP Manual

oci_statement_type

(PHP 5, PECL oci8 >= 1.1.0)

oci_statement_type — Возвращает тип выражения

Описание

string oci_statement_type ( resource $statement )

oci_statement_type() возвращает одно из нижеперечисленных значений:

  1. SELECT
  2. UPDATE
  3. DELETE
  4. INSERT
  5. CREATE
  6. DROP
  7. ALTER
  8. BEGIN
  9. DECLARE
  10. UNKNOWN

Параметр statement должен быть равен идентификатору выражения, который был получен в результате выполнения oci_parse().

Пример #1 Примеры использования oci_statement_type()

<?php
    $conn = oci_connect("scott", "tiger");
    $sql  = "delete from emp where deptno = 10";

    $stmt = oci_parse($conn, $sql);
    if (oci_statement_type($stmt) == "DELETE") {
        die("You are not allowed to delete from this table<br />");
    }

    oci_close($conn);
?>

Замечание: В версиях PHP ниже 5.0.0 эта функция называлась ocistatementtype(). В PHP 5.0.0 и выше ocistatementtype() является алиасом oci_statement_type(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

oci_statement_type() возвращает FALSE в случае ошибки.

oci_set_prefetch
ocibindbyname
OCI8


Псевдоним oci_bind_by_name

oci_statement_type
ocicancel
OCI8
PHP Manual

ocibindbyname

(PHP 4, PHP 5, PECL oci8 >= 1.0.0)

ocibindbyname — Псевдоним oci_bind_by_name()

Описание

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

oci_statement_type
ocicancel
OCI8


Псевдоним oci_cancel

ocibindbyname
ocicloselob
OCI8
PHP Manual

ocicancel

(PHP 4, PHP 5, PECL oci8 >= 1.0.0)

ocicancel — Псевдоним oci_cancel()

Описание

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

ocibindbyname
ocicloselob
OCI8


Псевдоним

ocicancel
ocicollappend
OCI8
PHP Manual

ocicloselob

(PHP 4 >= 4.0.6, PECL oci8 1.0)

ocicloselob — Псевдоним lob->close

Описание

Эта функция является псевдонимом lob->close.

ocicancel
ocicollappend
OCI8


Псевдоним

ocicloselob
ocicollassign
OCI8
PHP Manual

ocicollappend

(PHP 4 >= 4.0.6, PHP 5, PECL oci8 >= 1.0.0)

ocicollappend — Псевдоним collection->append

Описание

Эта функция является псевдонимом collection->append.

ocicloselob
ocicollassign
OCI8


Псевдоним

ocicollappend
ocicollassignelem
OCI8
PHP Manual

ocicollassign

(PHP 4 >= 4.0.6, PECL oci8 1.0)

ocicollassign — Псевдоним collection->assign

Описание

Эта функция является псевдонимом collection->assign.

ocicollappend
ocicollassignelem
OCI8


Псевдоним

ocicollassign
ocicollgetelem
OCI8
PHP Manual

ocicollassignelem

(PHP 4 >= 4.0.6, PHP 5, PECL oci8 >= 1.0.0)

ocicollassignelem — Псевдоним OCI-Collection->assignElem

Описание

Эта функция является псевдонимом OCI-Collection->assignElem.

ocicollassign
ocicollgetelem
OCI8


Псевдоним

ocicollassignelem
ocicollmax
OCI8
PHP Manual

ocicollgetelem

(PHP 4 >= 4.0.6, PHP 5, PECL oci8 >= 1.0.0)

ocicollgetelem — Псевдоним OCI-Collection->getElem

Описание

Эта функция является псевдонимом OCI-Collection->getElem.

ocicollassignelem
ocicollmax
OCI8


Псевдоним

ocicollgetelem
ocicollsize
OCI8
PHP Manual

ocicollmax

(PHP 4 >= 4.0.6, PHP 5, PECL oci8 >= 1.0.0)

ocicollmax — Псевдоним collection->max

Описание

Эта функция является псевдонимом collection->max.

ocicollgetelem
ocicollsize
OCI8


Псевдоним

ocicollmax
ocicolltrim
OCI8
PHP Manual

ocicollsize

(PHP 4 >= 4.0.6, PHP 5, PECL oci8 >= 1.0.0)

ocicollsize — Псевдоним collection->size

Описание

Эта функция является псевдонимом collection->size.

ocicollmax
ocicolltrim
OCI8


Псевдоним

ocicollsize
ocicolumnisnull
OCI8
PHP Manual

ocicolltrim

(PHP 4 >= 4.0.6, PHP 5, PECL oci8 >= 1.0.0)

ocicolltrim — Псевдоним collection->trim

Описание

Эта функция является псевдонимом collection->trim.

ocicollsize
ocicolumnisnull
OCI8


Псевдоним oci_field_is_null

ocicolltrim
ocicolumnname
OCI8
PHP Manual

ocicolumnisnull

(PHP 4, PHP 5, PECL oci8 >= 1.0.0)

ocicolumnisnull — Псевдоним oci_field_is_null()

Описание

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

ocicolltrim
ocicolumnname
OCI8


Псевдоним oci_field_name

ocicolumnisnull
ocicolumnprecision
OCI8
PHP Manual

ocicolumnname

(PHP 4, PHP 5, PECL oci8 >= 1.0.0)

ocicolumnname — Псевдоним oci_field_name()

Описание

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

ocicolumnisnull
ocicolumnprecision
OCI8


Псевдоним oci_field_precision

ocicolumnname
ocicolumnscale
OCI8
PHP Manual

ocicolumnprecision

(PHP 4, PHP 5, PECL oci8 >= 1.0.0)

ocicolumnprecision — Псевдоним oci_field_precision()

Описание

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

ocicolumnname
ocicolumnscale
OCI8


Псевдоним oci_field_scale

ocicolumnprecision
ocicolumnsize
OCI8
PHP Manual

ocicolumnscale

(PHP 4, PHP 5, PECL oci8 >= 1.0.0)

ocicolumnscale — Псевдоним oci_field_scale()

Описание

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

ocicolumnprecision
ocicolumnsize
OCI8


Псевдоним oci_field_size

ocicolumnscale
ocicolumntype
OCI8
PHP Manual

ocicolumnsize

(PHP 4, PHP 5, PECL oci8 >= 1.0.0)

ocicolumnsize — Псевдоним oci_field_size()

Описание

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

ocicolumnscale
ocicolumntype
OCI8


Псевдоним oci_field_type

ocicolumnsize
ocicolumntyperaw
OCI8
PHP Manual

ocicolumntype

(PHP 4, PHP 5, PECL oci8 >= 1.0.0)

ocicolumntype — Псевдоним oci_field_type()

Описание

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

ocicolumnsize
ocicolumntyperaw
OCI8


Псевдоним oci_field_type_raw

ocicolumntype
ocicommit
OCI8
PHP Manual

ocicolumntyperaw

(PHP 4, PHP 5, PECL oci8 >= 1.0.0)

ocicolumntyperaw — Псевдоним oci_field_type_raw()

Описание

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

ocicolumntype
ocicommit
OCI8


Псевдоним oci_commit

ocicolumntyperaw
ocidefinebyname
OCI8
PHP Manual

ocicommit

(PHP 4, PHP 5, PECL oci8 >= 1.0.0)

ocicommit — Псевдоним oci_commit()

Описание

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

ocicolumntyperaw
ocidefinebyname
OCI8


Псевдоним oci_define_by_name

ocicommit
ocierror
OCI8
PHP Manual

ocidefinebyname

(PHP 4, PHP 5, PECL oci8 >= 1.0.0)

ocidefinebyname — Псевдоним oci_define_by_name()

Описание

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

ocicommit
ocierror
OCI8


Псевдоним oci_error

ocidefinebyname
ociexecute
OCI8
PHP Manual

ocierror

(PHP 4, PHP 5, PECL oci8 >= 1.0.0)

ocierror — Псевдоним oci_error()

Описание

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

ocidefinebyname
ociexecute
OCI8


Псевдоним oci_execute

ocierror
ocifetch
OCI8
PHP Manual

ociexecute

(PHP 4, PHP 5, PECL oci8 >= 1.0.0)

ociexecute — Псевдоним oci_execute()

Описание

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

ocierror
ocifetch
OCI8


Псевдоним oci_fetch

ociexecute
ocifetchinto
OCI8
PHP Manual

ocifetch

(PHP 4, PHP 5, PECL oci8 >= 1.0.0)

ocifetch — Псевдоним oci_fetch()

Описание

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

ociexecute
ocifetchinto
OCI8


Выбирает следующую строку из результата запроса в массив

ocifetch
ocifetchstatement
OCI8
PHP Manual

ocifetchinto

(PHP 4, PHP 5, PECL oci8 >= 1.0.0)

ocifetchinto — Выбирает следующую строку из результата запроса в массив

Описание

int ocifetchinto ( resource $statement , array $&result [, int $mode ] )

Замечание:

      Эта функция устарела и не рекомендуется к использованию. Вместо неё вы
      можете использовать функции oci_fetch_array(),
      oci_fetch_object(), oci_fetch_assoc(),
      oci_fetch_row().

ocifetchinto() выбирает следующую строку из результат запроса в массив result . ocifetchinto() перезапишет сверху содержимое переменной result . По умолчанию result будет содержать массив с числовыми индексами и значениями полей, которые не равны NULL.

Параметр mode позволяет менять поведение по умолчанию. Вы можете указывать несколько флагов одновременно, просто суммируя их (например, OCI_ASSOC+OCI_RETURN_NULLS). Возможные флаги:

  • OCI_ASSOC - возврашать ассоциативный массив.
  • OCI_NUM - возвращать массив с числовыми индексами (поведение по умолчанию).
  • OCI_RETURN_NULLS - возвращать поля, которые равны NULL.
  • OCI_RETURN_LOBS - возвращать значение LOB вместо дескриптора.

Пример #1 Пример использования ocifetchinto()

<?php
$conn = ocilogon("username", "password");

$query = "SELECT apples FROM oranges";

$statement = OCIParse ($conn, $query);
OCIExecute ($statement);

while (OCIFetchInto ($statement, $row, OCI_ASSOC)) {
    echo $row['apples'];
}
?>

См. также
oci_fetch_array(),
oci_fetch_object(),
oci_fetch_assoc(),
oci_fetch_row(),
oci_fetch() и
oci_execute().

ocifetch
ocifetchstatement
OCI8


Выбирает все строки из результата запроса в массив

ocifetchinto
ocifreecollection
OCI8
PHP Manual

ocifetchstatement

(PHP 4, PHP 5, PECL oci8 >= 1.0.0)

ocifetchstatement — Выбирает все строки из результата запроса в массив

Описание

int ocifetchstatement ( resource $stmt , array $&output [, int $skip [, int $maxrows [, int $flags ]]] )

Замечание: В PHP 5.0.0 и выше ocifetchstatement() является алиасом oci_fetch_all(). Вы можете продолжать использовать это имя, однако это не рекомендуется.

См. также oci_fetch_array(),
oci_fetch_assoc(),
oci_fetch_object(),
oci_fetch_row().

ocifetchinto
ocifreecollection
OCI8


Псевдоним

ocifetchstatement
ocifreecursor
OCI8
PHP Manual

ocifreecollection

(PHP 4 >= 4.0.7, PHP 5, PECL oci8 >= 1.0.0)

ocifreecollection — Псевдоним OCI-Collection->free

Описание

Эта функция является псевдонимом OCI-Collection->free.

ocifetchstatement
ocifreecursor
OCI8


Псевдоним oci_free_statement

ocifreecollection
ocifreedesc
OCI8
PHP Manual

ocifreecursor

(PHP 4, PHP 5, PECL oci8 >= 1.0.0)

ocifreecursor — Псевдоним oci_free_statement()

Описание

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

ocifreecollection
ocifreedesc
OCI8


Псевдоним

ocifreecursor
ocifreestatement
OCI8
PHP Manual

ocifreedesc

(PHP 4, PHP 5, PECL oci8 >= 1.0.0)

ocifreedesc — Псевдоним OCI-Lob->free

Описание

Эта функция является псевдонимом OCI-Lob->free.

ocifreecursor
ocifreestatement
OCI8


Псевдоним oci_free_statement

ocifreedesc
ociinternaldebug
OCI8
PHP Manual

ocifreestatement

(PHP 4, PHP 5, PECL oci8 >= 1.0.0)

ocifreestatement — Псевдоним oci_free_statement()

Описание

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

ocifreedesc
ociinternaldebug
OCI8


Псевдоним oci_internal_debug

ocifreestatement
ociloadlob
OCI8
PHP Manual

ociinternaldebug

(PHP 4, PHP 5, PECL oci8 >= 1.0.0)

ociinternaldebug — Псевдоним oci_internal_debug()

Описание

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

ocifreestatement
ociloadlob
OCI8


Псевдоним

ociinternaldebug
ocilogoff
OCI8
PHP Manual

ociloadlob

(PHP 4, PHP 5, PECL oci8 >= 1.0.0)

ociloadlob — Псевдоним lob->load

Описание

Эта функция является псевдонимом lob->load.

ociinternaldebug
ocilogoff
OCI8


Псевдоним oci_close

ociloadlob
ocilogon
OCI8
PHP Manual

ocilogoff

(PHP 4, PHP 5, PECL oci8 >= 1.0.0)

ocilogoff — Псевдоним oci_close()

Описание

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

ociloadlob
ocilogon
OCI8


Псевдоним oci_connect

ocilogoff
ocinewcollection
OCI8
PHP Manual

ocilogon

(PHP 4, PHP 5, PECL oci8 >= 1.0.0)

ocilogon — Псевдоним oci_connect()

Описание

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

ocilogoff
ocinewcollection
OCI8


Псевдоним oci_new_collection

ocilogon
ocinewcursor
OCI8
PHP Manual

ocinewcollection

(PHP 4 >= 4.0.6, PHP 5, PECL oci8 >= 1.0.0)

ocinewcollection — Псевдоним oci_new_collection()

Описание

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

ocilogon
ocinewcursor
OCI8


Псевдоним oci_new_cursor

ocinewcollection
ocinewdescriptor
OCI8
PHP Manual

ocinewcursor

(PHP 4, PHP 5, PECL oci8 >= 1.0.0)

ocinewcursor — Псевдоним oci_new_cursor()

Описание

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

ocinewcollection
ocinewdescriptor
OCI8


Псевдоним oci_new_descriptor

ocinewcursor
ocinlogon
OCI8
PHP Manual

ocinewdescriptor

(PHP 4, PHP 5, PECL oci8 >= 1.0.0)

ocinewdescriptor — Псевдоним oci_new_descriptor()

Описание

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

ocinewcursor
ocinlogon
OCI8


Псевдоним oci_new_connect

ocinewdescriptor
ocinumcols
OCI8
PHP Manual

ocinlogon

(PHP 4, PHP 5, PECL oci8 >= 1.0.0)

ocinlogon — Псевдоним oci_new_connect()

Описание

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

ocinewdescriptor
ocinumcols
OCI8


Псевдоним oci_num_fields

ocinlogon
ociparse
OCI8
PHP Manual

ocinumcols

(PHP 4, PHP 5, PECL oci8 >= 1.0.0)

ocinumcols — Псевдоним oci_num_fields()

Описание

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

ocinlogon
ociparse
OCI8


Псевдоним oci_parse

ocinumcols
ociplogon
OCI8
PHP Manual

ociparse

(PHP 4, PHP 5, PECL oci8 >= 1.0.0)

ociparse — Псевдоним oci_parse()

Описание

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

ocinumcols
ociplogon
OCI8


Псевдоним oci_pconnect

ociparse
ociresult
OCI8
PHP Manual

ociplogon

(PHP 4, PHP 5, PECL oci8 >= 1.0.0)

ociplogon — Псевдоним oci_pconnect()

Описание

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

ociparse
ociresult
OCI8


Псевдоним oci_result

ociplogon
ocirollback
OCI8
PHP Manual

ociresult

(PHP 4, PHP 5, PECL oci8 >= 1.0.0)

ociresult — Псевдоним oci_result()

Описание

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

ociplogon
ocirollback
OCI8


Псевдоним oci_rollback

ociresult
ocirowcount
OCI8
PHP Manual

ocirollback

(PHP 4, PHP 5, PECL oci8 >= 1.0.0)

ocirollback — Псевдоним oci_rollback()

Описание

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

ociresult
ocirowcount
OCI8


Псевдоним oci_num_rows

ocirollback
ocisavelob
OCI8
PHP Manual

ocirowcount

(PHP 4, PHP 5, PECL oci8 >= 1.0.0)

ocirowcount — Псевдоним oci_num_rows()

Описание

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

ocirollback
ocisavelob
OCI8


Псевдоним

ocirowcount
ocisavelobfile
OCI8
PHP Manual

ocisavelob

(PHP 4, PHP 5, PECL oci8 >= 1.0.0)

ocisavelob — Псевдоним lob->save

Описание

Эта функция является псевдонимом lob->save.

ocirowcount
ocisavelobfile
OCI8


Псевдоним

ocisavelob
ociserverversion
OCI8
PHP Manual

ocisavelobfile

(PHP 4, PHP 5, PECL oci8 >= 1.0.0)

ocisavelobfile — Псевдоним lob->import

Описание

Эта функция является псевдонимом lob->import.

ocisavelob
ociserverversion
OCI8


Псевдоним oci_server_version

ocisavelobfile
ocisetprefetch
OCI8
PHP Manual

ociserverversion

(PHP 4, PHP 5, PECL oci8 >= 1.0.0)

ociserverversion — Псевдоним oci_server_version()

Описание

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

ocisavelobfile
ocisetprefetch
OCI8


Псевдоним oci_set_prefetch

ociserverversion
ocistatementtype
OCI8
PHP Manual

ocisetprefetch

(PHP 4, PHP 5, PECL oci8 >= 1.0.0)

ocisetprefetch — Псевдоним oci_set_prefetch()

Описание

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

ociserverversion
ocistatementtype
OCI8


Псевдоним oci_statement_type

ocisetprefetch
ociwritelobtofile
OCI8
PHP Manual

ocistatementtype

(PHP 4, PHP 5, PECL oci8 >= 1.0.0)

ocistatementtype — Псевдоним oci_statement_type()

Описание

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

ocisetprefetch
ociwritelobtofile
OCI8


Псевдоним

ocistatementtype
ociwritetemporarylob
OCI8
PHP Manual

ociwritelobtofile

(PHP 4, PHP 5, PECL oci8 >= 1.0.0)

ociwritelobtofile — Псевдоним lob->export

Описание

Эта функция является псевдонимом lob->export.

ocistatementtype
ociwritetemporarylob
OCI8


Псевдоним

ociwritelobtofile
Ovrimos SQL
OCI8
PHP Manual

ociwritetemporarylob

(PHP 4 >= 4.0.6, PECL oci8 1.0)

ociwritetemporarylob — Псевдоним OCI-Lob->writeTemporary

Описание

Эта функция является псевдонимом OCI-Lob->writeTemporary.

ociwritelobtofile
Ovrimos SQL
OCI8


Ovrimos SQL

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Connect to Ovrimos SQL Server and select from a system table
  • 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
Введение
Vendor Specific Database Extensions


Введение

Ovrimos SQL Server, is a client/server, transactional RDBMS combined with Web capabilities and fast transactions.

Замечание: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of 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


Примеры

Содержание

  • Connect to Ovrimos SQL Server and select from a system table
Предопределенные константы
Connect to Ovrimos SQL Server and select from a system table
Ovrimos SQL


Connect to Ovrimos SQL Server and select from a system table

Примеры
Ovrimos SQL Функции
Примеры
PHP Manual

Пример #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
Connect to Ovrimos SQL Server and select from a system table
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
Введение
Vendor Specific Database Extensions


Введение

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 I don't expect major changes to the API.

Внимание

Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, включая имена его функций и относящуюся к нему документацию, может измениться в последующих версиях 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.

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


Установка

Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и 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() - Converts Julian Day Count to Gregorian date

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 or FALSE on failure.

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 or FALSE on failure.

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 or FALSE on failure.

Смотрите также

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 milliseconds 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 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 milli seconds since 1.1.0000 */
$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 milli seconds.

Смотрите также

  • px_date2string() - Converts a date into a string.
  • jdtogregorian() - Converts Julian Day Count to Gregorian date

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
  • PostgreSQL Функции
    • pg_affected_rows — Returns number of affected records (tuples)
    • pg_cancel_query — Cancel an asynchronous query
    • pg_client_encoding — Gets the client encoding
    • pg_close — Closes a PostgreSQL connection
    • pg_connect — Open a PostgreSQL connection
    • pg_connection_busy — Get connection is busy or not
    • pg_connection_reset — Reset connection (reconnect)
    • pg_connection_status — Get connection status
    • pg_convert — Convert associative array values into suitable for SQL statement
    • pg_copy_from — Insert records into a table from an array
    • pg_copy_to — Copy a table to an array
    • pg_dbname — Get the database name
    • pg_delete — Deletes records
    • pg_end_copy — Sync with PostgreSQL backend
    • pg_escape_bytea — Escape a string for insertion into a bytea field
    • pg_escape_string — Escape a string for insertion into a text field
    • pg_execute — Sends a request to execute a prepared statement with given parameters, and waits for the result.
    • pg_fetch_all_columns — Fetches all rows in a particular result column as an array
    • pg_fetch_all — Fetches all rows from a result as an array
    • pg_fetch_array — Fetch a row as an array
    • pg_fetch_assoc — Fetch a row as an associative array
    • pg_fetch_object — Fetch a row as an object
    • pg_fetch_result — Returns values from a result resource
    • pg_fetch_row — Get a row as an enumerated array
    • pg_field_is_null — Test if a field is SQL NULL
    • pg_field_name — Returns the name of a field
    • pg_field_num — Returns the field number of the named field
    • pg_field_prtlen — Returns the printed length
    • pg_field_size — Returns the internal storage size of the named field
    • pg_field_table — Returns the name or oid of the tables field
    • pg_field_type_oid — Returns the type ID (OID) for the corresponding field number
    • pg_field_type — Returns the type name for the corresponding field number
    • pg_free_result — Free result memory
    • pg_get_notify — Gets SQL NOTIFY message
    • pg_get_pid — Gets the backend's process ID
    • pg_get_result — Get asynchronous query result
    • pg_host — Returns the host name associated with the connection
    • pg_insert — Insert array into table
    • pg_last_error — Get the last error message string of a connection
    • pg_last_notice — Returns the last notice message from PostgreSQL server
    • pg_last_oid — Returns the last row's OID
    • pg_lo_close — Close a large object
    • pg_lo_create — Create a large object
    • pg_lo_export — Export a large object to file
    • pg_lo_import — Import a large object from file
    • pg_lo_open — Open a large object
    • pg_lo_read_all — Reads an entire large object and send straight to browser
    • pg_lo_read — Read a large object
    • pg_lo_seek — Seeks position within a large object
    • pg_lo_tell — Returns current seek position a of large object
    • pg_lo_unlink — Delete a large object
    • pg_lo_write — Write to a large object
    • pg_meta_data — Get meta data for table
    • pg_num_fields — Returns the number of fields in a result
    • pg_num_rows — Returns the number of rows in a result
    • pg_options — Get the options associated with the connection
    • pg_parameter_status — Looks up a current parameter setting of the server.
    • pg_pconnect — Open a persistent PostgreSQL connection
    • pg_ping — Ping database connection
    • pg_port — Return the port number associated with the connection
    • pg_prepare — Submits a request to create a prepared statement with the given parameters, and waits for completion.
    • pg_put_line — Send a NULL-terminated string to PostgreSQL backend
    • pg_query_params — Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text.
    • pg_query — Execute a query
    • pg_result_error_field — Returns an individual field of an error report.
    • pg_result_error — Get error message associated with result
    • pg_result_seek — Set internal row offset in result resource
    • pg_result_status — Get status of query result
    • pg_select — Select records
    • pg_send_execute — Sends a request to execute a prepared statement with given parameters, without waiting for the result(s).
    • pg_send_prepare — Sends a request to create a prepared statement with the given parameters, without waiting for completion.
    • pg_send_query_params — Submits a command and separate parameters to the server without waiting for the result(s).
    • pg_send_query — Sends asynchronous query
    • pg_set_client_encoding — Set the client encoding
    • pg_set_error_verbosity — Determines the verbosity of messages returned by pg_last_error and pg_result_error.
    • pg_trace — Enable tracing a PostgreSQL connection
    • pg_transaction_status — Returns the current in-transaction status of the server.
    • pg_tty — Return the TTY name associated with the connection
    • pg_unescape_bytea — Unescape binary for bytea type
    • pg_untrace — Disable tracing of a PostgreSQL connection
    • pg_update — Update table
    • pg_version — Returns an array with client, protocol and server version (when available)
px_update_record
Введение
Vendor Specific Database Extensions


Введение

База данных PostgreSQL - это свободно доступный продукт с открытым исходным кодом. Изначально Postgres разрабатывался в Университете Компьютерных Наук Беркли и был пионером многих объектно-реляционных идей, которые на данный момент доступны в некоторых коммерческих базах данных. В частности, это поддержка языка SQL92/SQL99, транзакции, ссылочная целостность, хранимые процедуры и расширение типов. PostgreSQL - это потомок с открытым исходным кодом своего первоисточника из Беркли.

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


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
PostgreSQL


Требования

Для того, чтобы иметь возможность использовать PostgreSQL, у вас должен быть установлен 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_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

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 должна быть иметь значение off для того, чтобы записывать в лог сообщения.

Установка
Типы ресурсов
Установка и настройка


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

Существует два типа ресурсов используемых в модуле PostgreSQL. Первый из них представляет собой идентификатор соединения с базой данной, второй ресурсов необходим для хранения результата запроса.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


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

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

PGSQL_ASSOC (integer)
Passed to pg_fetch_array(). Return an associative array of field names and values.
PGSQL_NUM (integer)
Passed to pg_fetch_array(). Return a numerically indexed array of field numbers and values.
PGSQL_BOTH (integer)
Passed to pg_fetch_array(). Return an array of field values that is both numerically indexed (by field number) and associated (by field name).
PGSQL_CONNECT_FORCE_NEW (integer)
Passed to pg_connect() to force the creation of a new connection, rather then re-using an existing identical connection.
PGSQL_CONNECTION_BAD (integer)
Returned by pg_connection_status() indicating that the database connection is in an invalid state.
PGSQL_CONNECTION_OK (integer)
Returned by pg_connection_status() indicating that the database connection is in a valid state.
PGSQL_SEEK_SET (integer)
Passed to pg_lo_seek(). Seek operation is to begin from the start of the object.
PGSQL_SEEK_CUR (integer)
Passed to pg_lo_seek(). Seek operation is to begin from the current position.
PGSQL_SEEK_END (integer)
Passed to pg_lo_seek(). Seek operation is to begin from the end of the object.
PGSQL_EMPTY_QUERY (integer)
Returned by pg_result_status(). The string sent to the server was empty.
PGSQL_COMMAND_OK (integer)
Returned by pg_result_status(). Successful completion of a command returning no data.
PGSQL_TUPLES_OK (integer)
Returned by pg_result_status(). Successful completion of a command returning data (such as a SELECT or SHOW).
PGSQL_COPY_OUT (integer)
Returned by pg_result_status(). Copy Out (from server) data transfer started.
PGSQL_COPY_IN (integer)
Returned by pg_result_status(). Copy In (to server) data transfer started.
PGSQL_BAD_RESPONSE (integer)
Returned by pg_result_status(). The server's response was not understood.
PGSQL_NONFATAL_ERROR (integer)
Returned by pg_result_status(). A nonfatal error (a notice or warning) occurred.
PGSQL_FATAL_ERROR (integer)
Returned by pg_result_status(). A fatal error occurred.
PGSQL_TRANSACTION_IDLE (integer)
Returned by pg_transaction_status(). Connection is currently idle, not in a transaction.
PGSQL_TRANSACTION_ACTIVE (integer)
Returned by pg_transaction_status(). A command is in progress on the connection. A query has been sent via the connection and not yet completed.
PGSQL_TRANSACTION_INTRANS (integer)
Returned by pg_transaction_status(). The connection is idle, in a transaction block.
PGSQL_TRANSACTION_INERROR (integer)
Returned by pg_transaction_status(). The connection is idle, in a failed transaction block.
PGSQL_TRANSACTION_UNKNOWN (integer)
Returned by pg_transaction_status(). The connection is bad.
PGSQL_DIAG_SEVERITY (integer)
Passed to pg_result_error_field(). The severity; the field contents are ERROR, FATAL, or PANIC (in an error message), or WARNING, NOTICE, DEBUG, INFO, or LOG (in a notice message), or a localized translation of one of these. Always present.
PGSQL_DIAG_SQLSTATE (integer)
Passed to pg_result_error_field(). The SQLSTATE code for the error. The SQLSTATE code identifies the type of error that has occurred; it can be used by front-end applications to perform specific operations (such as error handling) in response to a particular database error. This field is not localizable, and is always present.
PGSQL_DIAG_MESSAGE_PRIMARY (integer)
Passed to pg_result_error_field(). The primary human-readable error message (typically one line). Always present.
PGSQL_DIAG_MESSAGE_DETAIL (integer)
Passed to pg_result_error_field(). Detail: an optional secondary error message carrying more detail about the problem. May run to multiple lines.
PGSQL_DIAG_MESSAGE_HINT (integer)
Passed to pg_result_error_field(). Hint: an optional suggestion what to do about the problem. This is intended to differ from detail in that it offers advice (potentially inappropriate) rather than hard facts. May run to multiple lines.
PGSQL_DIAG_STATEMENT_POSITION (integer)
Passed to pg_result_error_field(). A string containing a decimal integer indicating an error cursor position as an index into the original statement string. The first character has index 1, and positions are measured in characters not bytes.
PGSQL_DIAG_INTERNAL_POSITION (integer)
Passed to pg_result_error_field(). This is defined the same as the PG_DIAG_STATEMENT_POSITION field, but it is used when the cursor position refers to an internally generated command rather than the one submitted by the client. The PG_DIAG_INTERNAL_QUERY field will always appear when this field appears.
PGSQL_DIAG_INTERNAL_QUERY (integer)
Passed to pg_result_error_field(). The text of a failed internally-generated command. This could be, for example, a SQL query issued by a PL/pgSQL function.
PGSQL_DIAG_CONTEXT (integer)
Passed to pg_result_error_field(). An indication of the context in which the error occurred. Presently this includes a call stack traceback of active procedural language functions and internally-generated queries. The trace is one entry per line, most recent first.
PGSQL_DIAG_SOURCE_FILE (integer)
Passed to pg_result_error_field(). The file name of the PostgreSQL source-code location where the error was reported.
PGSQL_DIAG_SOURCE_LINE (integer)
Passed to pg_result_error_field(). The line number of the PostgreSQL source-code location where the error was reported.
PGSQL_DIAG_SOURCE_FUNCTION (integer)
Passed to pg_result_error_field(). The name of the PostgreSQL source-code function reporting the error.
PGSQL_ERRORS_TERSE (integer)
Passed to pg_set_error_verbosity(). Specified that returned messages include severity, primary text, and position only; this will normally fit on a single line.
PGSQL_ERRORS_DEFAULT (integer)
Passed to pg_set_error_verbosity(). The default mode produces messages that include the above plus any detail, hint, or context fields (these may span multiple lines).
PGSQL_ERRORS_VERBOSE (integer)
Passed to pg_set_error_verbosity(). The verbose mode includes all available fields.
PGSQL_STATUS_LONG (integer)
Passed to pg_result_status(). Indicates that numerical result code is desired.
PGSQL_STATUS_STRING (integer)
Passed to pg_result_status(). Indicates that textual result command tag is desired.
PGSQL_CONV_IGNORE_DEFAULT (integer)
Passed to pg_convert(). Ignore default values in the table during conversion.
PGSQL_CONV_FORCE_NULL (integer)
Passed to pg_convert(). Use SQL NULL in place of an empty string.
PGSQL_CONV_IGNORE_DEFAULT (integer)
Passed to pg_convert(). Ignore conversion of NULL into SQL NOT NULL columns.
Типы ресурсов
Примеры
PostgreSQL


Примеры

Содержание

  • Общий пример работы с расширением PostgreSQL
Предопределенные константы
Общий пример работы с расширением PostgreSQL
PostgreSQL


Общий пример работы с расширением PostgreSQL

Примеры
PostgreSQL Функции
Примеры
PHP Manual

Это простой пример соединения, выполнения запроса, вывода результата и закрытия соединения с базой данной 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('Query failed: ' . 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 Функции

Примечания

Замечание: Не все функции могут поддерживаться в собранном модуле. Это зависит от версии вашей libpq (клиентская библиотека PostgreSQL) и как libpq была собрана. Если расширение PostgreSQL для PHP отсутствует, то это значит, что версия вашей libpq не поддерживается.

Замечание: Большинство функций PostgreSQL принимают connection в качестве первого необязательного параметра. Если параметр отсутствует, то используется последнее открытое соединение. Если же такого не существует, то функция возвращает FALSE.

Замечание: PostgreSQL автоматически переводит все идентификаторы (такие, как имена таблиц/столбцов) в нижний регистр во время создания объекта и выполнения запроса. Для того, чтобы заставить использовать идентификаторы в обоих или только в верехнем регистрах, вы должны экранировать идентификатор через двойные кавычки ("").

Замечание: В PostgreSQL нет специальных команд для выбора информации о схеме (к примеру, все таблицы выбранной базы данных). Но вместо этого в версиях PostgreSQL 7.4 и выше существует стандартная схема, которая называется information_schema. Она содержит системные представления (view) со всей необходимой информацией в легко доступной форме. Для дополнительной информации см. » PostgreSQL Documentation

Содержание

  • pg_affected_rows — Returns number of affected records (tuples)
  • pg_cancel_query — Cancel an asynchronous query
  • pg_client_encoding — Gets the client encoding
  • pg_close — Closes a PostgreSQL connection
  • pg_connect — Open a PostgreSQL connection
  • pg_connection_busy — Get connection is busy or not
  • pg_connection_reset — Reset connection (reconnect)
  • pg_connection_status — Get connection status
  • pg_convert — Convert associative array values into suitable for SQL statement
  • pg_copy_from — Insert records into a table from an array
  • pg_copy_to — Copy a table to an array
  • pg_dbname — Get the database name
  • pg_delete — Deletes records
  • pg_end_copy — Sync with PostgreSQL backend
  • pg_escape_bytea — Escape a string for insertion into a bytea field
  • pg_escape_string — Escape a string for insertion into a text field
  • pg_execute — Sends a request to execute a prepared statement with given parameters, and waits for the result.
  • pg_fetch_all_columns — Fetches all rows in a particular result column as an array
  • pg_fetch_all — Fetches all rows from a result as an array
  • pg_fetch_array — Fetch a row as an array
  • pg_fetch_assoc — Fetch a row as an associative array
  • pg_fetch_object — Fetch a row as an object
  • pg_fetch_result — Returns values from a result resource
  • pg_fetch_row — Get a row as an enumerated array
  • pg_field_is_null — Test if a field is SQL NULL
  • pg_field_name — Returns the name of a field
  • pg_field_num — Returns the field number of the named field
  • pg_field_prtlen — Returns the printed length
  • pg_field_size — Returns the internal storage size of the named field
  • pg_field_table — Returns the name or oid of the tables field
  • pg_field_type_oid — Returns the type ID (OID) for the corresponding field number
  • pg_field_type — Returns the type name for the corresponding field number
  • pg_free_result — Free result memory
  • pg_get_notify — Gets SQL NOTIFY message
  • pg_get_pid — Gets the backend's process ID
  • pg_get_result — Get asynchronous query result
  • pg_host — Returns the host name associated with the connection
  • pg_insert — Insert array into table
  • pg_last_error — Get the last error message string of a connection
  • pg_last_notice — Returns the last notice message from PostgreSQL server
  • pg_last_oid — Returns the last row's OID
  • pg_lo_close — Close a large object
  • pg_lo_create — Create a large object
  • pg_lo_export — Export a large object to file
  • pg_lo_import — Import a large object from file
  • pg_lo_open — Open a large object
  • pg_lo_read_all — Reads an entire large object and send straight to browser
  • pg_lo_read — Read a large object
  • pg_lo_seek — Seeks position within a large object
  • pg_lo_tell — Returns current seek position a of large object
  • pg_lo_unlink — Delete a large object
  • pg_lo_write — Write to a large object
  • pg_meta_data — Get meta data for table
  • pg_num_fields — Returns the number of fields in a result
  • pg_num_rows — Returns the number of rows in a result
  • pg_options — Get the options associated with the connection
  • pg_parameter_status — Looks up a current parameter setting of the server.
  • pg_pconnect — Open a persistent PostgreSQL connection
  • pg_ping — Ping database connection
  • pg_port — Return the port number associated with the connection
  • pg_prepare — Submits a request to create a prepared statement with the given parameters, and waits for completion.
  • pg_put_line — Send a NULL-terminated string to PostgreSQL backend
  • pg_query_params — Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text.
  • pg_query — Execute a query
  • pg_result_error_field — Returns an individual field of an error report.
  • pg_result_error — Get error message associated with result
  • pg_result_seek — Set internal row offset in result resource
  • pg_result_status — Get status of query result
  • pg_select — Select records
  • pg_send_execute — Sends a request to execute a prepared statement with given parameters, without waiting for the result(s).
  • pg_send_prepare — Sends a request to create a prepared statement with the given parameters, without waiting for completion.
  • pg_send_query_params — Submits a command and separate parameters to the server without waiting for the result(s).
  • pg_send_query — Sends asynchronous query
  • pg_set_client_encoding — Set the client encoding
  • pg_set_error_verbosity — Determines the verbosity of messages returned by pg_last_error and pg_result_error.
  • pg_trace — Enable tracing a PostgreSQL connection
  • pg_transaction_status — Returns the current in-transaction status of the server.
  • pg_tty — Return the TTY name associated with the connection
  • pg_unescape_bytea — Unescape binary for bytea type
  • pg_untrace — Disable tracing of a PostgreSQL connection
  • pg_update — Update table
  • pg_version — Returns an array with client, protocol and server version (when available)
Общий пример работы с расширением PostgreSQL
pg_affected_rows
PostgreSQL


Returns number of affected records (tuples)

PostgreSQL Функции
pg_cancel_query
PostgreSQL Функции
PHP Manual

pg_affected_rows

(PHP 4 >= 4.2.0, PHP 5)

pg_affected_rows — Returns number of affected records (tuples)

Описание

int pg_affected_rows ( resource $result )

pg_affected_rows() returns the number of tuples (instances/records/rows) affected by INSERT, UPDATE, and DELETE queries.

Замечание: This function used to be called pg_cmdtuples().

Список параметров

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

Возвращаемые значения

The number of rows affected by the query. If no tuple is affected, it will return 0.

Примеры

Пример #1 pg_affected_rows() example

<?php
$result = pg_query($conn, "INSERT INTO authors VALUES ('Orwell', 2002, 'Animal Farm')");

$cmdtuples = pg_affected_rows($result);

echo $cmdtuples . " tuples are affected.\n";
?>

Результат выполнения данного примера:

1 tuples are affected.

Смотрите также

  • pg_query() - Execute a query
  • pg_query_params() - Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text.
  • pg_execute() - Sends a request to execute a prepared statement with given parameters, and waits for the result.
  • pg_num_rows() - Returns the number of rows in a result

PostgreSQL Функции
pg_cancel_query
PostgreSQL Функции


Cancel an asynchronous query

pg_affected_rows
pg_client_encoding
PostgreSQL Функции
PHP Manual

pg_cancel_query

(PHP 4 >= 4.2.0, PHP 5)

pg_cancel_query — Cancel an asynchronous query

Описание

bool pg_cancel_query ( resource $connection )

pg_cancel_query() cancels an asynchronous query sent with pg_send_query(), pg_send_query_params() or pg_send_execute(). You cannot cancel a query executed using pg_query().

Список параметров

connection

PostgreSQL database connection resource.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 pg_cancel_query() example

<?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 "First call to pg_get_result(): $res1\n";
  $rows1 = pg_num_rows($res1);
  echo "$res1 has $rows1 records\n\n";

  // Cancel the currently running query.  Will be the second query if it is
  // still running.
  pg_cancel_query($dbconn);
?>

Результат выполнения данного примера:

First call to pg_get_result(): Resource id #3
Resource id #3 has 3 records

Смотрите также

  • pg_send_query() - Sends asynchronous query
  • pg_connection_busy() - Get connection is busy or not

pg_affected_rows
pg_client_encoding
PostgreSQL Функции


Gets the client encoding

pg_cancel_query
pg_close
PostgreSQL Функции
PHP Manual

pg_client_encoding

(PHP 4 >= 4.0.3, PHP 5)

pg_client_encoding — Gets the client encoding

Описание

string pg_client_encoding ([ resource $connection ] )

PostgreSQL supports automatic character set conversion between server and client for certain character sets. pg_client_encoding() returns the client encoding as a string. The returned string will be one of the standard PostgreSQL encoding identifiers.

Замечание: This function requires PHP 4.0.3 or higher and PostgreSQL 7.0 or higher. If libpq is compiled without multibyte encoding support, pg_client_encoding() always returns SQL_ASCII. Supported encoding depends on PostgreSQL version. Refer to the PostgreSQL Documentation supported encodings.
The function used to be called pg_clientencoding().

Список параметров

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

Возвращаемые значения

The client encoding, or FALSE on error.

Примеры

Пример #1 pg_client_encoding() example

<?php
// Assume $conn is a connection to a ISO-8859-1 database
$encoding = pg_client_encoding($conn);

echo "Client encoding is: ", $encoding, "\n";
?>

Результат выполнения данного примера:

Client encoding is: ISO-8859-1

Смотрите также

  • pg_set_client_encoding() - Set the client encoding

pg_cancel_query
pg_close
PostgreSQL Функции


Closes a PostgreSQL connection

pg_client_encoding
pg_connect
PostgreSQL Функции
PHP Manual

pg_close

(PHP 4, PHP 5)

pg_close — Closes a PostgreSQL connection

Описание

bool pg_close ([ resource $connection ] )

pg_close() closes the non-persistent connection to a PostgreSQL database associated with the given connection resource.

Замечание: Using pg_close() is not usually necessary, as non-persistent open connections are automatically closed at the end of the script.

If there is open large object resource on the connection, do not close the connection before closing all large object resources.

Список параметров

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 pg_close() example

<?php
$dbconn = pg_connect("host=localhost port=5432 dbname=mary")
   or die("Could not connect");
echo "Connected successfully";
pg_close($dbconn);
?>

Результат выполнения данного примера:

Connected successfully

Смотрите также

  • pg_connect() - Open a PostgreSQL connection

pg_client_encoding
pg_connect
PostgreSQL Функции


Open a PostgreSQL connection

pg_close
pg_connection_busy
PostgreSQL Функции
PHP Manual

pg_connect

(PHP 4, PHP 5)

pg_connect — Open a PostgreSQL connection

Описание

resource pg_connect ( string $connection_string [, int $connect_type ] )

pg_connect() opens a connection to a PostgreSQL database specified by the connection_string .

If a second call is made to pg_connect() with the same connection_string as an existing connection, the existing connection will be returned unless you pass PGSQL_CONNECT_FORCE_NEW as connect_type .

The old syntax with multiple parameters $conn = pg_connect("host", "port", "options", "tty", "dbname") has been deprecated.

Список параметров

connection_string

The connection_string can be empty to use all default parameters, or it can contain one or more parameter settings separated by whitespace. Each parameter setting is in the form keyword = value. Spaces around the equal sign are optional. To write an empty value or a value containing spaces, surround it with single quotes, e.g., keyword = 'a value'. Single quotes and backslashes within the value must be escaped with a backslash, i.e., \' and \\.

The currently recognized parameter keywords are: host , hostaddr , port , dbname , user , password , connect_timeout , options , tty (ignored), sslmode , requiressl (deprecated in favor of sslmode ), and service . Which of these arguments exist depends on your PostgreSQL version.

connect_type

If PGSQL_CONNECT_FORCE_NEW is passed, then a new connection is created, even if the connection_string is identical to an existing connection.

Возвращаемые значения

PostgreSQL connection resource on success, FALSE on failure.

Примеры

Пример #1 Using pg_connect()

<?php
$dbconn = pg_connect("dbname=mary");
//connect to a database named "mary"

$dbconn2 = pg_connect("host=localhost port=5432 dbname=mary");
// connect to a database named "mary" on "localhost" at port "5432"

$dbconn3 = pg_connect("host=sheep port=5432 dbname=mary user=lamb password=foo");
//connect to a database named "mary" on the host "sheep" with a username and password

$conn_string = "host=sheep port=5432 dbname=test user=lamb password=bar";
$dbconn4 = pg_connect($conn_string);
//connect to a database named "test" on the host "sheep" with a username and password
?>

Смотрите также

  • pg_pconnect() - Open a persistent PostgreSQL connection
  • pg_close() - Closes a PostgreSQL connection
  • pg_host() - Returns the host name associated with the connection
  • pg_port() - Return the port number associated with the connection
  • pg_tty() - Return the TTY name associated with the connection
  • pg_options() - Get the options associated with the connection
  • pg_dbname() - Get the database name

pg_close
pg_connection_busy
PostgreSQL Функции


Get connection is busy or not

pg_connect
pg_connection_reset
PostgreSQL Функции
PHP Manual

pg_connection_busy

(PHP 4 >= 4.2.0, PHP 5)

pg_connection_busy — Get connection is busy or not

Описание

bool pg_connection_busy ( resource $connection )

pg_connection_busy() determines whether or not a connection is busy. If it is busy, a previous query is still executing. If pg_get_result() is used on the connection, it will be blocked.

Список параметров

connection

PostgreSQL database connection resource.

Возвращаемые значения

Returns TRUE if the connection is busy, FALSE otherwise.

Примеры

Пример #1 pg_connection_busy() example

<?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() - Get connection status
  • pg_get_result() - Get asynchronous query result

pg_connect
pg_connection_reset
PostgreSQL Функции


Reset connection (reconnect)

pg_connection_busy
pg_connection_status
PostgreSQL Функции
PHP Manual

pg_connection_reset

(PHP 4 >= 4.2.0, PHP 5)

pg_connection_reset — Reset connection (reconnect)

Описание

bool pg_connection_reset ( resource $connection )

pg_connection_reset() resets the connection. It is useful for error recovery.

Список параметров

connection

PostgreSQL database connection resource.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 pg_connection_reset() example

<?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() - Open a PostgreSQL connection
  • pg_pconnect() - Open a persistent PostgreSQL connection
  • pg_connection_status() - Get connection status

pg_connection_busy
pg_connection_status
PostgreSQL Функции


Get connection status

pg_connection_reset
pg_convert
PostgreSQL Функции
PHP Manual

pg_connection_status

(PHP 4 >= 4.2.0, PHP 5)

pg_connection_status — Get connection status

Описание

int pg_connection_status ( resource $connection )

pg_connection_status() returns the status of the specified connection .

Список параметров

connection

PostgreSQL database connection resource.

Возвращаемые значения

PGSQL_CONNECTION_OK or PGSQL_CONNECTION_BAD.

Примеры

Пример #1 pg_connection_status() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");
  $stat = pg_connection_status($dbconn);
  if ($stat === PGSQL_CONNECTION_OK) {
      echo 'Connection status ok';
  } else {
      echo 'Connection status bad';
  }
?>

Смотрите также

  • pg_connection_busy() - Get connection is busy or not

pg_connection_reset
pg_convert
PostgreSQL Функции


Convert associative array values into suitable for SQL statement

pg_connection_status
pg_copy_from
PostgreSQL Функции
PHP Manual

pg_convert

(PHP 4 >= 4.3.0, PHP 5)

pg_convert — Convert associative array values into suitable for SQL statement

Описание

array pg_convert ( resource $connection , string $table_name , array $assoc_array [, int $options= 0 ] )

pg_convert() checks and converts the values in assoc_array into suitable values for use in a SQL statement. Precondition for pg_convert() is the existence of a table table_name which has at least as many columns as assoc_array has elements. The fieldnames in table_name must match the indices in assoc_array and the corresponding datatypes must be compatible. Returns an array with the converted values on success, FALSE otherwise.

Замечание: If there are boolean fields in table_name don't use the constant TRUE in assoc_array . It will be converted to the string 'TRUE' which is no valid entry for boolean fields in PostgreSQL. Use one of t, true, 1, y, yes instead.

Внимание

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

Список параметров

connection

PostgreSQL database connection resource.

table_name

Name of the table against which to convert types.

assoc_array

Data to be converted.

options

Any number of PGSQL_CONV_IGNORE_DEFAULT, PGSQL_CONV_FORCE_NULL or PGSQL_CONV_IGNORE_NOT_NULL, combined.

Возвращаемые значения

An array of converted values, or FALSE on error.

Примеры

Пример #1 pg_convert() example

<?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() - Get meta data for table

pg_connection_status
pg_copy_from
PostgreSQL Функции


Insert records into a table from an array

pg_convert
pg_copy_to
PostgreSQL Функции
PHP Manual

pg_copy_from

(PHP 4 >= 4.2.0, PHP 5)

pg_copy_from — Insert records into a table from an array

Описание

bool pg_copy_from ( resource $connection , string $table_name , array $rows [, string $delimiter [, string $null_as ]] )

pg_copy_from() inserts records into a table from rows . It issues a COPY FROM SQL command internally to insert records.

Список параметров

connection

PostgreSQL database connection resource.

table_name

Name of the table into which to copy the rows .

rows

An array of data to be copied into table_name . Each value in rows becomes a row in table_name . Each value in rows should be a delimited string of the values to insert into each field. Values should be linefeed terminated.

delimiter

The token that separates values for each field in each element of rows . Default is TAB.

null_as

How SQL NULL values are represented in the rows . Default is \N ("\\N").

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 pg_copy_from() example

<?php
   $db = pg_connect("dbname=publisher") or die("Could not connect");

   $rows = pg_copy_to($db, $table_name);

   pg_query($db, "DELETE FROM $table_name");

   pg_copy_from($db, $table_name, $rows);
?>

Смотрите также

  • pg_copy_to() - Copy a table to an array

pg_convert
pg_copy_to
PostgreSQL Функции


Copy a table to an array

pg_copy_from
pg_dbname
PostgreSQL Функции
PHP Manual

pg_copy_to

(PHP 4 >= 4.2.0, PHP 5)

pg_copy_to — Copy a table to an array

Описание

array pg_copy_to ( resource $connection , string $table_name [, string $delimiter [, string $null_as ]] )

pg_copy_to() copies a table to an array. It issues COPY TO SQL command internally to retrieve records.

Список параметров

connection

PostgreSQL database connection resource.

table_name

Name of the table from which to copy the data into rows .

delimiter

The token that separates values for each field in each element of rows . Default is TAB.

null_as

How SQL NULL values are represented in the rows . Default is \N ("\\N").

Возвращаемые значения

An array with one element for each line of COPY data. It returns FALSE on failure.

Примеры

Пример #1 pg_copy_to() example

<?php
   $db = pg_connect("dbname=publisher") or die("Could not connect");

   $rows = pg_copy_to($db, $table_name);

   pg_query($db, "DELETE FROM $table_name");

   pg_copy_from($db, $table_name, $rows);
?>

Смотрите также

  • pg_copy_from() - Insert records into a table from an array

pg_copy_from
pg_dbname
PostgreSQL Функции


Get the database name

pg_copy_to
pg_delete
PostgreSQL Функции
PHP Manual

pg_dbname

(PHP 4, PHP 5)

pg_dbname — Get the database name

Описание

string pg_dbname ([ resource $connection ] )

pg_dbname() returns the name of the database that the given PostgreSQL connection resource.

Список параметров

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

Возвращаемые значения

A string containing the name of the database the connection is to, or FALSE on error.

Примеры

Пример #1 pg_dbname() example

<?php
  error_reporting(E_ALL);

  pg_connect("host=localhost port=5432 dbname=mary");
  echo pg_dbname(); // mary
?>

pg_copy_to
pg_delete
PostgreSQL Функции


Deletes records

pg_dbname
pg_end_copy
PostgreSQL Функции
PHP Manual

pg_delete

(PHP 4 >= 4.3.0, PHP 5)

pg_delete — Deletes records

Описание

mixed pg_delete ( resource $connection , string $table_name , array $assoc_array [, int $options= PGSQL_DML_EXEC ] )

pg_delete() deletes records from a table specified by the keys and values in assoc_array . If options is specified, pg_convert() is applied to assoc_array with the specified options.

Список параметров

connection

PostgreSQL database connection resource.

table_name

Name of the table from which to delete rows.

assoc_array

An array whose keys are field names in the table table_name , and whose values are the values of those fields that are to be deleted.

options

Any number of PGSQL_CONV_FORCE_NULL, PGSQL_DML_NO_CONV, PGSQL_DML_EXEC or PGSQL_DML_STRING combined. If PGSQL_DML_STRING is part of the options then query string is returned.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Returns string if PGSQL_DML_STRING is passed via options .

Примеры

Пример #1 pg_delete() example

<?php
  $db = pg_connect('dbname=foo');
  // This is safe, since $_POST is converted automatically
  $res = pg_delete($db, 'post_log', $_POST);
  if ($res) {
      echo "POST data is deleted: $res\n";
  } else {
      echo "User must have sent wrong inputs\n";
  }
?>

Внимание

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

Смотрите также

  • pg_convert() - Convert associative array values into suitable for SQL statement

pg_dbname
pg_end_copy
PostgreSQL Функции


Sync with PostgreSQL backend

pg_delete
pg_escape_bytea
PostgreSQL Функции
PHP Manual

pg_end_copy

(PHP 4 >= 4.0.3, PHP 5)

pg_end_copy — Sync with PostgreSQL backend

Описание

bool pg_end_copy ([ resource $connection ] )

pg_end_copy() syncs the PostgreSQL frontend (usually a web server process) with the PostgreSQL server after doing a copy operation performed by pg_put_line(). pg_end_copy() must be issued, otherwise the PostgreSQL server may get out of sync with the frontend and will report an error.

Список параметров

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 pg_end_copy() example

<?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() - Send a NULL-terminated string to PostgreSQL backend

pg_delete
pg_escape_bytea
PostgreSQL Функции


Escape a string for insertion into a bytea field

pg_end_copy
pg_escape_string
PostgreSQL Функции
PHP Manual

pg_escape_bytea

(PHP 4 >= 4.2.0, PHP 5)

pg_escape_bytea — Escape a string for insertion into a bytea field

Описание

string pg_escape_bytea ([ resource $connection ], string $data )

pg_escape_bytea() escapes string for bytea datatype. It returns escaped string.

Замечание: When you SELECT a bytea type, PostgreSQL returns octal byte values prefixed with '\' (e.g. \032). Users are supposed to convert back to binary format manually.
This function requires PostgreSQL 7.2 or later. With PostgreSQL 7.2.0 and 7.2.1, bytea values must be cast when you enable multi-byte support. i.e. INSERT INTO test_table (image) VALUES ('$image_escaped'::bytea); PostgreSQL 7.2.2 or later does not need a cast. The exception is when the client and backend character encoding does not match, and there may be multi-byte stream error. User must then cast to bytea to avoid this error.

Список параметров

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

data

A string containing text or binary data to be inserted into a bytea column.

Возвращаемые значения

A string containing the escaped data.

Список изменений

Версия | Описание
5.2.0 | connection added

Примеры

Пример #1 pg_escape_bytea() example

<?php
  // Connect to the database
  $dbconn = pg_connect('dbname=foo');

  // Read in a binary file
  $data = file_get_contents('image1.jpg');

  // Escape the binary data
  $escaped = pg_escape_bytea($data);

  // Insert it into the database
  pg_query("INSERT INTO gallery (name, data) VALUES ('Pine trees', '{$escaped}')");
?>

Смотрите также

  • pg_unescape_bytea() - Unescape binary for bytea type
  • pg_escape_string() - Escape a string for insertion into a text field

pg_end_copy
pg_escape_string
PostgreSQL Функции


Escape a string for insertion into a text field

pg_escape_bytea
pg_execute
PostgreSQL Функции
PHP Manual

pg_escape_string

(PHP 4 >= 4.2.0, PHP 5)

pg_escape_string — Escape a string for insertion into a text field

Описание

string pg_escape_string ([ resource $connection ], string $data )

pg_escape_string() escapes a string for insertion into the database. It returns an escaped string in the PostgreSQL format. Use of this function is recommended instead of addslashes(). If the type of the column is bytea, pg_escape_bytea() must be used instead.

Замечание: This function requires PostgreSQL 7.2 or later.

Список параметров

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

data

A string containing text to be escaped.

Возвращаемые значения

A string containing the escaped data.

Список изменений

Версия | Описание
5.2.0 | connection added

Примеры

Пример #1 pg_escape_string() example

<?php
  // Connect to the database
  $dbconn = pg_connect('dbname=foo');

  // Read in a text file (containing apostrophes and backslashes)
  $data = file_get_contents('letter.txt');

  // Escape the text data
  $escaped = pg_escape_string($data);

  // Insert it into the database
  pg_query("INSERT INTO correspondence (name, data) VALUES ('My letter', '{$escaped}')");
?>

Смотрите также

  • pg_escape_bytea() - Escape a string for insertion into a bytea field

pg_escape_bytea
pg_execute
PostgreSQL Функции


Sends a request to execute a prepared statement with given parameters, and waits for the result.

pg_escape_string
pg_fetch_all_columns
PostgreSQL Функции
PHP Manual

pg_execute

(PHP 5 >= 5.1.0)

pg_execute — Sends a request to execute a prepared statement with given parameters, and waits for the result.

Описание

resource pg_execute ([ resource $connection ], string $stmtname , array $params )

Sends a request to execute a prepared statement with given parameters, and waits for the result.

pg_execute() is like pg_query_params(), but the command to be executed is specified by naming a previously-prepared statement, instead of giving a query string. This feature allows commands that will be used repeatedly to be parsed and planned just once, rather than each time they are executed. The statement must have been prepared previously in the current session. pg_execute() is supported only against PostgreSQL 7.4 or higher connections; it will fail when using earlier versions.

The parameters are identical to pg_query_params(), except that the name of a prepared statement is given instead of a query string.

Список параметров

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

stmtname

The name of the prepared statement to execute. if "" is specified, then the unnamed statement is executed. The name must have been previously prepared using pg_prepare(), pg_send_prepare() or a PREPARE SQL command.

params

An array of parameter values to substitute for the $1, $2, etc. placeholders in the original prepared query string. The number of elements in the array must match the number of placeholders.

Внимание

Elements are converted to strings by calling this function.

Возвращаемые значения

A query result resource on success, or FALSE on failure.

Примеры

Пример #1 Using pg_execute()

<?php
// Connect to a database named "mary"
$dbconn = pg_connect("dbname=mary");

// Prepare a query for execution
$result = pg_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');

// Execute the prepared query.  Note that it is not necessary to escape
// the string "Joe's Widgets" in any way
$result = pg_execute($dbconn, "my_query", array("Joe's Widgets"));

// Execute the same prepared query, this time with a different parameter
$result = pg_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));

?>

Смотрите также

  • pg_prepare() - Submits a request to create a prepared statement with the given parameters, and waits for completion.
  • pg_send_prepare() - Sends a request to create a prepared statement with the given parameters, without waiting for completion.
  • pg_query_params() - Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text.

pg_escape_string
pg_fetch_all_columns
PostgreSQL Функции


Fetches all rows in a particular result column as an array

pg_execute
pg_fetch_all
PostgreSQL Функции
PHP Manual

pg_fetch_all_columns

(PHP 5 >= 5.1.0)

pg_fetch_all_columns — Fetches all rows in a particular result column as an array

Описание

array pg_fetch_all_columns ( resource $result [, int $column= 0 ] )

pg_fetch_all_columns() returns an array that contains all rows (records) in a particular column of the result resource.

Замечание: Эта функция устанавливает NULL-поля в значение NULL PHP.

Список параметров

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

column

Column number, zero-based, to be retrieved from the result resource. Defaults to the first column if not specified.

Возвращаемые значения

An array with all values in the result column.

FALSE is returned if column is larger than the number of columns in the result, or on any other error.

Примеры

Пример #1 pg_fetch_all_columns() example

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "An error occured.\n";
  exit;
}

$result = pg_query($conn, "SELECT title, name, address FROM authors");
if (!$result) {
  echo "An error occured.\n";
  exit;
}

// Get an array of all author names
$arr = pg_fetch_all_columns($result, 1);

var_dump($arr);

?>

Смотрите также

  • pg_fetch_all() - Fetches all rows from a result as an array

pg_execute
pg_fetch_all
PostgreSQL Функции


Fetches all rows from a result as an array

pg_fetch_all_columns
pg_fetch_array
PostgreSQL Функции
PHP Manual

pg_fetch_all

(PHP 4 >= 4.3.0, PHP 5)

pg_fetch_all — Fetches all rows from a result as an array

Описание

array pg_fetch_all ( resource $result )

pg_fetch_all() returns an array that contains all rows (records) in the result resource.

Замечание: Эта функция устанавливает NULL-поля в значение NULL PHP.

Список параметров

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

Возвращаемые значения

An array with all rows in the result. Each row is an array of field values indexed by field name.

FALSE is returned if there are no rows in the result, or on any other error.

Примеры

Пример #1 PostgreSQL fetch all

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "An error occured.\n";
  exit;
}

$result = pg_query($conn, "SELECT * FROM authors");
if (!$result) {
  echo "An error occured.\n";
  exit;
}

$arr = pg_fetch_all($result);

var_dump($arr);

?>

Смотрите также

  • pg_fetch_row() - Get a row as an enumerated array
  • pg_fetch_array() - Fetch a row as an array
  • pg_fetch_object() - Fetch a row as an object
  • pg_fetch_result() - Returns values from a result resource

pg_fetch_all_columns
pg_fetch_array
PostgreSQL Функции


Fetch a row as an array

pg_fetch_all
pg_fetch_assoc
PostgreSQL Функции
PHP Manual

pg_fetch_array

(PHP 4, PHP 5)

pg_fetch_array — Fetch a row as an array

Описание

array pg_fetch_array ( resource $result [, int $row [, int $result_type ]] )

pg_fetch_array() returns an array that corresponds to the fetched row (record).

pg_fetch_array() is an extended version of pg_fetch_row(). In addition to storing the data in the numeric indices (field number) to the result array, it can also store the data using associative indices (field name). It stores both indicies by default.

Замечание: Эта функция устанавливает NULL-поля в значение NULL PHP.

pg_fetch_array() is NOT significantly slower than using pg_fetch_row(), and is significantly easier to use.

Список параметров

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

row

Row number in result to fetch. Rows are numbered from 0 upwards. If omitted, next row is fetched.

result_type

An optional parameter that controls how the returned array is indexed. result_type is a constant and can take the following values: PGSQL_ASSOC, PGSQL_NUM and PGSQL_BOTH. Using PGSQL_NUM, pg_fetch_array() will return an array with numerical indices, using PGSQL_ASSOC it will return only associative indices while PGSQL_BOTH, the default, will return both numerical and associative indices.

Возвращаемые значения

An array indexed numerically (beginning with 0) or associatively (indexed by field name), or both. Each value in the array is represented as a string. Database NULL values are returned as NULL.

FALSE is returned if row exceeds the number of rows in the set, there are no more rows, or on any other error.

Список изменений

Версия | Описание
4.1.0 | The row parameter became optional.
4.0.0 | The result_type parameter was added.

Примеры

Пример #1 pg_fetch_array() example

<?php

$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "An error occured.\n";
  exit;
}

$result = pg_query($conn, "SELECT author, email FROM authors");
if (!$result) {
  echo "An error occured.\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";

// As of PHP 4.1.0, the row parameter is optional; NULL can be passed instead,
// to pass a result_type.  Successive calls to pg_fetch_array will return the
// next row.
$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() - Get a row as an enumerated array
  • pg_fetch_object() - Fetch a row as an object
  • pg_fetch_result() - Returns values from a result resource

pg_fetch_all
pg_fetch_assoc
PostgreSQL Функции


Fetch a row as an associative array

pg_fetch_array
pg_fetch_object
PostgreSQL Функции
PHP Manual

pg_fetch_assoc

(PHP 4 >= 4.3.0, PHP 5)

pg_fetch_assoc — Fetch a row as an associative array

Описание

array pg_fetch_assoc ( resource $result [, int $row ] )

pg_fetch_assoc() returns an associative array that corresponds to the fetched row (records).

pg_fetch_assoc() is equivalent to calling pg_fetch_array() with PGSQL_ASSOC as the optional third parameter. It only returns an associative array. If you need the numeric indices, use pg_fetch_row().

Замечание: Эта функция устанавливает NULL-поля в значение NULL PHP.

pg_fetch_assoc() is NOT significantly slower than using pg_fetch_row(), and is significantly easier to use.

Список параметров

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

row

Row number in result to fetch. Rows are numbered from 0 upwards. If omitted, next row is fetched.

Возвращаемые значения

An array indexed associatively (by field name). Each value in the array is represented as a string. Database NULL values are returned as NULL.

FALSE is returned if row exceeds the number of rows in the set, there are no more rows, or on any other error.

Список изменений

Версия | Описание
4.1.0 | The parameter row became optional.

Примеры

Пример #1 pg_fetch_assoc() example

<?php
$conn = pg_connect("dbname=publisher");
if (!$conn) {
  echo "An error occured.\n";
  exit;
}

$result = pg_query($conn, "SELECT id, author, email FROM authors");
if (!$result) {
  echo "An error occured.\n";
  exit;
}

while ($row = pg_fetch_assoc($result)) {
  echo $row['id'];
  echo $row['author'];
  echo $row['email'];
}
?>

Смотрите также

  • pg_fetch_row() - Get a row as an enumerated array
  • pg_fetch_array() - Fetch a row as an array
  • pg_fetch_object() - Fetch a row as an object
  • pg_fetch_result() - Returns values from a result resource

pg_fetch_array
pg_fetch_object
PostgreSQL Функции


Fetch a row as an object

pg_fetch_assoc
pg_fetch_result
PostgreSQL Функции
PHP Manual

pg_fetch_object

(PHP 4, PHP 5)

pg_fetch_object — Fetch a row as an object

Описание

object pg_fetch_object ( resource $result [, int $row [, int $result_type ]] )
object pg_fetch_object ( resource $result [, int $row [, string $class_name [, array $params ]]] )

pg_fetch_object() returns an object with properties that correspond to the fetched row's field names. It can optionally instantiate an object of a specific class, and pass parameters to that class's constructor.

Замечание: Эта функция устанавливает NULL-поля в значение NULL PHP.

Speed-wise, the function is identical to pg_fetch_array(), and almost as fast as pg_fetch_row() (the difference is insignificant).

Список параметров

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

row

Row number in result to fetch. Rows are numbered from 0 upwards. If omitted, next row is fetched.

result_type

Ignored and deprecated. Defaults to PGSQL_ASSOC.

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.

Возвращаемые значения

An object with one attribute for each field name in the result. Database NULL values are returned as NULL.

FALSE is returned if row exceeds the number of rows in the set, there are no more rows, or on any other error.

Список изменений

Версия | Описание
5.0.0 | class_name and params were added. The old form with result_type still exists for backwards compatibility.
4.3.0 | result_type default changed from PGSQL_BOTH to PGSQL_ASSOC, since the numeric index was illegal.
4.1.0 | The parameter row became optional.

Примеры

Пример #1 pg_fetch_object() example

<?php

$database = "store";

$db_conn = pg_connect("host=localhost port=5432 dbname=$database");
if (!$db_conn) {
  echo "Failed connecting to postgres database $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() - Execute a query
  • pg_fetch_array() - Fetch a row as an array
  • pg_fetch_assoc() - Fetch a row as an associative array
  • pg_fetch_row() - Get a row as an enumerated array
  • pg_fetch_result() - Returns values from a result resource

pg_fetch_assoc
pg_fetch_result
PostgreSQL Функции


Returns values from a result resource

pg_fetch_object
pg_fetch_row
PostgreSQL Функции
PHP Manual

pg_fetch_result

(PHP 4 >= 4.2.0, PHP 5)

pg_fetch_result — Returns values from a result resource

Описание

string pg_fetch_result ( resource $result , int $row , mixed $field )
string pg_fetch_result ( resource $result , mixed $field )

pg_fetch_result() returns the value of a particular row and field (column) in a PostgreSQL result resource.

Замечание: This function used to be called pg_result().

Список параметров

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

row

Row number in result to fetch. Rows are numbered from 0 upwards. If omitted, next row is fetched.

field

A string representing the name of the field (column) to fetch, otherwise an int representing the field number to fetch. Fields are numbered from 0 upwards.

Возвращаемые значения

Boolean is returned as "t" or "f". All other types, including arrays are returned as strings formatted in the same default PostgreSQL manner that you would see in the psql program. Database NULL values are returned as NULL.

FALSE is returned if row exceeds the number of rows in the set, or on any other error.

Примеры

Пример #1 pg_fetch_result() example

<?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 "First field in the second row is: ", $val, "\n";
?>

Результат выполнения данного примера:

First field in the second row is: 2

Смотрите также

  • pg_query() - Execute a query
  • pg_fetch_array() - Fetch a row as an array

pg_fetch_object
pg_fetch_row
PostgreSQL Функции


Get a row as an enumerated array

pg_fetch_result
pg_field_is_null
PostgreSQL Функции
PHP Manual

pg_fetch_row

(PHP 4, PHP 5)

pg_fetch_row — Get a row as an enumerated array

Описание

array pg_fetch_row ( resource $result [, int $row ] )

pg_fetch_row() fetches one row of data from the result associated with the specified result resource.

Замечание: Эта функция устанавливает NULL-поля в значение NULL PHP.

Список параметров

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

row

Row number in result to fetch. Rows are numbered from 0 upwards. If omitted, next row is fetched.

Возвращаемые значения

An array, indexed from 0 upwards, with each value represented as a string. Database NULL values are returned as NULL.

FALSE is returned if row exceeds the number of rows in the set, there are no more rows, or on any other error.

Список изменений

Версия | Описание
4.1.0 | The parameter row became optional.

Примеры

Пример #1 pg_fetch_row() example

<?php

$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "An error occured.\n";
  exit;
}

$result = pg_query($conn, "SELECT author, email FROM authors");
if (!$result) {
  echo "An error occured.\n";
  exit;
}

while ($row = pg_fetch_row($result)) {
  echo "Author: $row[0]  E-mail: $row[1]";
  echo "<br />\n";
}

?>

Смотрите также

  • pg_query() - Execute a query
  • pg_fetch_array() - Fetch a row as an array
  • pg_fetch_object() - Fetch a row as an object
  • pg_fetch_result() - Returns values from a result resource

pg_fetch_result
pg_field_is_null
PostgreSQL Функции


Test if a field is 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 — Test if a field is 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() tests if a field in a PostgreSQL result resource is SQL NULL or not.

Замечание: This function used to be called pg_fieldisnull().

Список параметров

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

row

Row number in result to fetch. Rows are numbered from 0 upwards. If omitted, current row is fetched.

field

Field number (starting from 0) as an integer or the field name as a string.

Возвращаемые значения

Returns 1 if the field in the given row is SQL NULL, 0 if not. FALSE is returned if the row is out of range, or upon any other error.

Примеры

Пример #1 pg_field_is_null() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die ("Could not connect");
  $res = pg_query($dbconn, "select * from authors where author = 'Orwell'");
  if ($res) {
      if (pg_field_is_null($res, 0, "year") == 1) {
          echo "The value of the field year is null.\n";
      }
      if (pg_field_is_null($res, 0, "year") == 0) {
          echo "The value of the field year is not null.\n";
    }
 }
?>

pg_fetch_row
pg_field_name
PostgreSQL Функции


Returns the name of a field

pg_field_is_null
pg_field_num
PostgreSQL Функции
PHP Manual

pg_field_name

(PHP 4 >= 4.2.0, PHP 5)

pg_field_name — Returns the name of a field

Описание

string pg_field_name ( resource $result , int $field_number )

pg_field_name() returns the name of the field occupying the given field_number in the given PostgreSQL result resource. Field numbering starts from 0.

Замечание: This function used to be called pg_fieldname().

Список параметров

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

field_number

Field number, starting from 0.

Возвращаемые значения

The field name, or FALSE on error.

Примеры

Пример #1 Getting information about fields

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  $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() - Returns the field number of the named field

pg_field_is_null
pg_field_num
PostgreSQL Функции


Returns the field number of the named field

pg_field_name
pg_field_prtlen
PostgreSQL Функции
PHP Manual

pg_field_num

(PHP 4 >= 4.2.0, PHP 5)

pg_field_num — Returns the field number of the named field

Описание

int pg_field_num ( resource $result , string $field_name )

pg_field_num() will return the number of the field number that corresponds to the field_name in the given PostgreSQL result resource.

Замечание: This function used to be called pg_fieldnum().

Список параметров

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

field_name

The name of the field.

Возвращаемые значения

The field number (numbered from 0), or -1 on error.

Примеры

Пример #1 Getting information about fields

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  $res = pg_query($dbconn, "select author, year, title from authors where author = 'Orwell'");

  echo "Column 'title' is field number: ", pg_field_num($res, 'title');
?>

Результат выполнения данного примера:

Column 'title' is field number: 2

Смотрите также

  • pg_field_name() - Returns the name of a field

pg_field_name
pg_field_prtlen
PostgreSQL Функции


Returns the printed length

pg_field_num
pg_field_size
PostgreSQL Функции
PHP Manual

pg_field_prtlen

(PHP 4 >= 4.2.0, PHP 5)

pg_field_prtlen — Returns the printed length

Описание

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() returns the actual printed length (number of characters) of a specific value in a PostgreSQL result . Row numbering starts at 0. This function will return -1 on an error.

field_name_or_number can be passed either as an integer or as a string. If it is passed as an integer, PHP recognises it as the field number, otherwise as field name.

See the example given at the pg_field_name() page.

Замечание: This function used to be called pg_fieldprtlen().

Список параметров

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

row

Row number in result. Rows are numbered from 0 upwards. If omitted, current row is fetched.

Возвращаемые значения

The field printed length, or FALSE on error.

Примеры

Пример #1 Getting information about fields

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  $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() - Returns the internal storage size of the named field

pg_field_num
pg_field_size
PostgreSQL Функции


Returns the internal storage size of the named field

pg_field_prtlen
pg_field_table
PostgreSQL Функции
PHP Manual

pg_field_size

(PHP 4 >= 4.2.0, PHP 5)

pg_field_size — Returns the internal storage size of the named field

Описание

int pg_field_size ( resource $result , int $field_number )

pg_field_size() returns the internal storage size (in bytes) of the field number in the given PostgreSQL result .

Замечание: This function used to be called pg_fieldsize().

Список параметров

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

field_number

Field number, starting from 0.

Возвращаемые значения

The internal field storage size (in bytes). -1 indicates a variable length field. FALSE is returned on error.

Примеры

Пример #1 Getting information about fields

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  $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() - Returns the printed length
  • pg_field_type() - Returns the type name for the corresponding field number

pg_field_prtlen
pg_field_table
PostgreSQL Функции


Returns the name or oid of the tables field

pg_field_size
pg_field_type_oid
PostgreSQL Функции
PHP Manual

pg_field_table

(PHP 5 >= 5.2.0)

pg_field_table — Returns the name or oid of the tables field

Описание

mixed pg_field_table ( resource $result , int $field_number [, bool $oid_only= false ] )

pg_field_table() returns the name of the table that field belongs to, or the table's oid if oid_only is TRUE.

Список параметров

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

field_number

Field number, starting from 0.

oid_only

By default the tables name that field belongs to is returned but if oid_only is set to TRUE, then the oid will instead be returned.

Возвращаемые значения

On success either the fields table name or oid. Or, FALSE on failure.

Примеры

Пример #1 Getting table information about a field

<?php
$dbconn = pg_connect("dbname=publisher") or die("Could not connect");

$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)

Примечания

Замечание: Returning the oid is much faster than returning the table name because fetching the table name requires a query to the database system table.

Смотрите также

  • pg_field_name() - Returns the name of a field
  • pg_field_type() - Returns the type name for the corresponding field number

pg_field_size
pg_field_type_oid
PostgreSQL Функции


Returns the type ID (OID) for the corresponding field number

pg_field_table
pg_field_type
PostgreSQL Функции
PHP Manual

pg_field_type_oid

(PHP 5 >= 5.1.0)

pg_field_type_oid — Returns the type ID (OID) for the corresponding field number

Описание

int pg_field_type_oid ( resource $result , int $field_number )

pg_field_type_oid() returns an integer containing the OID of the base type of the given field_number in the given PostgreSQL result resource.

You can get more information about the field type by querying PostgreSQL's pg_type system table using the OID obtained with this function. The PostgreSQL format_type() function will convert a type OID into an SQL standard type name.

Замечание: If the field uses a PostgreSQL domain (rather than a basic type), it is the OID of the domain's underlying type that is returned, rather than the OID of the domain itself.

Список параметров

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

field_number

Field number, starting from 0.

Возвращаемые значения

The OID of the field's base type. FALSE is returned on error.

Примеры

Пример #1 Getting information about fields

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  // Assume 'title' is a varchar type
  $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() - Returns the type name for the corresponding field number
  • pg_field_prtlen() - Returns the printed length
  • pg_field_name() - Returns the name of a field

pg_field_table
pg_field_type
PostgreSQL Функции


Returns the type name for the corresponding field number

pg_field_type_oid
pg_free_result
PostgreSQL Функции
PHP Manual

pg_field_type

(PHP 4 >= 4.2.0, PHP 5)

pg_field_type — Returns the type name for the corresponding field number

Описание

string pg_field_type ( resource $result , int $field_number )

pg_field_type() returns a string containing the base type name of the given field_number in the given PostgreSQL result resource.

Замечание: If the field uses a PostgreSQL domain (rather than a basic type), it is the name of the domain's underlying type that is returned, rather than the name of the domain itself.

Замечание: This function used to be called pg_fieldtype().

Список параметров

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

field_number

Field number, starting from 0.

Возвращаемые значения

A string containing the base name of the field's type, or FALSE on error.

Примеры

Пример #1 Getting information about fields

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  // Assume 'title' is a varchar type
  $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() - Returns the printed length
  • pg_field_name() - Returns the name of a field
  • pg_field_type_oid() - Returns the type ID (OID) for the corresponding field number

pg_field_type_oid
pg_free_result
PostgreSQL Функции


Free result memory

pg_field_type
pg_get_notify
PostgreSQL Функции
PHP Manual

pg_free_result

(PHP 4 >= 4.2.0, PHP 5)

pg_free_result — Free result memory

Описание

bool pg_free_result ( resource $result )

pg_free_result() frees the memory and data associated with the specified PostgreSQL query result resource.

This function need only be called if memory consumption during script execution is a problem. Otherwise, all result memory will be automatically freed when the script ends.

Замечание: This function used to be called pg_freeresult().

Список параметров

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 pg_free_result() example

<?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 "First field in the second row is: ", $val, "\n";

pg_free_result($res);
?>

Результат выполнения данного примера:

First field in the second row is: 2

Смотрите также

  • pg_query() - Execute a query
  • pg_query_params() - Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text.
  • pg_execute() - Sends a request to execute a prepared statement with given parameters, and waits for the result.

pg_field_type
pg_get_notify
PostgreSQL Функции


Gets SQL NOTIFY message

pg_free_result
pg_get_pid
PostgreSQL Функции
PHP Manual

pg_get_notify

(PHP 4 >= 4.3.0, PHP 5)

pg_get_notify — Gets SQL NOTIFY message

Описание

array pg_get_notify ( resource $connection [, int $result_type ] )

pg_get_notify() gets notifications generated by a NOTIFY SQL command. To receive notifications, the LISTEN SQL command must be issued.

Список параметров

connection

PostgreSQL database connection resource.

result_type

An optional parameter that controls how the returned array is indexed. result_type is a constant and can take the following values: PGSQL_ASSOC, PGSQL_NUM and PGSQL_BOTH. Using PGSQL_NUM, pg_get_notify() will return an array with numerical indices, using PGSQL_ASSOC it will return only associative indices while PGSQL_BOTH, the default, will return both numerical and associative indices.

Возвращаемые значения

An array containing the NOTIFY message name and backend PID. Otherwise if no NOTIFY is waiting, then FALSE is returned.

Примеры

Пример #1 PostgreSQL NOTIFY message

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "An error occured.\n";
  exit;
}

// Listen 'author_updated' message from other processes
pg_query($conn, 'LISTEN author_updated;');
$notify = pg_get_notify($conn);
if (!$notify) {
  echo "No messages\n";
} else {
  print_r($notify);
}
?>

Смотрите также

  • pg_get_pid() - Gets the backend's process ID

pg_free_result
pg_get_pid
PostgreSQL Функции


Gets the backend's process ID

pg_get_notify
pg_get_result
PostgreSQL Функции
PHP Manual

pg_get_pid

(PHP 4 >= 4.3.0, PHP 5)

pg_get_pid — Gets the backend's process ID

Описание

int pg_get_pid ( resource $connection )

pg_get_pid() gets the backend's (database server process) PID. The PID is useful to determine whether or not a NOTIFY message received via pg_get_notify() is sent from another process or not.

Список параметров

connection

PostgreSQL database connection resource.

Возвращаемые значения

The backend database process ID.

Примеры

Пример #1 PostgreSQL backend PID

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "An error occured.\n";
  exit;
}

// Backend process PID. Use PID with pg_get_notify()
$pid = pg_get_pid($conn);
?>

Смотрите также

  • pg_get_notify() - Gets SQL NOTIFY message

pg_get_notify
pg_get_result
PostgreSQL Функции


Get asynchronous query result

pg_get_pid
pg_host
PostgreSQL Функции
PHP Manual

pg_get_result

(PHP 4 >= 4.2.0, PHP 5)

pg_get_result — Get asynchronous query result

Описание

resource pg_get_result ([ resource $connection ] )

pg_get_result() gets the result resource from an asynchronous query executed by pg_send_query(), pg_send_query_params() or pg_send_execute().

pg_send_query() and the other asynchronous query functions can send multiple queries to a PostgreSQL server and pg_get_result() is used to get each query's results, one by one.

Список параметров

connection

PostgreSQL database connection resource.

Возвращаемые значения

The result resource, or FALSE if no more results are available.

Примеры

Пример #1 pg_get_result() example

<?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 "First call to pg_get_result(): $res1\n";
  $rows1 = pg_num_rows($res1);
  echo "$res1 has $rows1 records\n\n";

  $res2 = pg_get_result($dbconn);
  echo "Second call to pg_get_result(): $res2\n";
  $rows2 = pg_num_rows($res2);
  echo "$res2 has $rows2 records\n";
?>

Результат выполнения данного примера:

First call to pg_get_result(): Resource id #3
Resource id #3 has 3 records

Second call to pg_get_result(): Resource id #4
Resource id #4 has 1 records

Смотрите также

  • pg_send_query() - Sends asynchronous query

pg_get_pid
pg_host
PostgreSQL Функции


Returns the host name associated with the connection

pg_get_result
pg_insert
PostgreSQL Функции
PHP Manual

pg_host

(PHP 4, PHP 5)

pg_host — Returns the host name associated with the connection

Описание

string pg_host ([ resource $connection ] )

pg_host() returns the host name of the given PostgreSQL connection resource is connected to.

Список параметров

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

Возвращаемые значения

A string containing the name of the host the connection is to, or FALSE on error.

Примеры

Пример #1 pg_host() example

<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");

if ($pgsql_conn) {
   print "Successfully connected to: " . pg_host($pgsql_conn) . "<br/>\n";
} else {
   print pg_last_error($pgsql_conn);
   exit;
}
?>

Смотрите также

  • pg_connect() - Open a PostgreSQL connection
  • pg_pconnect() - Open a persistent PostgreSQL connection

pg_get_result
pg_insert
PostgreSQL Функции


Insert array into table

pg_host
pg_last_error
PostgreSQL Функции
PHP Manual

pg_insert

(PHP 4 >= 4.3.0, PHP 5)

pg_insert — Insert array into table

Описание

mixed pg_insert ( resource $connection , string $table_name , array $assoc_array [, int $options= PGSQL_DML_EXEC ] )

pg_insert() inserts the values of assoc_array into the table specified by table_name . If options is specified, pg_convert() is applied to assoc_array with the specified options.

Внимание

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

Список параметров

connection

PostgreSQL database connection resource.

table_name

Name of the table into which to insert rows. The table table_name must at least have as many columns as assoc_array has elements.

assoc_array

An array whose keys are field names in the table table_name , and whose values are the values of those fields that are to be inserted.

options

Any number of PGSQL_CONV_OPTS, PGSQL_DML_NO_CONV, PGSQL_DML_EXEC, PGSQL_DML_ASYNC or PGSQL_DML_STRING combined. If PGSQL_DML_STRING is part of the options then query string is returned.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Returns string if PGSQL_DML_STRING is passed via options .

Примеры

Пример #1 pg_insert() example

<?php
  $dbconn = pg_connect('dbname=foo');
  // This is safe, since $_POST is converted automatically
  $res = pg_insert($dbconn, 'post_log', $_POST);
  if ($res) {
      echo "POST data is successfully logged\n";
  } else {
      echo "User must have sent wrong inputs\n";
  }
?>

Смотрите также

  • pg_convert() - Convert associative array values into suitable for SQL statement

pg_host
pg_last_error
PostgreSQL Функции


Get the last error message string of a connection

pg_insert
pg_last_notice
PostgreSQL Функции
PHP Manual

pg_last_error

(PHP 4 >= 4.2.0, PHP 5)

pg_last_error — Get the last error message string of a connection

Описание

string pg_last_error ([ resource $connection ] )

pg_last_error() returns the last error message for a given connection .

Error messages may be overwritten by internal PostgreSQL (libpq) function calls. It may not return an appropriate error message if multiple errors occur inside a PostgreSQL module function.

Use pg_result_error(), pg_result_error_field(),
pg_result_status() and
pg_connection_status() for better error handling.

Замечание: This function used to be called pg_errormessage().

Список параметров

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

Возвращаемые значения

A string containing the last error message on the given connection , or FALSE on error.

Примеры

Пример #1 pg_last_error() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  // Query that fails
  $res = pg_query($dbconn, "select * from doesnotexist");

  echo pg_last_error($dbconn);
?>

Смотрите также

  • pg_result_error() - Get error message associated with result
  • pg_result_error_field() - Returns an individual field of an error report.

pg_insert
pg_last_notice
PostgreSQL Функции


Returns the last notice message from PostgreSQL server

pg_last_error
pg_last_oid
PostgreSQL Функции
PHP Manual

pg_last_notice

(PHP 4 >= 4.0.6, PHP 5)

pg_last_notice — Returns the last notice message from PostgreSQL server

Описание

string pg_last_notice ( resource $connection )

pg_last_notice() returns the last notice message from the PostgreSQL server on the specified connection . The PostgreSQL server sends notice messages in several cases, for instance when creating a SERIAL column in a table.

With pg_last_notice(), you can avoid issuing useless queries by checking whether or not the notice is related to your transaction.

Notice message tracking can be set to optional by setting 1 for pgsql.ignore_notice in php.ini.

Notice message logging can be set to optional by setting 0 for pgsql.log_notice in php.ini. Unless pgsql.ignore_notice is set to 0, notice message cannot be logged.

Список параметров

connection

PostgreSQL database connection resource.

Возвращаемые значения

A string containing the last notice on the given connection , or FALSE on error.

Список изменений

Версия | Описание
4.3.0 | This function is now fully implemented. Earlier versions ignores database connection parameter.
4.3.0 | The pgsql.ignore_notice and pgsql.log_notice php.ini directives were added.
4.0.6 | PHP 4.0.6 has problem with notice message handling. Use of the PostgreSQL module with PHP 4.0.6 is not recommended even if you are not using pg_last_notice().

Примеры

Пример #1 pg_last_error() example

<?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() - Execute a query
  • pg_last_error() - Get the last error message string of a connection

pg_last_error
pg_last_oid
PostgreSQL Функции


Returns the last row's OID

pg_last_notice
pg_lo_close
PostgreSQL Функции
PHP Manual

pg_last_oid

(PHP 4 >= 4.2.0, PHP 5)

pg_last_oid — Returns the last row's OID

Описание

string pg_last_oid ( resource $result )

pg_last_oid() is used to retrieve the OID assigned to an inserted row.

OID field became an optional field from PostgreSQL 7.2 and will not be present by default in PostgreSQL 8.1. When the OID field is not present in a table, the programmer must use pg_result_status() to check for successful insertion.

To get the value of a SERIAL field in an inserted row, it is necessary to use the PostgreSQL CURRVAL function, naming the sequence whose last value is required. If the name of the sequence is unknown, the pg_get_serial_sequence PostgreSQL 8.0 function is necessary.

PostgreSQL 8.1 has a function LASTVAL that returns the value of the most recently used sequence in the session. This avoids the need for naming the sequence, table or column altogether.

Замечание: This function used to be called pg_getlastoid().

Список параметров

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

Возвращаемые значения

A string containing the OID assigned to the most recently inserted row in the specified connection , or FALSE on error or no available OID.

Примеры

Пример #1 pg_last_oid() example

<?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() - Execute a query
  • pg_result_status() - Get status of query result

pg_last_notice
pg_lo_close
PostgreSQL Функции


Close a large object

pg_last_oid
pg_lo_create
PostgreSQL Функции
PHP Manual

pg_lo_close

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_close — Close a large object

Описание

bool pg_lo_close ( resource $large_object )

pg_lo_close() closes a large object. large_object is a resource for the large object from pg_lo_open().

To use the large object interface, it is necessary to enclose it within a transaction block.

Замечание: This function used to be called pg_loclose().

Список параметров

result

PostgreSQL large object (LOB) resource, returned by pg_lo_open().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 pg_lo_close() example

<?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() - Open a large object
  • pg_lo_create() - Create a large object
  • pg_lo_import() - Import a large object from file

pg_last_oid
pg_lo_create
PostgreSQL Функции


Create a large object

pg_lo_close
pg_lo_export
PostgreSQL Функции
PHP Manual

pg_lo_create

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_create — Create a large object

Описание

int pg_lo_create ([ resource $connection [, mixed $object_id ]] )
int pg_lo_create ( mixed $object_id )

pg_lo_create() creates a large object and returns the OID of the large object. PostgreSQL access modes INV_READ, INV_WRITE, and INV_ARCHIVE are not supported, the object is created always with both read and write access. INV_ARCHIVE has been removed from PostgreSQL itself (version 6.3 and above).

To use the large object interface, it is necessary to enclose it within a transaction block.

Instead of using the large object interface (which has no access controls and is cumbersome to use), try PostgreSQL's bytea column type and pg_escape_bytea().

Замечание: This function used to be called pg_locreate().

Список параметров

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

object_id

If an object_id is given the function will try to create a large object with this id, else a free object id is assigned by the server. The parameter was added in PHP 5.3 and relies on functionality that first appeared in PostgreSQL 8.1.

Возвращаемые значения

A large object OID or FALSE on error.

Список изменений

Версия | Описание
5.3.0 | The optional object_id was added.

Примеры

Пример #1 pg_lo_create() example

<?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 Функции


Export a large object to file

pg_lo_create
pg_lo_import
PostgreSQL Функции
PHP Manual

pg_lo_export

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_export — Export a large object to file

Описание

bool pg_lo_export ([ resource $connection ], int $oid , string $pathname )

pg_lo_export() takes a large object in a PostgreSQL database and saves its contents to a file on the local filesystem.

To use the large object interface, it is necessary to enclose it within a transaction block.

Замечание: This function used to be called pg_loexport().

Список параметров

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

oid

The OID of the large object in the database.

pathname

The full path and file name of the file in which to write the large object on the client filesystem.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 pg_lo_export() example

<?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() - Import a large object from file

pg_lo_create
pg_lo_import
PostgreSQL Функции


Import a large object from file

pg_lo_export
pg_lo_open
PostgreSQL Функции
PHP Manual

pg_lo_import

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_import — Import a large object from file

Описание

int pg_lo_import ([ resource $connection ], string $pathname , mixed $object_id )

pg_lo_import() creates a new large object in the database using a file on the filesystem as its data source.

To use the large object interface, it is necessary to enclose it within a transaction block.

Замечание: Когда опция safe mode включена, PHP проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.

Замечание: This function used to be called pg_loimport().

Список параметров

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

pathname

The full path and file name of the file on the client filesystem from which to read the large object data.

object_id

If an object_id is given the function will try to create a large object with this id, else a free object id is assigned by the server. The parameter was added in PHP 5.3 and relies on functionality that first appeared in PostgreSQL 8.1.

Возвращаемые значения

The OID of the newly created large object, or FALSE on failure.

Список изменений

Версия | Описание
5.3.0 | The optional object_id was added.
4.2.0 | The syntax of this function changed. It used to be: int pg_lo_import ( string $pathname [, resource $connection ] )

Примеры

Пример #1 pg_lo_import() example

<?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() - Export a large object to file
  • pg_lo_open() - Open a large object

pg_lo_export
pg_lo_open
PostgreSQL Функции


Open a large object

pg_lo_import
pg_lo_read_all
PostgreSQL Функции
PHP Manual

pg_lo_open

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_open — Open a large object

Описание

resource pg_lo_open ( resource $connection , int $oid , string $mode )

pg_lo_open() opens a large object in the database and returns large object resource so that it can be manipulated.

Внимание

Do not close the database connection before closing the large object resource.

To use the large object interface, it is necessary to enclose it within a transaction block.

Замечание: This function used to be called pg_loopen().

Список параметров

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

oid

The OID of the large object in the database.

mode

Can be either "r" for read-only, "w" for write only or "rw" for read and write.

Возвращаемые значения

A large object resource or FALSE on error.

Примеры

Пример #1 pg_lo_open() example

<?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() - Close a large object
  • pg_lo_create() - Create a large object

pg_lo_import
pg_lo_read_all
PostgreSQL Функции


Reads an entire large object and send straight to browser

pg_lo_open
pg_lo_read
PostgreSQL Функции
PHP Manual

pg_lo_read_all

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_read_all — Reads an entire large object and send straight to browser

Описание

int pg_lo_read_all ( resource $large_object )

pg_lo_read_all() reads a large object and passes it straight through to the browser after sending all pending headers. Mainly intended for sending binary data like images or sound.

To use the large object interface, it is necessary to enclose it within a transaction block.

Замечание: This function used to be called pg_loreadall().

Список параметров

large_object

PostgreSQL large object (LOB) resource, returned by pg_lo_open().

Возвращаемые значения

Number of bytes read or FALSE on error.

Примеры

Пример #1 pg_lo_read_all() example

<?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() - Read a large object

pg_lo_open
pg_lo_read
PostgreSQL Функции


Read a large object

pg_lo_read_all
pg_lo_seek
PostgreSQL Функции
PHP Manual

pg_lo_read

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_read — Read a large object

Описание

string pg_lo_read ( resource $large_object [, int $len ] )

pg_lo_read() reads at most len bytes from a large object and returns it as a string.

To use the large object interface, it is necessary to enclose it within a transaction block.

Замечание: This function used to be called pg_loread().

Список параметров

large_object

PostgreSQL large object (LOB) resource, returned by pg_lo_open().

len

An optional maximum number of bytes to return. Defaults to 8192.

Возвращаемые значения

A string containing len bytes from the large object, or FALSE on error.

Примеры

Пример #1 pg_lo_read() example

<?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() - Reads an entire large object and send straight to browser

pg_lo_read_all
pg_lo_seek
PostgreSQL Функции


Seeks position within a large object

pg_lo_read
pg_lo_tell
PostgreSQL Функции
PHP Manual

pg_lo_seek

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_seek — Seeks position within a large object

Описание

bool pg_lo_seek ( resource $large_object , int $offset [, int $whence= PGSQL_SEEK_CUR ] )

pg_lo_seek() seeks a position within a large object resource.

To use the large object interface, it is necessary to enclose it within a transaction block.

Список параметров

large_object

PostgreSQL large object (LOB) resource, returned by pg_lo_open().

offset

The number of bytes to seek.

whence

One of the constants PGSQL_SEEK_SET (seek from object start), PGSQL_SEEK_CUR (seek from current position) or PGSQL_SEEK_END (seek from object end) .

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 pg_lo_seek() example

<?php
   $doc_oid = 189762345;
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $handle = pg_lo_open($database, $doc_oid, "r");
   // Skip first 50000 bytes
   pg_lo_seek($handle, 50000, PGSQL_SEEK_SET);
   // Read the next 10000 bytes
   $data = pg_lo_read($handle, 10000);
   pg_query($database, "commit");
   echo $data;
?>

Смотрите также

  • pg_lo_tell() - Returns current seek position a of large object

pg_lo_read
pg_lo_tell
PostgreSQL Функции


Returns current seek position a of large object

pg_lo_seek
pg_lo_unlink
PostgreSQL Функции
PHP Manual

pg_lo_tell

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_tell — Returns current seek position a of large object

Описание

int pg_lo_tell ( resource $large_object )

pg_lo_tell() returns the current position (offset from the beginning) of a large object.

To use the large object interface, it is necessary to enclose it within a transaction block.

Список параметров

large_object

PostgreSQL large object (LOB) resource, returned by pg_lo_open().

Возвращаемые значения

The current seek offset (in number of bytes) from the beginning of the large object. If there is an error, the return value is negative.

Примеры

Пример #1 pg_lo_tell() example

<?php
   $doc_oid = 189762345;
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $handle = pg_lo_open($database, $doc_oid, "r");
   // Skip first 50000 bytes
   pg_lo_seek($handle, 50000, PGSQL_SEEK_SET);
   // See how far we've skipped
   $offset = pg_lo_tell($handle);
   echo "Seek position is: $offset";
   pg_query($database, "commit");
?>

Результат выполнения данного примера:

Seek position is: 50000

Смотрите также

  • pg_lo_seek() - Seeks position within a large object

pg_lo_seek
pg_lo_unlink
PostgreSQL Функции


Delete a large object

pg_lo_tell
pg_lo_write
PostgreSQL Функции
PHP Manual

pg_lo_unlink

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_unlink — Delete a large object

Описание

bool pg_lo_unlink ( resource $connection , int $oid )

pg_lo_unlink() deletes a large object with the oid . Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

To use the large object interface, it is necessary to enclose it within a transaction block.

Замечание: This function used to be called pg_lounlink().

Список параметров

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

oid

The OID of the large object in the database.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 pg_lo_unlink() example

<?php
   // OID of the large object to delete
   $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() - Create a large object
  • pg_lo_import() - Import a large object from file

pg_lo_tell
pg_lo_write
PostgreSQL Функции


Write to a large object

pg_lo_unlink
pg_meta_data
PostgreSQL Функции
PHP Manual

pg_lo_write

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_write — Write to a large object

Описание

int pg_lo_write ( resource $large_object , string $data [, int $len ] )

pg_lo_write() writes data into a large object at the current seek position.

To use the large object interface, it is necessary to enclose it within a transaction block.

Замечание: This function used to be called pg_lowrite().

Список параметров

large_object

PostgreSQL large object (LOB) resource, returned by pg_lo_open().

data

The data to be written to the large object. If len is specified and is less than the length of data , only len bytes will be written.

len

An optional maximum number of bytes to write. Must be greater than zero and no greater than the length of data . Defaults to the length of data .

Возвращаемые значения

The number of bytes written to the large object, or FALSE on error.

Примеры

Пример #1 pg_lo_write() example

<?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() - Create a large object
  • pg_lo_open() - Open a large object

pg_lo_unlink
pg_meta_data
PostgreSQL Функции


Get meta data for table

pg_lo_write
pg_num_fields
PostgreSQL Функции
PHP Manual

pg_meta_data

(PHP 4 >= 4.3.0, PHP 5)

pg_meta_data — Get meta data for table

Описание

array pg_meta_data ( resource $connection , string $table_name )

pg_meta_data() returns table definition for table_name as an array.

Внимание

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

Список параметров

connection

PostgreSQL database connection resource.

table_name

The name of the table.

Возвращаемые значения

An array of the table definition, or FALSE on error.

Примеры

Пример #1 Getting table metadata

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  $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() - Convert associative array values into suitable for SQL statement

pg_lo_write
pg_num_fields
PostgreSQL Функции


Returns the number of fields in a result

pg_meta_data
pg_num_rows
PostgreSQL Функции
PHP Manual

pg_num_fields

(PHP 4 >= 4.2.0, PHP 5)

pg_num_fields — Returns the number of fields in a result

Описание

int pg_num_fields ( resource $result )

pg_num_fields() returns the number of fields (columns) in a PostgreSQL result resource.

Замечание: This function used to be called pg_numfields().

Список параметров

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

Возвращаемые значения

The number of fields (columns) in the result. On error, -1 is returned.

Примеры

Пример #1 pg_num_fields() example

<?php
$result = pg_query($conn, "SELECT 1, 2");

$num = pg_num_fields($result);

echo $num . " field(s) returned.\n";
?>

Результат выполнения данного примера:

2 field(s) returned.

Смотрите также

  • pg_num_rows() - Returns the number of rows in a result
  • pg_affected_rows() - Returns number of affected records (tuples)

pg_meta_data
pg_num_rows
PostgreSQL Функции


Returns the number of rows in a result

pg_num_fields
pg_options
PostgreSQL Функции
PHP Manual

pg_num_rows

(PHP 4 >= 4.2.0, PHP 5)

pg_num_rows — Returns the number of rows in a result

Описание

int pg_num_rows ( resource $result )

pg_num_rows() will return the number of rows in a PostgreSQL result resource.

Замечание: This function used to be called pg_numrows().

Список параметров

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

Возвращаемые значения

The number of rows in the result. On error, -1 is returned.

Примеры

Пример #1 pg_num_rows() example

<?php
$result = pg_query($conn, "SELECT 1");

$rows = pg_num_rows($result);

echo $rows . " row(s) returned.\n";
?>

Результат выполнения данного примера:

1 row(s) returned.

Смотрите также

  • pg_num_fields() - Returns the number of fields in a result
  • pg_affected_rows() - Returns number of affected records (tuples)

pg_num_fields
pg_options
PostgreSQL Функции


Get the options associated with the connection

pg_num_rows
pg_parameter_status
PostgreSQL Функции
PHP Manual

pg_options

(PHP 4, PHP 5)

pg_options — Get the options associated with the connection

Описание

string pg_options ([ resource $connection ] )

pg_options() will return a string containing the options specified on the given PostgreSQL connection resource.

Список параметров

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

Возвращаемые значения

A string containing the connection options, or FALSE on error.

Примеры

Пример #1 pg_options() example

<?php
   $pgsql_conn = pg_connect("dbname=mark host=localhost");
   echo pg_options($pgsql_conn);
?>

Смотрите также

  • pg_connect() - Open a PostgreSQL connection

pg_num_rows
pg_parameter_status
PostgreSQL Функции


Looks up a current parameter setting of the server.

pg_options
pg_pconnect
PostgreSQL Функции
PHP Manual

pg_parameter_status

(PHP 5)

pg_parameter_status — Looks up a current parameter setting of the server.

Описание

string pg_parameter_status ([ resource $connection ], string $param_name )

Looks up a current parameter setting of the server.

Certain parameter values are reported by the server automatically at connection startup or whenever their values change. pg_parameter_status() can be used to interrogate these settings. It returns the current value of a parameter if known, or FALSE if the parameter is not known.

Parameters reported as of PostgreSQL 8.0 include server_version, server_encoding, client_encoding, is_superuser, session_authorization, DateStyle, TimeZone, and integer_datetimes. (server_encoding, TimeZone, and integer_datetimes were not reported by releases before 8.0.) Note that server_version, server_encoding and integer_datetimes cannot change after PostgreSQL startup.

PostgreSQL 7.3 or lower servers do not report parameter settings, pg_parameter_status() includes logic to obtain values for server_version and client_encoding anyway. Applications are encouraged to use pg_parameter_status() rather than ad hoc code to determine these values.

Предостережение

On a pre-7.4 PostgreSQL server, changing client_encoding via SET after connection startup will not be reflected by pg_parameter_status().

Список параметров

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

param_name

Possible param_name values include server_version, server_encoding, client_encoding, is_superuser, session_authorization, DateStyle, TimeZone, and integer_datetimes.

Возвращаемые значения

A string containing the value of the parameter, FALSE on failure or invalid param_name .

Примеры

Пример #1 pg_parameter_status() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  echo "Server encoding: ", pg_parameter_status($dbconn, "server_encoding");
?>

Результат выполнения данного примера:

Server encoding: SQL_ASCII

pg_options
pg_pconnect
PostgreSQL Функции


Open a persistent PostgreSQL connection

pg_parameter_status
pg_ping
PostgreSQL Функции
PHP Manual

pg_pconnect

(PHP 4, PHP 5)

pg_pconnect — Open a persistent PostgreSQL connection

Описание

resource pg_pconnect ( string $connection_string [, int $connect_type ] )

pg_pconnect() opens a connection to a PostgreSQL database. It returns a connection resource that is needed by other PostgreSQL functions.

If a second call is made to pg_pconnect() with the same connection_string as an existing connection, the existing connection will be returned unless you pass PGSQL_CONNECT_FORCE_NEW as connect_type .

To enable persistent connection, the pgsql.allow_persistent php.ini directive must be set to "On" (which is the default). The maximum number of persistent connection can be defined with the pgsql.max_persistent php.ini directive (defaults to -1 for no limit). The total number of connections can be set with the pgsql.max_links php.ini directive.

pg_close() will not close persistent links generated by pg_pconnect().

Список параметров

connection_string

The connection_string can be empty to use all default parameters, or it can contain one or more parameter settings separated by whitespace. Each parameter setting is in the form keyword = value. Spaces around the equal sign are optional. To write an empty value or a value containing spaces, surround it with single quotes, e.g., keyword = 'a value'. Single quotes and backslashes within the value must be escaped with a backslash, i.e., \' and \\.

The currently recognized parameter keywords are: host , hostaddr , port , dbname , user , password , connect_timeout , options , tty (ignored), sslmode , requiressl (deprecated in favor of sslmode ), and service . Which of these arguments exist depends on your PostgreSQL version.

connect_type

If PGSQL_CONNECT_FORCE_NEW is passed, then a new connection is created, even if the connection_string is identical to an existing connection.

Возвращаемые значения

PostgreSQL connection resource on success, FALSE on failure.

Примеры

Пример #1 Using pg_pconnect()

<?php
$dbconn = pg_pconnect("dbname=mary");
//connect to a database named "mary"

$dbconn2 = pg_pconnect("host=localhost port=5432 dbname=mary");
// connect to a database named "mary" on "localhost" at port "5432"

$dbconn3 = pg_pconnect("host=sheep port=5432 dbname=mary user=lamb password=foo");
//connect to a database named "mary" on the host "sheep" with a username and password

$conn_string = "host=sheep port=5432 dbname=test user=lamb password=bar";
$dbconn4 = pg_pconnect($conn_string);
//connect to a database named "test" on the host "sheep" with a username and password
?>

Смотрите также

  • pg_connect() - Open a PostgreSQL connection
  • Persistent Database Connections

pg_parameter_status
pg_ping
PostgreSQL Функции


Ping database connection

pg_pconnect
pg_port
PostgreSQL Функции
PHP Manual

pg_ping

(PHP 4 >= 4.3.0, PHP 5)

pg_ping — Ping database connection

Описание

bool pg_ping ([ resource $connection ] )

pg_ping() pings a database connection and tries to reconnect it if it is broken.

Список параметров

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 pg_ping() example

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "An error occured.\n";
  exit;
}

if (!pg_ping($conn))
  die("Connection is broken\n");
?>

Смотрите также

  • pg_connection_status() - Get connection status
  • pg_connection_reset() - Reset connection (reconnect)

pg_pconnect
pg_port
PostgreSQL Функции


Return the port number associated with the connection

pg_ping
pg_prepare
PostgreSQL Функции
PHP Manual

pg_port

(PHP 4, PHP 5)

pg_port — Return the port number associated with the connection

Описание

int pg_port ([ resource $connection ] )

pg_port() returns the port number that the given PostgreSQL connection resource is connected to.

Список параметров

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

Возвращаемые значения

An int containing the port number of the database server the connection is to, or FALSE on error.

Примеры

Пример #1 pg_port() example

<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");

if ($pgsql_conn) {
   print "Successfully connected to port: " . pg_port($pgsql_conn) . "<br/>\n";
} else {
   print pg_last_error($pgsql_conn);
   exit;
}
?>

pg_ping
pg_prepare
PostgreSQL Функции


Submits a request to create a prepared statement with the given parameters, and waits for completion.

pg_port
pg_put_line
PostgreSQL Функции
PHP Manual

pg_prepare

(PHP 5 >= 5.1.0)

pg_prepare — Submits a request to create a prepared statement with the given parameters, and waits for completion.

Описание

resource pg_prepare ([ resource $connection ], string $stmtname , string $query )

pg_prepare() creates a prepared statement for later execution with pg_execute() or pg_send_execute(). This feature allows commands that will be used repeatedly to be parsed and planned just once, rather than each time they are executed. pg_prepare() is supported only against PostgreSQL 7.4 or higher connections; it will fail when using earlier versions.

The function creates a prepared statement named stmtname from the query string, which must contain a single SQL command. stmtname may be "" to create an unnamed statement, in which case any pre-existing unnamed statement is automatically replaced; otherwise it is an error if the statement name is already defined in the current session. If any parameters are used, they are referred to in the query as $1, $2, etc.

Prepared statements for use with pg_prepare() can also be created by executing SQL PREPARE statements. (But pg_prepare() is more flexible since it does not require parameter types to be pre-specified.) Also, although there is no PHP function for deleting a prepared statement, the SQL DEALLOCATE statement can be used for that purpose.

Список параметров

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

stmtname

The name to give the prepared statement. Must be unique per-connection. If "" is specified, then an unnamed statement is created, overwriting any previously defined unnamed statement.

query

The parameterized SQL statement. Must contain only a single statement. (multiple statements separated by semi-colons are not allowed.) If any parameters are used, they are referred to as $1, $2, etc.

Возвращаемые значения

A query result resource on success, or FALSE on failure.

Примеры

Пример #1 Using pg_prepare()

<?php
// Connect to a database named "mary"
$dbconn = pg_connect("dbname=mary");

// Prepare a query for execution
$result = pg_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');

// Execute the prepared query.  Note that it is not necessary to escape
// the string "Joe's Widgets" in any way
$result = pg_execute($dbconn, "my_query", array("Joe's Widgets"));

// Execute the same prepared query, this time with a different parameter
$result = pg_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));

?>

Смотрите также

  • pg_execute() - Sends a request to execute a prepared statement with given parameters, and waits for the result.
  • pg_send_execute() - Sends a request to execute a prepared statement with given parameters, without waiting for the result(s).

pg_port
pg_put_line
PostgreSQL Функции


Send a NULL-terminated string to PostgreSQL backend

pg_prepare
pg_query_params
PostgreSQL Функции
PHP Manual

pg_put_line

(PHP 4 >= 4.0.3, PHP 5)

pg_put_line — Send a NULL-terminated string to PostgreSQL backend

Описание

bool pg_put_line ([ resource $connection ], string $data )

pg_put_line() sends a NULL-terminated string to the PostgreSQL backend server. This is needed in conjunction with PostgreSQL's COPY FROM command.

COPY is a high-speed data loading interface supported by PostgreSQL. Data is passed in without being parsed, and in a single transaction.

An alternative to using raw pg_put_line() commands is to use pg_copy_from(). This is a far simpler interface.

Замечание: The application must explicitly send the two characters "\." on the last line to indicate to the backend that it has finished sending its data, before issuing pg_end_copy().

Внимание

Use of the pg_put_line() causes most large object operations, including pg_lo_read() and pg_lo_tell(), to subsequently fail. You can use pg_copy_from() and pg_copy_to() instead.

Список параметров

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

data

A line of text to be sent directly to the PostgreSQL backend. A NULL terminator is added automatically.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 pg_put_line() example

<?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() - Sync with PostgreSQL backend

pg_prepare
pg_query_params
PostgreSQL Функции


Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text.

pg_put_line
pg_query
PostgreSQL Функции
PHP Manual

pg_query_params

(PHP 5 >= 5.1.0)

pg_query_params — Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text.

Описание

resource pg_query_params ([ resource $connection ], string $query , array $params )

Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text.

pg_query_params() is like pg_query(), but offers additional functionality: parameter values can be specified separately from the command string proper. pg_query_params() is supported only against PostgreSQL 7.4 or higher connections; it will fail when using earlier versions.

If parameters are used, they are referred to in the query string as $1, $2, etc. params specifies the actual values of the parameters. A NULL value in this array means the corresponding parameter is SQL NULL.

The primary advantage of pg_query_params() over pg_query() is that parameter values may be separated from the query string, thus avoiding the need for tedious and error-prone quoting and escaping. Unlike pg_query(), pg_query_params() allows at most one SQL command in the given string. (There can be semicolons in it, but not more than one nonempty command.)

Список параметров

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

query

The parameterized SQL statement. Must contain only a single statement. (multiple statements separated by semi-colons are not allowed.) If any parameters are used, they are referred to as $1, $2, etc.

params

An array of parameter values to substitute for the $1, $2, etc. placeholders in the original prepared query string. The number of elements in the array must match the number of placeholders.

Возвращаемые значения

A query result resource on success, or FALSE on failure.

Примеры

Пример #1 Using pg_query_params()

<?php
// Connect to a database named "mary"
$dbconn = pg_connect("dbname=mary");

// Find all shops named Joe's Widgets.  Note that it is not necessary to
// escape "Joe's Widgets"
$result = pg_query_params($dbconn, 'SELECT * FROM shops WHERE name = $1', array("Joe's Widgets"));

// Compare against just using pg_query
$str = pg_escape_string("Joe's Widgets");
$result = pg_query($dbconn, "SELECT * FROM shops WHERE name = '{$str}'");

?>

Смотрите также

  • pg_query() - Execute a query

pg_put_line
pg_query
PostgreSQL Функции


Execute a query

pg_query_params
pg_result_error_field
PostgreSQL Функции
PHP Manual

pg_query

(PHP 4 >= 4.2.0, PHP 5)

pg_query — Execute a query

Описание

resource pg_query ([ resource $connection ], string $query )

pg_query() executes the query on the specified database connection .

If an error occurs, and FALSE is returned, details of the error can be retrieved using the pg_last_error() function if the connection is valid.

Замечание: Although connection can be omitted, it is not recommended, since it can be the cause of hard to find bugs in scripts.

Замечание: This function used to be called pg_exec(). pg_exec() is still available for compatibility reasons, but users are encouraged to use the newer name.

Список параметров

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

query

The SQL statement or statements to be executed. When multiple statements are passed to the function, they are automatically executed as one transaction, unless there are explicit BEGIN/COMMIT commands included in the query string. However, using multiple transactions in one function call is not recommended.

Возвращаемые значения

A query result resource on success, or FALSE on failure.

Примеры

Пример #1 pg_query() example

<?php

$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "An error occured.\n";
  exit;
}

$result = pg_query($conn, "SELECT author, email FROM authors");
if (!$result) {
  echo "An error occured.\n";
  exit;
}

while ($row = pg_fetch_row($result)) {
  echo "Author: $row[0]  E-mail: $row[1]";
  echo "<br />\n";
}

?>

Пример #2 Using pg_query() with multiple statements

<?php

$conn = pg_pconnect("dbname=publisher");

// these statements will be executed as one transaction

$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() - Open a PostgreSQL connection
  • pg_pconnect() - Open a persistent PostgreSQL connection
  • pg_fetch_array() - Fetch a row as an array
  • pg_fetch_object() - Fetch a row as an object
  • pg_num_rows() - Returns the number of rows in a result
  • pg_affected_rows() - Returns number of affected records (tuples)

pg_query_params
pg_result_error_field
PostgreSQL Функции


Returns an individual field of an error report.

pg_query
pg_result_error
PostgreSQL Функции
PHP Manual

pg_result_error_field

(PHP 5 >= 5.1.0)

pg_result_error_field — Returns an individual field of an error report.

Описание

string pg_result_error_field ( resource $result , int $fieldcode )

pg_result_error_field() returns one of the detailed error message fields associated with result resource. It is only available against a PostgreSQL 7.4 or above server. The error field is specified by the fieldcode .

Because pg_query() and pg_query_params() return FALSE if the query fails, you must use pg_send_query() and pg_get_result() to get the result handle.

If you need to get additional error information from failed pg_query() queries, use pg_set_error_verbosity() and pg_last_error() and then parse the result.

Список параметров

result

A PostgreSQL query result resource from a previously executed statement.

fieldcode

Possible fieldcode values are: 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+ only), PGSQL_DIAG_INTERNAL_QUERY (PostgreSQL 8.0+ only), PGSQL_DIAG_CONTEXT, PGSQL_DIAG_SOURCE_FILE, PGSQL_DIAG_SOURCE_LINE or PGSQL_DIAG_SOURCE_FUNCTION.

Возвращаемые значения

A string containing the contents of the error field, NULL if the field does not exist or FALSE on failure.

Примеры

Пример #1 pg_result_error_field() example

<?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() - Get error message associated with result

pg_query
pg_result_error
PostgreSQL Функции


Get error message associated with result

pg_result_error_field
pg_result_seek
PostgreSQL Функции
PHP Manual

pg_result_error

(PHP 4 >= 4.2.0, PHP 5)

pg_result_error — Get error message associated with result

Описание

string pg_result_error ( resource $result )

pg_result_error() returns any error message associated with the result resource. Therefore, the user has a better chance of getting the correct error message than with pg_last_error().

The function pg_result_error_field() can give much greater detail on result errors than pg_result_error().

Because pg_query() returns FALSE if the query fails, you must use pg_send_query() and pg_get_result() to get the result handle.

Список параметров

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

Возвращаемые значения

Returns a string if there is an error associated with the result parameter, FALSE otherwise.

Примеры

Пример #1 pg_result_error() example

<?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() - Returns an individual field of an error report.
  • pg_query() - Execute a query
  • pg_send_query() - Sends asynchronous query
  • pg_get_result() - Get asynchronous query result
  • pg_last_error() - Get the last error message string of a connection
  • pg_last_notice() - Returns the last notice message from PostgreSQL server

pg_result_error_field
pg_result_seek
PostgreSQL Функции


Set internal row offset in result resource

pg_result_error
pg_result_status
PostgreSQL Функции
PHP Manual

pg_result_seek

(PHP 4 >= 4.3.0, PHP 5)

pg_result_seek — Set internal row offset in result resource

Описание

bool pg_result_seek ( resource $result , int $offset )

pg_result_seek() sets the internal row offset in a result resource.

Список параметров

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

offset

Row to move the internal offset to in the result resource. Rows are numbered starting from zero.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 pg_result_seek() example

<?php

// Connect to the database
$conn = pg_pconnect("dbname=publisher");

// Execute a query
$result = pg_query($conn, "SELECT author, email FROM authors");

// Seek to the 3rd row (assuming there are 3 rows)
pg_result_seek($result, 2);

// Fetch the 3rd row
$row = pg_fetch_row($result);

?>

Смотрите также

  • pg_fetch_row() - Get a row as an enumerated array
  • pg_fetch_assoc() - Fetch a row as an associative array
  • pg_fetch_array() - Fetch a row as an array
  • pg_fetch_object() - Fetch a row as an object
  • pg_fetch_result() - Returns values from a result resource

pg_result_error
pg_result_status
PostgreSQL Функции


Get status of query result

pg_result_seek
pg_select
PostgreSQL Функции
PHP Manual

pg_result_status

(PHP 4 >= 4.2.0, PHP 5)

pg_result_status — Get status of query result

Описание

mixed pg_result_status ( resource $result [, int $type ] )

pg_result_status() returns the status of a result resource, or the PostgreSQL command completion tag associated with the result

Список параметров

result

PostgreSQL query result resource, returned by pg_query(), pg_query_params() or pg_execute() (among others).

type

Either PGSQL_STATUS_LONG to return the numeric status of the result , or PGSQL_STATUS_STRING to return the command tag of the result . If not specified, PGSQL_STATUS_LONG is the default.

Возвращаемые значения

Possible return values are PGSQL_EMPTY_QUERY, PGSQL_COMMAND_OK, PGSQL_TUPLES_OK, PGSQL_COPY_OUT, PGSQL_COPY_IN, PGSQL_BAD_RESPONSE, PGSQL_NONFATAL_ERROR and PGSQL_FATAL_ERROR if PGSQL_STATUS_LONG is specified. Otherwise, a string containing the PostgreSQL command tag is returned.

Список изменений

Версия | Описание
4.3.0 | The type parameter was added.

Примеры

Пример #1 pg_result_status() example

<?php

// Connect to the database
$conn = pg_pconnect("dbname=publisher");

// Execute a COPY
$result = pg_query($conn, "COPY authors FROM STDIN;");

// Get the result status
$status = pg_result_status($result);

// Determine status
if ($status == PGSQL_COPY_IN)
   echo "Copy began.";
else
   echo "Copy failed.";

?>

Результат выполнения данного примера:

Copy began.

Смотрите также

  • pg_connection_status() - Get connection status

pg_result_seek
pg_select
PostgreSQL Функции


Select records

pg_result_status
pg_send_execute
PostgreSQL Функции
PHP Manual

pg_select

(PHP 4 >= 4.3.0, PHP 5)

pg_select — Select records

Описание

mixed pg_select ( resource $connection , string $table_name , array $assoc_array [, int $options= PGSQL_DML_EXEC ] )

pg_select() selects records specified by assoc_array which has field=>value. For a successful query, it returns an array containing all records and fields that match the condition specified by assoc_array.

If options is specified, pg_convert() is applied to assoc_array with the specified flags.

Внимание

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

Список параметров

connection

PostgreSQL database connection resource.

table_name

Name of the table from which to select rows.

assoc_array

An array whose keys are field names in the table table_name , and whose values are the conditions that a row must meet to be retrieved.

options

Any number of PGSQL_CONV_FORCE_NULL, PGSQL_DML_NO_CONV, PGSQL_DML_EXEC, PGSQL_DML_ASYNC or PGSQL_DML_STRING combined. If PGSQL_DML_STRING is part of the options then query string is returned.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Returns string if PGSQL_DML_STRING is passed via options .

Примеры

Пример #1 pg_select() example

<?php
  $db = pg_connect('dbname=foo');
  // This is safe, since $_POST is converted automatically
  $rec = pg_select($db, 'post_log', $_POST);
  if ($rec) {
      echo "Records selected\n";
      var_dump($rec);
  } else {
      echo "User must have sent wrong inputs\n";
  }
?>

Смотрите также

  • pg_convert() - Convert associative array values into suitable for SQL statement

pg_result_status
pg_send_execute
PostgreSQL Функции


Sends a request to execute a prepared statement with given parameters, without waiting for the result(s).

pg_select
pg_send_prepare
PostgreSQL Функции
PHP Manual

pg_send_execute

(PHP 5 >= 5.1.0)

pg_send_execute — Sends a request to execute a prepared statement with given parameters, without waiting for the result(s).

Описание

bool pg_send_execute ( resource $connection , string $stmtname , array $params )

Sends a request to execute a prepared statement with given parameters, without waiting for the result(s).

This is similar to pg_send_query_params(), but the command to be executed is specified by naming a previously-prepared statement, instead of giving a query string. The function's parameters are handled identically to pg_execute(). Like pg_execute(), it will not work on pre-7.4 versions of PostgreSQL.

Список параметров

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

stmtname

The name of the prepared statement to execute. if "" is specified, then the unnamed statement is executed. The name must have been previously prepared using pg_prepare(), pg_send_prepare() or a PREPARE SQL command.

params

An array of parameter values to substitute for the $1, $2, etc. placeholders in the original prepared query string. The number of elements in the array must match the number of placeholders.

Возвращаемые значения

Returns TRUE on success, FALSE on failure. Use pg_get_result() to determine the query result.

Примеры

Пример #1 Using pg_send_execute()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  // Prepare a query for execution
  if (!pg_connection_busy($dbconn)) {
    pg_send_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');
    $res1 = pg_get_result($dbconn);
  }

  // Execute the prepared query.  Note that it is not necessary to escape
  // the string "Joe's Widgets" in any way
  if (!pg_connection_busy($dbconn)) {
    pg_send_execute($dbconn, "my_query", array("Joe's Widgets"));
    $res2 = pg_get_result($dbconn);
  }

  // Execute the same prepared query, this time with a different parameter
  if (!pg_connection_busy($dbconn)) {
    pg_send_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));
    $res3 = pg_get_result($dbconn);
  }

?>

Смотрите также

  • pg_prepare() - Submits a request to create a prepared statement with the given parameters, and waits for completion.
  • pg_send_prepare() - Sends a request to create a prepared statement with the given parameters, without waiting for completion.
  • pg_execute() - Sends a request to execute a prepared statement with given parameters, and waits for the result.

pg_select
pg_send_prepare
PostgreSQL Функции


Sends a request to create a prepared statement with the given parameters, without waiting for completion.

pg_send_execute
pg_send_query_params
PostgreSQL Функции
PHP Manual

pg_send_prepare

(PHP 5 >= 5.1.0)

pg_send_prepare — Sends a request to create a prepared statement with the given parameters, without waiting for completion.

Описание

bool pg_send_prepare ( resource $connection , string $stmtname , string $query )

Sends a request to create a prepared statement with the given parameters, without waiting for completion.

This is an asynchronous version of pg_prepare(): it returns TRUE if it was able to dispatch the request, and FALSE if not. After a successful call, call pg_get_result() to determine whether the server successfully created the prepared statement. The function's parameters are handled identically to pg_prepare(). Like pg_prepare(), it will not work on pre-7.4 versions of PostgreSQL.

Список параметров

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

stmtname

The name to give the prepared statement. Must be unique per-connection. If "" is specified, then an unnamed statement is created, overwriting any previously defined unnamed statement.

query

The parameterized SQL statement. Must contain only a single statement. (multiple statements separated by semi-colons are not allowed.) If any parameters are used, they are referred to as $1, $2, etc.

Возвращаемые значения

Returns TRUE on success, FALSE on failure. Use pg_get_result() to determine the query result.

Примеры

Пример #1 Using pg_send_prepare()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  // Prepare a query for execution
  if (!pg_connection_busy($dbconn)) {
    pg_send_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');
    $res1 = pg_get_result($dbconn);
  }

  // Execute the prepared query.  Note that it is not necessary to escape
  // the string "Joe's Widgets" in any way
  if (!pg_connection_busy($dbconn)) {
    pg_send_execute($dbconn, "my_query", array("Joe's Widgets"));
    $res2 = pg_get_result($dbconn);
  }

  // Execute the same prepared query, this time with a different parameter
  if (!pg_connection_busy($dbconn)) {
    pg_send_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));
    $res3 = pg_get_result($dbconn);
  }

?>

Смотрите также

  • pg_connect() - Open a PostgreSQL connection
  • pg_pconnect() - Open a persistent PostgreSQL connection
  • pg_execute() - Sends a request to execute a prepared statement with given parameters, and waits for the result.
  • pg_send_execute() - Sends a request to execute a prepared statement with given parameters, without waiting for the result(s).
  • pg_send_query_params() - Submits a command and separate parameters to the server without waiting for the result(s).

pg_send_execute
pg_send_query_params
PostgreSQL Функции


Submits a command and separate parameters to the server without waiting for the result(s).

pg_send_prepare
pg_send_query
PostgreSQL Функции
PHP Manual

pg_send_query_params

(PHP 5 >= 5.1.0)

pg_send_query_params — Submits a command and separate parameters to the server without waiting for the result(s).

Описание

bool pg_send_query_params ( resource $connection , string $query , array $params )

Submits a command and separate parameters to the server without waiting for the result(s).

This is equivalent to pg_send_query() except that query parameters can be specified separately from the query string. The function's parameters are handled identically to pg_query_params(). Like pg_query_params(), it will not work on pre-7.4 PostgreSQL connections, and it allows only one command in the query string.

Список параметров

connection

PostgreSQL database connection resource.

query

The parameterized SQL statement. Must contain only a single statement. (multiple statements separated by semi-colons are not allowed.) If any parameters are used, they are referred to as $1, $2, etc.

params

An array of parameter values to substitute for the $1, $2, etc. placeholders in the original prepared query string. The number of elements in the array must match the number of placeholders.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Use pg_get_result() to determine the query result.

Примеры

Пример #1 Using pg_send_query_params()

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  // Using parameters.  Note that it is not necessary to quote or escape
  // the parameter.
  pg_send_query_params($dbconn, 'select count(*) from authors where city = $1', array('Perth'));

  // Compare against basic pg_send_query usage
  $str = pg_escape_string('Perth');
  pg_send_query($dbconn, "select count(*) from authors where city = '${str}'");
?>

Смотрите также

  • pg_send_query() - Sends asynchronous query

pg_send_prepare
pg_send_query
PostgreSQL Функции


Sends asynchronous query

pg_send_query_params
pg_set_client_encoding
PostgreSQL Функции
PHP Manual

pg_send_query

(PHP 4 >= 4.2.0, PHP 5)

pg_send_query — Sends asynchronous query

Описание

bool pg_send_query ( resource $connection , string $query )

pg_send_query() sends a query or queries asynchronously to the connection . Unlike pg_query(), it can send multiple queries at once to PostgreSQL and get the results one by one using pg_get_result().

Script execution is not blocked while the queries are executing. Use pg_connection_busy() to check if the connection is busy (i.e. the query is executing). Queries may be cancelled using pg_cancel_query().

Although the user can send multiple queries at once, multiple queries cannot be sent over a busy connection. If a query is sent while the connection is busy, it waits until the last query is finished and discards all its results.

Список параметров

connection

PostgreSQL database connection resource.

query

The SQL statement or statements to be executed.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Use pg_get_result() to determine the query result.

Примеры

Пример #1 pg_send_query() example

<?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 "First call to pg_get_result(): $res1\n";
  $rows1 = pg_num_rows($res1);
  echo "$res1 has $rows1 records\n\n";

  $res2 = pg_get_result($dbconn);
  echo "Second call to pg_get_result(): $res2\n";
  $rows2 = pg_num_rows($res2);
  echo "$res2 has $rows2 records\n";
?>

Результат выполнения данного примера:

First call to pg_get_result(): Resource id #3
Resource id #3 has 3 records

Second call to pg_get_result(): Resource id #4
Resource id #4 has 1 records

Смотрите также

  • pg_query() - Execute a query
  • pg_cancel_query() - Cancel an asynchronous query
  • pg_get_result() - Get asynchronous query result
  • pg_connection_busy() - Get connection is busy or not

pg_send_query_params
pg_set_client_encoding
PostgreSQL Функции


Set the client encoding

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 — Set the client encoding

Описание

int pg_set_client_encoding ([ resource $connection ], string $encoding )

pg_set_client_encoding() sets the client encoding and returns 0 if success or -1 if error.

PostgreSQL will automatically convert data in the backend database encoding into the frontend encoding.

Замечание: The function used to be called pg_setclientencoding().

Список параметров

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

encoding

The required client encoding. One of SQL_ASCII, EUC_JP, EUC_CN, EUC_KR, EUC_TW, UNICODE, MULE_INTERNAL, LATINX (X=1...9), KOI8, WIN, ALT, SJIS, BIG5 or WIN1250.

The exact list of available encodings depends on your PostgreSQL version, so check your PostgreSQL manual for a more specific list.

Возвращаемые значения

Returns 0 on success or -1 on error.

Примеры

Пример #1 pg_set_client_encoding() example

<?php

$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "An error occured.\n";
  exit;
}

// Set the client encoding to UNICODE.  Data will be automatically
// converted from the backend encoding to the frontend.
pg_set_client_encoding($conn, "UNICODE");

$result = pg_query($conn, "SELECT author, email FROM authors");
if (!$result) {
  echo "An error occured.\n";
  exit;
}

// Write out UTF-8 data
while ($row = pg_fetch_row($result)) {
  echo "Author: $row[0]  E-mail: $row[1]";
  echo "<br />\n";
}

?>

Смотрите также

  • pg_client_encoding() - Gets the client encoding

pg_send_query
pg_set_error_verbosity
PostgreSQL Функции


Determines the verbosity of messages returned by pg_last_error and 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 — Determines the verbosity of messages returned by pg_last_error() and pg_result_error().

Описание

int pg_set_error_verbosity ([ resource $connection ], int $verbosity )

Determines the verbosity of messages returned by pg_last_error() and pg_result_error().

pg_set_error_verbosity() sets the verbosity mode, returning the connection's previous setting. In PGSQL_ERRORS_TERSE mode, returned messages include severity, primary text, and position only; this will normally fit on a single line. The default mode (PGSQL_ERRORS_DEFAULT) produces messages that include the above plus any detail, hint, or context fields (these may span multiple lines). The PGSQL_ERRORS_VERBOSE mode includes all available fields. Changing the verbosity does not affect the messages available from already-existing result objects, only subsequently-created ones.

Список параметров

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

verbosity

The required verbosity: PGSQL_ERRORS_TERSE, PGSQL_ERRORS_DEFAULT or PGSQL_ERRORS_VERBOSE.

Возвращаемые значения

The previous verbosity level: PGSQL_ERRORS_TERSE, PGSQL_ERRORS_DEFAULT or PGSQL_ERRORS_VERBOSE.

Примеры

Пример #1 pg_set_error_verbosity() example

<?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() - Get the last error message string of a connection
  • pg_result_error() - Get error message associated with result

pg_set_client_encoding
pg_trace
PostgreSQL Функции


Enable tracing a PostgreSQL connection

pg_set_error_verbosity
pg_transaction_status
PostgreSQL Функции
PHP Manual

pg_trace

(PHP 4 >= 4.0.1, PHP 5)

pg_trace — Enable tracing a PostgreSQL connection

Описание

bool pg_trace ( string $pathname [, string $mode= "w" [, resource $connection ]] )

pg_trace() enables tracing of the PostgreSQL frontend/backend communication to a file. To fully understand the results, one needs to be familiar with the internals of PostgreSQL communication protocol.

For those who are not, it can still be useful for tracing errors in queries sent to the server, you could do for example grep '^To backend' trace.log and see what queries actually were sent to the PostgreSQL server. For more information, refer to the » PostgreSQL Documentation.

Список параметров

pathname

The full path and file name of the file in which to write the trace log. Same as in fopen().

pathname

An optional file access mode, same as for fopen(). Defaults to "w".

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 pg_trace() example

<?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);
   // Now /tmp/trace.log will contain backend communication
} else {
   print pg_last_error($pgsql_conn);
   exit;
}
?>

Смотрите также

  • fopen() - Открывает файл или URL
  • pg_untrace() - Disable tracing of a PostgreSQL connection

pg_set_error_verbosity
pg_transaction_status
PostgreSQL Функции


Returns the current in-transaction status of the server.

pg_trace
pg_tty
PostgreSQL Функции
PHP Manual

pg_transaction_status

(PHP 5 >= 5.1.0)

pg_transaction_status — Returns the current in-transaction status of the server.

Описание

int pg_transaction_status ( resource $connection )

Returns the current in-transaction status of the server.

Предостережение

pg_transaction_status() will give incorrect results when using a PostgreSQL 7.3 server that has the parameter autocommit set to off. The server-side autocommit feature has been deprecated and does not exist in later server versions.

Список параметров

connection

PostgreSQL database connection resource.

Возвращаемые значения

The status can be PGSQL_TRANSACTION_IDLE (currently idle), PGSQL_TRANSACTION_ACTIVE (a command is in progress), PGSQL_TRANSACTION_INTRANS (idle, in a valid transaction block), or PGSQL_TRANSACTION_INERROR (idle, in a failed transaction block). PGSQL_TRANSACTION_UNKNOWN is reported if the connection is bad. PGSQL_TRANSACTION_ACTIVE is reported only when a query has been sent to the server and not yet completed.

Примеры

Пример #1 pg_transaction_status() example

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");
  $stat = pg_transaction_status($dbconn);
  if ($stat === PGSQL_TRANSACTION_UNKNOWN) {
      echo 'Connection is bad';
  } else if ($stat === PGSQL_TRANSACTION_IDLE) {
      echo 'Connection is currently idle';
  } else {
      echo 'Connection is in a transaction state';
  }
?>

pg_trace
pg_tty
PostgreSQL Функции


Return the TTY name associated with the connection

pg_transaction_status
pg_unescape_bytea
PostgreSQL Функции
PHP Manual

pg_tty

(PHP 4, PHP 5)

pg_tty — Return the TTY name associated with the connection

Описание

string pg_tty ([ resource $connection ] )

pg_tty() returns the TTY name that server side debugging output is sent to on the given PostgreSQL connection resource.

Замечание: pg_tty() is obsolete, since the server no longer pays attention to the TTY setting, but the function remains for backwards compatibility.

Список параметров

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

Возвращаемые значения

A string containing the debug TTY of the connection , or FALSE on error.

Примеры

Пример #1 pg_tty() example

<?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 Функции


Unescape binary for bytea type

pg_tty
pg_untrace
PostgreSQL Функции
PHP Manual

pg_unescape_bytea

(PHP 4 >= 4.3.0, PHP 5)

pg_unescape_bytea — Unescape binary for bytea type

Описание

string pg_unescape_bytea ( string $data )

pg_unescape_bytea() unescapes PostgreSQL bytea data values. It returns the unescaped string, possibly containing binary data.

Замечание: When you SELECT a bytea type, PostgreSQL returns octal byte values prefixed with '\' (e.g. \032). Users are supposed to convert back to binary format manually.
This function requires PostgreSQL 7.2 or later. With PostgreSQL 7.2.0 and 7.2.1, bytea values must be cast when you enable multi-byte support. i.e. INSERT INTO test_table (image) VALUES ('$image_escaped'::bytea); PostgreSQL 7.2.2 or later does not need a cast. The exception is when the client and backend character encoding does not match, and there may be multi-byte stream error. User must then cast to bytea to avoid this error.

Список параметров

data

A string containing PostgreSQL bytea data to be converted into a PHP binary string.

Возвращаемые значения

A string containing the unescaped data.

Примеры

Пример #1 pg_unescape_bytea() example

<?php
  // Connect to the database
  $dbconn = pg_connect('dbname=foo');

  // Get the bytea data
  $res = pg_query("SELECT data FROM gallery WHERE name='Pine trees'");
  $raw = pg_fetch_result($res, 'data');

  // Convert to binary and send to the browser
  header('Content-type: image/jpeg');
  echo pg_unescape_bytea($raw);
?>

Смотрите также

  • pg_escape_bytea() - Escape a string for insertion into a bytea field
  • pg_escape_string() - Escape a string for insertion into a text field

pg_tty
pg_untrace
PostgreSQL Функции


Disable tracing of a PostgreSQL connection

pg_unescape_bytea
pg_update
PostgreSQL Функции
PHP Manual

pg_untrace

(PHP 4 >= 4.0.1, PHP 5)

pg_untrace — Disable tracing of a PostgreSQL connection

Описание

bool pg_untrace ([ resource $connection ] )

Stop tracing started by pg_trace().

Список параметров

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

Возвращаемые значения

Always returns TRUE.

Примеры

Пример #1 pg_untrace() example

<?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);
   // Now tracing of backend communication is disabled
} else {
   print pg_last_error($pgsql_conn);
   exit;
}
?>

Смотрите также

  • pg_trace() - Enable tracing a PostgreSQL connection

pg_unescape_bytea
pg_update
PostgreSQL Функции


Update table

pg_untrace
pg_version
PostgreSQL Функции
PHP Manual

pg_update

(PHP 4 >= 4.3.0, PHP 5)

pg_update — Update table

Описание

mixed pg_update ( resource $connection , string $table_name , array $data , array $condition [, int $options= PGSQL_DML_EXEC ] )

pg_update() updates records that matches condition with data. If options is specified, pg_convert() is applied to data with specified options.

Внимание

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

Список параметров

connection

PostgreSQL database connection resource.

table_name

Name of the table into which to update rows.

data

An array whose keys are field names in the table table_name , and whose values are what matched rows are to be updated to.

condition

An array whose keys are field names in the table table_name , and whose values are the conditions that a row must meet to be updated.

options

Any number of PGSQL_CONV_OPTS, PGSQL_DML_NO_CONV, PGSQL_DML_EXEC or PGSQL_DML_STRING combined. If PGSQL_DML_STRING is part of the options then query string is returned.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Returns string if PGSQL_DML_STRING is passed via options .

Примеры

Пример #1 pg_update() example

<?php
  $db = pg_connect('dbname=foo');
  $data = array('field1'=>'AA', 'field2'=>'BB');

  // This is safe, since $_POST is converted automatically
  $res = pg_update($db, 'post_log', $_POST, $data);
  if ($res) {
      echo "Data is updated: $res\n";
  } else {
      echo "User must have sent wrong inputs\n";
  }
?>

Смотрите также

  • pg_convert() - Convert associative array values into suitable for SQL statement

pg_untrace
pg_version
PostgreSQL Функции


Returns an array with client, protocol and server version (when available)

pg_update
SQLite
PostgreSQL Функции
PHP Manual

pg_version

(PHP 5)

pg_version — Returns an array with client, protocol and server version (when available)

Описание

array pg_version ([ resource $connection ] )

pg_version() returns an array with the client, protocol and server version. Protocol and server versions are only available if PHP was compiled with PostgreSQL 7.4 or later.

For more detailed server information, use pg_parameter_status().

Список параметров

connection

PostgreSQL database connection resource. When connection is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

Возвращаемые значения

Returns an array with client, protocol and server_version keys and values (if available). Returns FALSE on error or invalid connection.

Примеры

Пример #1 pg_version() example

<?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() - Looks up a current parameter setting of the server.

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 — Регистрирует функцию для использования в 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 — Returns the current row index
    • 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 — Выполняет SQL зпрос и возвращает массив со значениями одного поля или первую запись
    • sqlite_udf_decode_binary — Декодирует бинарные данные, переданные в пользовательскую функцию
    • sqlite_udf_encode_binary — Кодирует бинарные данные, возвращаемые пользовательской функцией
    • sqlite_unbuffered_query — Выполняет запрос без буферизации результатов
    • sqlite_valid — Returns whether more rows are available
pg_version
Введение
Vendor Specific Database Extensions


Введение

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

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

Замечание: Более подробную информацию можно получить на сайте SQLite (» http://sqlite.org/).

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


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
SQLite


Требования

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

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


Установка

Прочтите файл INSTALL, поставляемый с модулем. Или просто воспользуйтесь командой установки PEAR: "pear install sqlite". Библиотека SQLite включена в поставку PHP, устанавливать ее дополнительно нет необходимости.

Пользователи Windows могут загрузить скомпилированную версию модуля SQLite здесь: (» php_sqlite.dll).

В PHP 5 модуль SQLite устанавливается по умолчанию. Однако, начиная с версии PHP 5.1.0 вам следует самостоятельно подключать модуль в php.ini потому, что начиная с этой версии он поставляется в виде разделяемой библиотеки. Более того, т.к. модуль SQLite зависит от модуля PDO, он также должен быть включен. Чтобы включить оба модуля, добавьте следующие строки в php.ini:

php_extension=php_pdo.dll
php_extension=php_sqlite.dll

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

SQLite Опции настройки
Имя | По умолчанию | Меняемо | Changelog
sqlite.assoc_case | "0" | PHP_INI_ALL | Available since PHP 5.0.0.

Для подробного описания констант PHP_INI_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

sqlite.assoc_case int

Whether to use mixed case (0), upper case (1) or lower case (2) hash indexes.

This option is primarily useful when you need compatibility with other database systems, where the names of the columns are always returned as uppercase or lowercase, regardless of the case of the actual field names in the database schema.

The SQLite library returns the column names in their natural case (that matches the case you used in your schema). When sqlite.assoc_case is set to 0 the natural case will be preserved. When it is set to 1 or 2, PHP will apply case folding on the hash keys to upper- or lower-case the keys, respectively.

Use of this option incurs a slight performance penalty, but is MUCH faster than performing the case folding yourself using PHP script.

Установка
Типы ресурсов
Установка и настройка


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

Модуль SQLite определяет два типа ресурсов: соединение с базой данных и результат запроса.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


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

Функции sqlite_fetch_array() и sqlite_current() могут принимать аргумент, задающий вид возвращаемого массива. В качестве значения этого аргумента используется одна из следующих констант:

Константы выборки SQLite
Константа | Значение
SQLITE_ASSOC | Индексами массива являются имена полей.
SQLITE_BOTH | Каждому полю соответствуют два элемента массива: с числовым индексом, являющимся порядковым номером поля, начиная с 0, и строковым индексом - именем поля.
SQLITE_NUM | Индексами массива являются порядковые номера полей, начиная с 0.

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


SQLite
PHP Manual

SQLite

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

SQLiteDatabase

Represents an opened SQLite database.

Конструктор

  • __construct - construct a new SQLiteDatabase object

Методы

  • query - Execute a query

  • queryExec - Execute a result-less query

  • arrayQuery - Execute a query and return the result as an array

  • singleQuery - Execute a query and return either an array for one single column or the value of the first row

  • unbufferedQuery - Execute an unbuffered query

  • lastInsertRowid - Returns the rowid of the most recently inserted row

  • changes - Returns the number of rows changed by the most recent statement

  • createAggregate - Register an aggregating UDF for use in SQL statements

  • createFunction - Register a UDF for use in SQL statements

  • busyTimeout - Sets or disables busy timeout duration

  • lastError - Returns the last error code of the most recently encountered error

  • fetchColumnTypes - Return an array of column types from a particular table

SQLiteResult

Represents a buffered SQLite result set.

Методы

  • fetch - Fetches the next row from the result set as an array

  • fetchObject - Fetches the next row from the result set as an object

  • fetchSingle - Fetches the first column from the result set as a string

  • fetchAll - Fetches all rows from the result set as an array of arrays

  • column - Fetches a column from the current row of the result set

  • numFields - Returns the number of fields in the result set

  • fieldName - Returns the name of a particular field in the result set

  • current - Fetches the current row from the result set as an array

  • key - Return the current row index

  • next - Seek to the next row number

  • valid - Returns whether more rows are available

  • rewind - Seek to the first row number of the result set

  • prev - Seek to the previous row number of the result set

  • hasPrev - Returns whether or not a previous row is available

  • numRows - Returns the number of rows in the result set

  • seek - Seek to a particular row number

SQLiteUnbuffered

Represents an unbuffered SQLite result set. Unbuffered results sets are sequential, forward-seeking only.

Методы

  • fetch - Fetches the next row from the result set as an array

  • fetchObject - Fetches the next row from the result set as an object

  • fetchSingle - Fetches the first column from the result set as a string

  • fetchAll - Fetches all rows from the result set as an array of arrays

  • column - Fetches a column from the current row of the result set

  • numFields - Returns the number of fields in the result set

  • fieldName - Returns the name of a particular field in the result set

  • current - Fetches the current row from the result set as an array

  • next - Seek to the next row number

  • valid - Returns whether more rows are available

Содержание

  • sqlite_array_query — Выполняет запрос к базе данных и возвращает результат в виде массива
  • sqlite_busy_timeout — Устанавливает время ожидания
  • sqlite_changes — Возвращает количество записей, которые были изменены последним SQL запросом
  • sqlite_close — Закрывает базу данных SQLite
  • sqlite_column — Выбирает одно поле из текущей записи результата запроса
  • sqlite_create_aggregate — Регистрирует агрегатную функцию для использования в SQL запросах
  • sqlite_create_function — Регистрирует функцию для использования в 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 — Returns the current row index
  • 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 — Выполняет SQL зпрос и возвращает массив со значениями одного поля или первую запись
  • sqlite_udf_decode_binary — Декодирует бинарные данные, переданные в пользовательскую функцию
  • sqlite_udf_encode_binary — Кодирует бинарные данные, возвращаемые пользовательской функцией
  • sqlite_unbuffered_query — Выполняет запрос без буферизации результатов
  • sqlite_valid — Returns whether more rows are available
Предопределенные константы
sqlite_array_query
SQLite
PHP Manual


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

SQLite
sqlite_busy_timeout
SQLite
PHP Manual

sqlite_array_query

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_array_query — Выполняет запрос к базе данных и возвращает результат в виде массива

Описание

array sqlite_array_query ( resource $dbhandle , string $query [, int $result_type [, bool $decode_binary ]] )
array sqlite_array_query ( string $query , resource $dbhandle [, int $result_type [, bool $decode_binary ]] )

Использование sqlite_array_query() идентично
использованию sqlite_query() с последующим вызовом
sqlite_fetch_array() для каждой записи результата
запроса с сохранением записей в массиве, как показано в приведенном ниже
примере. sqlite_array_query() выполняется значительно
быстрее, чем такой скрипт.

Пример #1 Самостоятельная реализация sqlite_array_query()

<?php
$q = sqlite_query($dbhandle, "SELECT * from foo LIMIT 100");
$rows = array();
while ($r = sqlite_fetch_array($q)) {
    $rows[] = $r;
}
?>
Подсказка

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

Смотрите также

sqlite_query(),
sqlite_fetch_array() и
sqlite_fetch_string()

SQLite
sqlite_busy_timeout
SQLite


Устанавливает время ожидания

sqlite_array_query
sqlite_changes
SQLite
PHP Manual

sqlite_busy_timeout

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_busy_timeout — Устанавливает время ожидания

Описание

void sqlite_busy_timeout ( resource $dbhandle , int $milliseconds )

Устанавливает максимальное время, в течение которого sqlite ожидает готовности базы данных, заданной аргументом dbhandle , в milliseconds миллисекунд. Если milliseconds равен 0, то в случае, когда файл базы данных заблокирован другим процессом, большинство функций sqlite будут незамедлительно возвращать значение SQLITE_BUSY.

При открытии базы данных,PHP устанавливает время ожидания в 60 секунд.

Замечание: Обратите внимание, что время ожидания задается не в секундах, а в миллисекундах.

Смотрите также

sqlite_open()

sqlite_array_query
sqlite_changes
SQLite


Возвращает количество записей, которые были изменены последним SQL запросом

sqlite_busy_timeout
sqlite_close
SQLite
PHP Manual

sqlite_changes

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_changes — Возвращает количество записей, которые были изменены последним SQL запросом

Описание

int sqlite_changes ( resource $dbhandle )

Возвращает количество записей, которые были изменены последним SQL запросом к базе данных dbhandle .

Смотрите также

sqlite_num_rows()

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 . Если соединение с базой данных было постоянным, также удаляет это соединение из списка постоянных.

Смотрите также

sqlite_open() и sqlite_popen()

sqlite_changes
sqlite_column
SQLite


Выбирает одно поле из текущей записи результата запроса

sqlite_close
sqlite_create_aggregate
SQLite
PHP Manual

sqlite_column

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_column — Выбирает одно поле из текущей записи результата запроса

Описание

mixed sqlite_column ( resource $result , mixed $index_or_name [, bool $decode_binary ] )

Выбирает значение одного поля из текущей записи результата запроса result . Аргумент index_or_name задает либо имя поля (если передана строка), либо порядковый номер поля (если передано целое). Описание аргумента decode_binary см. в описании функции sqlite_fetch_array().

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

Смотрите также

sqlite_fetch_string()

sqlite_close
sqlite_create_aggregate
SQLite


Регистрирует агрегатную функцию для использования в SQL запросах

sqlite_column
sqlite_create_function
SQLite
PHP Manual

sqlite_create_aggregate

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_create_aggregate — Регистрирует агрегатную функцию для использования в SQL запросах

Описание

bool sqlite_create_aggregate ( resource $dbhandle , string $function_name , mixed $step_func , mixed $finalize_func [, int $num_args ] )

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

Главное отличие этой функции от sqlite_create_function() состоит в том, что для работы агрегатной функции неоходимы 2 функции; step_func вызывается для каждой записи из результат запроса. Эта функция должна аккумулировать результат и сохранять его в контекстной переменной. После обработки всех записей, вызывается finalize_func , которая должна обработать данные из контекстной переменной и вернуть результат.

Пример #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(),
sqlite_udf_encode_binary() и
sqlite_udf_decode_binary().

sqlite_column
sqlite_create_function
SQLite


Регистрирует функцию для использования в SQL запросах

sqlite_create_aggregate
sqlite_current
SQLite
PHP Manual

sqlite_create_function

(PHP 5, sqlite >= 1.0.0)

sqlite_create_function — Регистрирует функцию для использования в SQL запросах

Описание

bool sqlite_create_function ( resource $dbhandle , string $function_name , mixed $callback [, int $num_args ] )

sqlite_create_function() позволяет зарегистрировать PHP функцию для использования в SQLite в качестве UDF (User Defined Function - функция, определенная пользователем), что позволяет использовать эту функцию в SQL запросах.

Аргумент dbhandle задает базу данных, для которой определяется новая функция, function_name - имя функции, которое будкт использоваться в SQL запросах. Аргумент callback задает PHP функцию, которая будет вызываться при обращении к определяемой SQL функции. Необязательный аргумент num_args задает количество аргументов, которое принимает фунция. Рекомендуется всегда передавать этот аргумент, если функция принимает фиксированное количество аргументов.

Определенная таким образом функция может быть использована в любом SQL запросе, допускающем использование функций, например SELECT и UPDATE, а также в триггерах.

Пример #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 'Error opening sqlite db: ' . $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.

Смотрите также

See also sqlite_create_aggregate().

sqlite_create_aggregate
sqlite_current
SQLite


Возвращает текущую запись результата запроса в массиве

sqlite_create_function
sqlite_error_string
SQLite
PHP Manual

sqlite_current

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_current — Возвращает текущую запись результата запроса в массиве

Описание

array sqlite_current ( resource $result [, int $result_type [, bool $decode_binary ]] )

sqlite_current() аналогична sqlite_fetch_array() за исключеним того, что sqlite_current() не переходит к следующей записи после выборки данных.

Если текущая позиция в результате запроса находится за последней записью, эта функция возвращает FALSE.

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

Смотрите также

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().

Смотрите также

sqlite_last_error().

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. Одиночные кавычки (') будут удвоены, а также будет произведена проверка на наличие бинарных данных в строке.

Если item содержит символ NUL или начинается с символа с кодом 0x01, будет примененена специальная схема кодирования, позволяющая безопасно хранить бинарные данные.

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

Внимание

Функцию addslashes() НЕЛЬЗЯ использовать для экранирования строк для запросов к SQLite queries. Это приведет к неожиданным результатам при выборке данных.

Замечание:

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

Смотрите также

sqlite_udf_encode_binary().

sqlite_error_string
sqlite_exec
SQLite


Выполняет запрос, не возвращающий записей

sqlite_escape_string
sqlite_factory
SQLite
PHP Manual

sqlite_exec

(PHP 5, PECL sqlite >= 1.0.3)

sqlite_exec — Выполняет запрос, не возвращающий записей

Описание

bool sqlite_exec ( resource $dbhandle , string $query )
bool sqlite_exec ( string $query , resource $dbhandle )

Выполняет запрос query к базе данных, идентификатор которой задан аргументом dbhandle .

Возвращает TRUE при успешном выполнении запроса или FALSE при возникновении ошибки. Для выполнения запроса, который должен возвращать записи, используйте sqlite_query().

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

Внимание

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

Смотрите также

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 и возвращает объект

Описание

SQLite sqlite_factory ( string $filename [, int $mode [, string &$error_message ]] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

sqlite_exec
sqlite_fetch_all
SQLite


Выбирает все записи из результата запроса и возвращает массив массивов

sqlite_factory
sqlite_fetch_array
SQLite
PHP Manual

sqlite_fetch_all

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_fetch_all — Выбирает все записи из результата запроса и возвращает массив массивов

Описание

array sqlite_fetch_all ( resource $result [, int $result_type [, bool $decode_binary ]] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

sqlite_factory
sqlite_fetch_array
SQLite


Выбирает следующую запись из результата запроса и возвращает массив

sqlite_fetch_all
sqlite_fetch_column_types
SQLite
PHP Manual

sqlite_fetch_array

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_fetch_array — Выбирает следующую запись из результата запроса и возвращает массив

Описание

array sqlite_fetch_array ( resource $result [, int $result_type [, bool $decode_binary ]] )

Выбирает следующую запись из результата запроса, заданного аргументом result . Если Результат больше не содержит данных, возвращает FALSE, иначе возвращает массив, содержащий данные.

Аргумент result_type позволяет задать вид возвращаемого массива. По умолчанию используется SQLITE_BOTH, при этом для каждого поля массив будет содержать два элемента: с числовым индексом и строковым индексом (имя поля). При использовании SQLITE_ASSOC индексами массива будут только имена полей, а при использовании SQLITE_NUM - порядковые номера полей.

Регистр символов в именах полей зависит от директивы sqlite.assoc_case.

Когда decode_binary имеет значение TRUE, PHP декодирует данные, которые были закодированы функцией sqlite_escape_string(). В большинстве случаев следует использовать значение по умолчанию (TRUE), за исключением работы с базами данных, созданными другими приложениями.

Смотрите также

sqlite_array_query() и sqlite_fetch_string().

sqlite_fetch_all
sqlite_fetch_column_types
SQLite


Возвращает массив, содержащий информацию о типах полей в таблице

sqlite_fetch_array
sqlite_fetch_object
SQLite
PHP Manual

sqlite_fetch_column_types

(PHP 5)

sqlite_fetch_column_types — Возвращает массив, содержащий информацию о типах полей в таблице

Описание

resource sqlite_fetch_column_types ( string $table_name , resource $db )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

sqlite_fetch_array
sqlite_fetch_object
SQLite


Выбирает следующую запись из результата запроса и возвращает объект

sqlite_fetch_column_types
sqlite_fetch_single
SQLite
PHP Manual

sqlite_fetch_object

(PHP 5)

sqlite_fetch_object — Выбирает следующую запись из результата запроса и возвращает объект

Описание

object sqlite_fetch_object ( resource $result [, string $class_name [, array $ctor_params [, bool $decode_binary ]]] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

sqlite_fetch_column_types
sqlite_fetch_single
SQLite


Выбирает значение первого поля из результат запроса в виде строки

sqlite_fetch_object
sqlite_fetch_string
SQLite
PHP Manual

sqlite_fetch_single

(PHP 5, PECL sqlite >= 1.0.1)

sqlite_fetch_single — Выбирает значение первого поля из результат запроса в виде строки

Описание

string sqlite_fetch_single ( resource $result [, bool $decode_binary ] )

sqlite_fetch_single() идентична sqlite_fetch_array() за исключением того, что возвращается значение только первого поля.

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

Пример #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

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_field_name — Возвращает имя указанного поля результата запроса

Описание

string sqlite_field_name ( resource $result , int $field_index )

Возвращает имя поля результата запроса result с порядковым номером field_index.

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 )

sqlite_has_more() возвращает TRUE если результат запроса result содержит записи, доступные для выборки, иначе возвращает FALSE.

Смотрите также

sqlite_num_rows() и sqlite_changes().

sqlite_field_name
sqlite_has_prev
SQLite


Определяет, доступна ли предыдущая запись

sqlite_has_more
sqlite_key
SQLite
PHP Manual

sqlite_has_prev

(PHP 5)

sqlite_has_prev — Определяет, доступна ли предыдущая запись

Описание

bool sqlite_has_prev ( resource $result )

sqlite_has_prev() возвращает TRUE если предыдущая запись результата запроса result доступна, иначе возвращает FALSE.

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

Смотрите также

sqlite_prev(),
sqlite_has_more() и
sqlite_num_rows().

sqlite_has_more
sqlite_key
SQLite


Returns the current row index

sqlite_has_prev
sqlite_last_error
SQLite
PHP Manual

sqlite_key

SQLiteResult->key

(PHP 5 >= 5.1.0)

sqlite_key -- SQLiteResult->key — Returns the current row index

Описание

int sqlite_key ( resource $result )

Object oriented style (method):

SQLiteResult
int key ( void )

sqlite_key() returns the current row index of the buffered result set result .

Список параметров

result

The SQLite result resource. This parameter is not required when using the object-oriented method.

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

Возвращаемые значения

Returns the current row index of the buffered result set result .

Список изменений

Версия | Описание
5.0.4 | Prior to PHP 5.0.4, sqlite_key() was only able to be called as a method on a SQLiteResult object, not procedurally.

Смотрите также

  • 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

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_last_error — Возвращает код ошибки последней операции с SQLite

Описание

int sqlite_last_error ( resource $dbhandle )

Возвращает код ошибки последней операции с базой данных с идентификатором dbhandle . Описание ошибки можно получить с помощью функции sqlite_error_string().

Смотрите также

sqlite_error_string()

sqlite_key
sqlite_last_insert_rowid
SQLite


Возвращает идентификатор последней вставленной записи

sqlite_last_error
sqlite_libencoding
SQLite
PHP Manual

sqlite_last_insert_rowid

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_last_insert_rowid — Возвращает идентификатор последней вставленной записи

Описание

int sqlite_last_insert_rowid ( resource $dbhandle )

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

Подсказка

Поля с авто-инкрементом в SQLite объявляются как INTEGER PRIMARY KEY.

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, libsqlite работает в соответствии с установками текущей локали для сравнения и сортировки строк. Поэтому следует считать, что используется не ISO-8859-1, а кодировка '8-bit'.

При компиляции с поддержкой UTF-8 sqlite корректно распознает многобайтные символы UTF-8, однако поддержка UTF-8 все же неполная (например, не производится нормализация); кроме того, некорректно выполняются некоторые операции сравнения.

Внимание

В web-окружении не рекомендуется использовать PHP и SQLite с поддержкой UTF-8, так как libsqlite завершает процесс при обнаружении проблем с кодировкой UTF-8.

Смотрите также

sqlite_libversion()

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_libencoding
sqlite_next
SQLite


Переходит на следующую запись

sqlite_libversion
sqlite_num_fields
SQLite
PHP Manual

sqlite_next

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_next — Переходит на следующую запись

Описание

bool sqlite_next ( resource $result )

sqlite_next() перемещает внутренний указатель результата запроса result на следующую запись. Возвращает FALSE если указатель находился на последней записи перед вызовом функции, иначе возвращает TRUE.

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

Смотрите также

sqlite_seek(),
sqlite_current() и
sqlite_rewind()

sqlite_libversion
sqlite_num_fields
SQLite


Возвращает количество полей в результате запроса

sqlite_next
sqlite_num_rows
SQLite
PHP Manual

sqlite_num_fields

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_num_fields — Возвращает количество полей в результате запроса

Описание

int sqlite_num_fields ( resource $result )

Возвращает количество полей в результате запроса result .

Смотрите также

sqlite_column() и sqlite_num_rows()

sqlite_next
sqlite_num_rows
SQLite


Возвращает количество записей в результате запроса

sqlite_num_fields
sqlite_open
SQLite
PHP Manual

sqlite_num_rows

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_num_rows — Возвращает количество записей в результате запроса

Описание

int sqlite_num_rows ( resource $result )

Возвращает количество записей в результате запроса result .

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

Смотрите также

sqlite_changes() b sqlite_query()

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 [, string &$error_message ]] )

Возвращает ресурс (идентификатор базы данных) при успешном завершении, FALSE при возникновении ошибки.

Аргумент filename задает имя базы данных. Это может быть абсолютный или относительный путь к файлу, в котором будут храниться данные. Если файл не существует, будет предпринята попытка его создания. У пользователя, от имени которого выполняется скрипт, ДОЛЖНЫ быть права на запись в файл, если необходимо добавлять данные или изменять структуру данных.

Аргумент mode задает режим доступа к файлу базы данных, и мог бы использоваться для открытия базы данных только для чтения, однако в настоящее время этот аргумент не используется. Рекомендуется использовать восьмеричное 0666 в качестве значения этого аргумента, если необходимо использовать аргумент errmessage .

Аргумент errmessage передается по ссылке, в нем возвращается сообщение об ошибке.

Пример #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, из-за возможных проблем с блокировкой файла.

Замечание: Начиная SQLite версии 2.8.2, можно указывать :memory: в качестве значения аргумента filename для создания базы данных в памяти. Это может быть полезно в тех случаях, когда необходимо создание временной базы данных, которая должна быть уничтожена при завершении процесса. Также это может использоваться совместно с командой ATTACH DATABASE для подключения других баз данных и выполнения операций с ними.

Замечание: Модуль SQLite учитывает установки безопасный режим и open_basedir.

Смотрите также

sqlite_popen(),
sqlite_close() и
sqlite_query()

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 [, string &$error_message ]] )

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

sqlite_popen() пытается найти уже открытый идентификатор подключения к файлу filename . Если такой указатель обнаружен, функция возвращает его, иначе открывает файл аналогично функции sqlite_open().

Выгода от использования постоянного подключения заключается в том, что не тратится время на открытие файла и чтение структуры данных при каждом запросе. Это справедливо только в случае использования PHP как модуля web-сервера (но не CGI или CLI).

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

Смотрите также

sqlite_open(),
sqlite_close() и
sqlite_query()

sqlite_open
sqlite_prev
SQLite


Переходит на предыдущую запись

sqlite_popen
sqlite_query
SQLite
PHP Manual

sqlite_prev

(PHP 5)

sqlite_prev — Переходит на предыдущую запись

Описание

bool sqlite_prev ( resource $result )

sqlite_prev() перемещает внутренний указатель результата запроса result на предыдущую запись. Возвращает FALSE если указатель находится на первой записи в момент вызова функции, иначе TRUE.

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

Смотрите также

sqlite_has_prev(),
sqlite_rewind() и
sqlite_next()

sqlite_popen
sqlite_query
SQLite


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

sqlite_prev
sqlite_rewind
SQLite
PHP Manual

sqlite_query

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_query — Выполняет запрос к базе данных и возвращает идентификатор результата

Описание

resource sqlite_query ( resource $dbhandle , string $query )
resource sqlite_query ( string $query , resource $dbhandle )

Выполняет SQL запрос query к базе данных, заданной аргументом dbhandle .

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

Независимо от типа запроса, в случае возникновения ошибки эта функция возвращает FALSE.

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

Замечание: Два варианта синтаксиса используются для обеспечения совместимости с другими модулями для работы с базами данных (например MySQL). Предпочтительной является первая форма записи, использующая dbhandle в качестве первого аргумента.

Внимание

SQLite выполняет несколько запросов, разделенных точкой с запятой, что можно использовать, например, для выполнения запросов, прочитанных из файла. Однако, если хотя бы один из запросов должен возвращать набор записей (SELECT), то будет выполнен только первый запрос. Функция sqlite_exec() всегда выполняет все запросы.

При выполнении нескольких запросов, эта функция возвращает FALSE в случае ошибки, иначе возвращается либо TRUE, либо идентификатор результата запроса.

Смотрите также

sqlite_unbuffered_query() and sqlite_array_query().

sqlite_prev
sqlite_rewind
SQLite


Переходит к первой записи

sqlite_query
sqlite_seek
SQLite
PHP Manual

sqlite_rewind

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_rewind — Переходит к первой записи

Описание

bool sqlite_rewind ( resource $result )

sqlite_rewind() перемещает внутренний указатель результата запроса на первую запись. Возвращает FALSE если результат запроса не содержит записей, иначе TRUE.

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

Смотрите также

sqlite_next(),
sqlite_current() и
sqlite_seek().

sqlite_query
sqlite_seek
SQLite


Переходит к определенному номеру записи

sqlite_rewind
sqlite_single_query
SQLite
PHP Manual

sqlite_seek

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_seek — Переходит к определенному номеру записи

Описание

bool sqlite_seek ( resource $result , int $rownum )

sqlite_seek() перемещает внутренний указатель результата запроса на запись с порядковым номером, заданным аргументом rownum . Нумерация записей начинается с нуля (0 соответствует первой записи). Возвращает FALSE если запись с указанным номером отсутствует, иначе TRUE.

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

Смотрите также

sqlite_next(),
sqlite_current() и
sqlite_rewind().

sqlite_rewind
sqlite_single_query
SQLite


Выполняет SQL зпрос и возвращает массив со значениями одного поля или первую запись

sqlite_seek
sqlite_udf_decode_binary
SQLite
PHP Manual

sqlite_single_query

(PHP 5, PECL sqlite >= 1.0.1)

sqlite_single_query — Выполняет SQL зпрос и возвращает массив со значениями одного поля или первую запись

Описание

mixed sqlite_single_query ( resource $db , string $query [, bool $first_row_only [, bool $decode_binary ]] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

sqlite_seek
sqlite_udf_decode_binary
SQLite


Декодирует бинарные данные, переданные в пользовательскую функцию

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 — Декодирует бинарные данные, переданные в пользовательскую функцию

Описание

string sqlite_udf_decode_binary ( string $data )

sqlite_udf_decode_binary() декодирует бинарные данные,
закодированные функциями sqlite_udf_encode_binary() или
sqlite_escape_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(),
sqlite_create_function() and
sqlite_create_aggregate().

sqlite_single_query
sqlite_udf_encode_binary
SQLite


Кодирует бинарные данные, возвращаемые пользовательской функцией

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 — Кодирует бинарные данные, возвращаемые пользовательской функцией

Описание

string sqlite_udf_encode_binary ( string $data )

sqlite_udf_encode_binary() кодирует бинарные данные data таким образом, что они могут быть возвращены в качестве результата запроса (так как библиотека libsqlite небезопасна для обработки бинарных данных).

Если данные могут быть бинарными (например, содежать NUL в середине строки или байт 0x01 в начале строки), то такие данные следует закодировать этой функцией перед тем, как возвращать их из пользовательской функции.

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

Замечание: Не используйте функцию sqlite_escape_string() для экранирования строк, возвращаемых из пользовательской функции, так ка это приведет к двойному экранированию. Используйте sqlite_udf_encode_binary() !

Смотрите также

sqlite_udf_decode_binary(),
sqlite_escape_string(),
sqlite_create_function() and
sqlite_create_aggregate().

sqlite_udf_decode_binary
sqlite_unbuffered_query
SQLite


Выполняет запрос без буферизации результатов

sqlite_udf_encode_binary
sqlite_valid
SQLite
PHP Manual

sqlite_unbuffered_query

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_unbuffered_query — Выполняет запрос без буферизации результатов

Описание

resource sqlite_unbuffered_query ( resource $dbhandle , string $query )
resource sqlite_unbuffered_query ( string $query , resource $dbhandle )

sqlite_unbuffered_query() идентична функции sqlite_query() за исключением того, что записи из возвращаемого результата можно получать только последовательно, одну за другой.

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

Замечание:

    Функции  sqlite_seek(),
    sqlite_rewind(), sqlite_next(),
    sqlite_current() и
    sqlite_num_rows() не работают с результатами,
    возвращаемыми функцией sqlite_unbuffered_query().

Смотрите также

sqlite_query()

sqlite_udf_encode_binary
sqlite_valid
SQLite


Returns whether more rows are available

sqlite_unbuffered_query
SQLite3
SQLite
PHP Manual

sqlite_valid

SQLiteResult->valid

SQLiteUnbuffered->valid

(PHP 5)

sqlite_valid -- SQLiteResult->valid -- SQLiteUnbuffered->valid — Returns whether more rows are available

Описание

bool sqlite_valid ( resource $result )

Object oriented style (method):

SQLiteResult
bool valid ( void )
SQLiteUnbuffered
bool valid ( void )

Finds whether more rows are available from the given result handle.

Список параметров

result

The SQLite result resource. This parameter is not required when using the object-oriented method.

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

Возвращаемые значения

Returns TRUE if there are more rows available from the result handle, or FALSE otherwise.

Смотрите также

  • sqlite_num_rows() - Возвращает количество записей в результате запроса
  • sqlite_changes() - Возвращает количество записей, которые были изменены последним SQL запросом

sqlite_unbuffered_query
SQLite3
SQLite


SQLite3

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • SQLite3 — The SQLite3 class
    • 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
Введение
Vendor Specific Database Extensions


Введение

Support for SQLite version 3 databases.

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


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
SQLite3


Установка

The SQLite3 extension is enabled by default as of PHP 5.3.0. It's possible to disable it by using --without-sqlite3 at compile time.

Windows users must enable php_sqlite3.dll in order to use this extension. This DLL is included with Windows distributions of PHP as of PHP 5.3.0.

Замечание: This extension was briefly a PECL extension but that version is only recommended for experimental use.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

SQLite3 Опции настройки
Имя | По умолчанию | Меняемо | Changelog
sqlite3.extension_dir | NULL | PHP_INI_SYSTEM |

Краткое разъяснение конфигурационных директив.

sqlite3.extension_dir string

Path to the directory where the loadable extensions for SQLite reside.

Установка
Типы ресурсов
Установка и настройка


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

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

SQLITE3_ASSOC (integer)
Specifies that the SQLite3_result::fetchArray method shall return an array indexed by column name as returned in the corresponding result set.
SQLITE3_NUM (integer)
Specifies that the Sqlite3_result::fetchArray method shall return an array indexed by column number as returned in the corresponding result set, starting at column 0.
SQLITE3_BOTH (integer)
Specifies that the Sqlite3_result::fetchArray method shall return an array indexed by both column name and number as returned in the corresponding result set, starting at column 0.
SQLITE3_INTEGER (integer)
Represents the SQLite3 INTEGER storage class.
SQLITE3_FLOAT (integer)
Represents the SQLite3 REAL (FLOAT) storage class.
SQLITE3_TEXT (integer)
Represents the SQLite3 TEXT storage class.
SQLITE3_BLOB (integer)
Represents the SQLite3 BLOB storage class.
SQLITE3_NULL (integer)
Represents the SQLite3 NULL storage class.
SQLITE3_OPEN_READONLY (integer)
Specifies that the SQLite3 database be opened for reading only.
SQLITE3_OPEN_READWRITE (integer)
Specifies that the SQLite3 database be opened for reading and writing.
SQLITE3_OPEN_CREATE (integer)
Specifies that the SQLite3 database be created if it does not already exist.

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


The SQLite3 class

Введение

A class that interfaces SQLite 3 databases.

Class synopsis

SQLite3
SQLite3 {
/* Methods */
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 bool open ( string $filename [, int $flags= SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE [, string $encryption_key ]] )
public SQLite3_stmt prepare ( string $query )
public SQLite3_result query ( string $query )
public mixed querySingle ( string $query [, bool $entire_row= false ] )
public array version ( void )
}

Содержание

  • 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::changes
SQLite3


Returns the number of database rows that were changed (or inserted or deleted) by the most recent SQL statement

SQLite3
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.

Список параметров

This function has no parameters.

Возвращаемые значения

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
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.

Список параметров

This function has no parameters.

Возвращаемые значения

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.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Список параметров

This function has no parameters.

Возвращаемые значения

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 bool 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.

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 TRUE on success, FALSE on failure to open the database.

Примеры

Пример #1 SQLite3::open() 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::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 SQLite3_stmt SQLite3::prepare ( string $query )

Prepares an SQL statement for execution and returns an SQLite3_stmt object.

Список параметров

query

The SQL query to prepare.

Возвращаемые значения

Returns an SQLite3_stmt object on success or FALSE on failure.

Примеры

Пример #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 SQLite3_result SQLite3::query ( string $query )

Executes an SQL query, returning an SQLite3_result object if the query returns results.

Список параметров

query

The SQL query to execute.

Возвращаемые значения

Returns an SQLite3_result 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), otherwise FALSE on failure.

Примеры

Пример #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.

Список параметров

This function has no parameters.

Возвращаемые значения

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

Введение

A class that handles prepared statements for the SQLite 3 extension.

Class synopsis

SQLite3Stmt
SQLite3Stmt {
/* Methods */
public bool bindParam ( int $param_number , mixed &$param [, int $type ] )
public bool bindValue ( int $param_number , mixed $param [, int $type ] )
public bool clear ( void )
public bool close ( void )
public SQLite3_result 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 ( int $param_number , mixed &$param [, int $type ] )

Binds a parameter to a statement variable.

Список параметров

param_number

An integer 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 ( int $param_number , mixed $param [, int $type ] )

Binds the value of a parameter to a statement variable.

Список параметров

param_number

An integer identifying the statement variable to which the value should be bound.

param

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.

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.

Список параметров

This function has no 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.

Список параметров

This function has no parameters.

Возвращаемые значения

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 SQLite3_result SQLite3Stmt::execute ( void )

Executes a prepared statement and returns a result set object.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns an SQLite3_result 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.

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns TRUE if the statement is successfully reset, FALSE on failure.

SQLite3Stmt::paramCount
SQLite3Result
SQLite3Stmt


The SQLite3Result class

Введение

A class that handles result sets for the SQLite 3 extension.

Class synopsis

SQLite3Result
SQLite3Result {
/* Methods */
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. It defaults to 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.

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Список параметров

This function has no parameters.

Возвращаемые значения

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
Sybase
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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns TRUE if the result set is successfully reset back to the first row, FALSE on failure.

SQLite3Result::numColumns
Sybase
SQLite3Result


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
SQLite3Result::reset
Введение
Vendor Specific Database Extensions


Введение

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 | Removed in PHP 6.0.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.

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_*, обратитесь к документации функции ini_set().

Установка
Типы ресурсов
Установка и настройка


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

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

Типы ресурсов
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 $connection ] )

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.

connection

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
4.3.5 | The connection 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
File System Related Extensions
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
File System Related Extensions
Sybase Функции


File System Related Extensions

  • Direct IO
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Direct IO Функции
  • Директории — Функции для работы с директориями
    • Установка и настройка
    • Предопределенные константы
    • Каталоги — Функции для работы с каталогами
  • Fileinfo — File Information
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Fileinfo Функции
  • Функции для работы с файловой системой
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Файловая система — Функции для работы с файловой системой
  • Inotify
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Inotify Функции
  • Mimetype
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Mimetype Функции
  • xattr
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • xattr Функции
  • xdiff
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • xdiff Функции
sybase_unbuffered_query
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 new filename with specified permissions of flags and creation permissions of mode
    • 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
File System Related Extensions
Введение
File System Related Extensions


Введение

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.

Замечание: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 5.1.0.

This extension is only available on Windows Platforms as of PHP 5.0.0

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


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Direct IO


Установка

To get these functions to work, you have to configure PHP with --enable-dio.

Требования
Настройка во время выполнения
Установка и настройка


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

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 new filename with specified permissions of flags and creation permissions of mode
  • 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 new filename with specified permissions of flags and creation permissions of mode

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 new filename with specified permissions of flags and creation permissions of mode

dio_fcntl
dio_read
Direct IO Функции
PHP Manual

dio_open

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)

dio_open — Opens a new filename with specified permissions of flags and creation permissions of mode

Описание

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 opened file.

flags

The flags parameter can also include any combination of the following flags:

  • O_CREAT - creates the file, if it doesn't already exist.

  • O_EXCL - if both, O_CREAT and O_EXCL are set, dio_open() fails, if the file already exists.

  • O_TRUNC - if the file exists, and its 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.

mode

If flags is O_CREAT, mode will set the mode of the file (creation permissions).

  • 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.

Возвращаемые значения

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
Установка и настройка
File System Related Extensions


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Директории
Требования
Директории


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

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

DIRECTORY_SEPARATOR (строка)
PATH_SEPARATOR (строка)
Типы ресурсов
Каталоги
Директории


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

Смотрите также

За описанием сопутствующих функций, таких, как 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 на указанный в качестве параметра каталог . Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки..

См.также описание функции getcwd().

Каталоги
chroot
Каталоги


Сменить корневой каталог

chdir
dir
Каталоги
PHP Manual

chroot

(PHP 4 >= 4.0.5, PHP 5)

chroot — Сменить корневой каталог

Описание

bool chroot ( string $directory )

Изменяет корневой каталог текущего процесса на переданный в качестве параметра каталог . Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки..

Данная функция доступна только в том случае, если ее поддерживает ваша операционная система и вы используете методы вызова CLI, CGI или Embed SAPI.

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

chdir
dir
Каталоги


Класс directory

chroot
closedir
Каталоги
PHP Manual

dir

(PHP 4, PHP 5)

dir — Класс directory

Описание

dir
dir ( string $каталог )
string $path ;
resource $handle ;
string read ( void )
void rewind ( void )
void close ( void )

Псевдо-объектно-ориентированный механизм для чтения каталога, переданного в параметре каталог . С момента открытия каталога становятся доступными два свойства класса. Свойство "handle" может быть использовано с другими функциями для работы с каталогами, например, с функциями readdir(), rewinddir() и closedir(). Свойство "path" содержит путь к открытому каталогу. Доступны три метода: read, rewind and close.

Пожалуйста, обратите внимание на способ, которым осуществляется проверка значения, возвращаемого методами класса dir() в примере, приведенном ниже. В этом примере проводится проверка значения на идентичность (выражения идентичны, когда они равны и являются одного типа - за более подробной информацией обратитесь к главе Операторы сравнения) значению FALSE, поскольку в ином случае, любой элемент каталога, чье имя может быть выражено как FALSE, остановит цикл.

Пример #1 Пример использования класса dir()

<?php
$d = dir("/etc");
echo "Дескриптор: ".$d->handle."<br>\n";
echo "Путь: ".$d->path."<br>\n";
while (false !== ($entry = $d->read())) {
    echo $entry."<br>\n";
}
$d->close();
?>

Замечание: Порядок, в котором метод "read" возвращает элементы каталога, зависит от операционной системы.

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

chroot
closedir
Каталоги


Освободить дескриптор каталога

dir
getcwd
Каталоги
PHP Manual

closedir

(PHP 4, PHP 5)

closedir — Освободить дескриптор каталога

Описание

void closedir ( resource $dir_handle )

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

dir
getcwd
Каталоги


Получить имя текущего рабочего каталога

closedir
opendir
Каталоги
PHP Manual

getcwd

(PHP 4, PHP 5)

getcwd — Получить имя текущего рабочего каталога

Описание

string getcwd ( void )

Возвращает имя текущего рабочего каталога.

См.также описание функции chdir().

closedir
opendir
Каталоги


Открыть каталог

getcwd
readdir
Каталоги
PHP Manual

opendir

(PHP 4, PHP 5)

opendir — Открыть каталог

Описание

resource opendir ( string $path )

Возвращает дескриптор каталога для последующего использования с функциями closedir(), readdir() и rewinddir().

Если путь не существует или каталог, расположенный по указанному пути, не может быть открыт вследствие правовых ограничений или ошибок файловой системы, функция opendir() возвращает значение FALSE и генерирует сообщение PHP об ошибке уровня E_WARNING. Вы можете запретить вывод сообщения об ошибке, предварив имя функции opendir() символом '@'.

Пример #1 Пример использования функции opendir()

<?php
$dir = "/tmp/";

// Открыть заведомо существующий каталог и начать считывать его содержимое
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
            print "Файл: $file : тип: " . filetype($dir . $file) . "\n";
        }
        closedir($dh);
    }
}
?>

Начиная с версии PHP 4.3.0, параметр путь может также являться любым URL'ом, обращение к которому приводит к получению списка его файлов и каталогов. Однако, данный способ работает только при использовании url-упаковщика file://. В версии PHP 5.0.0 была добавлена поддержка url-упаковщика ftp://.

См.также описания функций is_dir(), readdir() и класса Dir

getcwd
readdir
Каталоги


Получить элемент каталога по его дескриптору

opendir
rewinddir
Каталоги
PHP Manual

readdir

(PHP 4, PHP 5)

readdir — Получить элемент каталога по его дескриптору

Описание

string readdir ( resource $dir_handle )

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

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

Пример #1 Вывести список всех файлов в каталоге

<?php
// Обратите внимание, что оператор !== не существовал до версии 4.0.0-RC2

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);
}
?>

Обратите внимание, что функция readdir() также возвращает элементы с именами . и ... Если вы не хотите получать эти значения, просто отбрасывайте их:

Пример #2 Получить список файлов в текущем каталоге и отбросить элементы с именами . и ..

<?php
if ($handle = opendir('.')) {
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != "..") {
            echo "$file\n";
        }
    }
    closedir($handle);
}
?>

См.также описания функций is_dir() и glob().

opendir
rewinddir
Каталоги


Сбросить дескриптор каталога

readdir
scandir
Каталоги
PHP Manual

rewinddir

(PHP 4, PHP 5)

rewinddir — Сбросить дескриптор каталога

Описание

void rewinddir ( resource $dir_handle )

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

readdir
scandir
Каталоги


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

rewinddir
Fileinfo
Каталоги
PHP Manual

scandir

(PHP 5)

scandir — Получить список файлов и каталогов, расположенных по указанному пути

Описание

array scandir ( string $directory [, integer $sorting_order ] )

Возвращает array, содержащий имена файлов и каталогов, расположенных по пути, переданном в параметре directory . Если directory не является таковым, функция возвращает логическое значение FALSE и генерирует сообщение об ошибке уровня E_WARNING.

По умолчанию, сортировка производится в алфавитном порядке по возрастанию. Если указан необязательный параметр sorting_order (равен 1), сортировка производится в алфавитном порядке по убыванию.

Пример #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] => .
)
*/
?>

См.также описания функций 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
scandir
Введение
File System Related Extensions


Введение

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.

Требования
Настройка во время выполнения
Установка и настройка


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

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 (integer)
Return a mime string, instead of a textual description.
FILEINFO_COMPRESS (integer)
Decompress compressed files.
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
Предопределенные константы
finfo_buffer
Fileinfo


Return information about a string buffer

Fileinfo Функции
finfo_close
Fileinfo Функции
PHP Manual

finfo_buffer

(PHP 5 >= 5.3.0, PECL fileinfo >= 0.1.0)

finfo_buffer — Return information about a string buffer

Описание

string finfo_buffer ( resource $finfo , string $string= NULL [, int $options= FILEINFO_NONE [, resource $context= NULL ]] )
finfo
string 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

Смотрите также

  • finfo_file() - Return information about a file

Fileinfo Функции
finfo_close
Fileinfo Функции


Close fileinfo resource

finfo_buffer
finfo_file
Fileinfo Функции
PHP Manual

finfo_close

(PHP >= 5.3.0, PECL fileinfo >= 0.1.0)

finfo_close — 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

(PHP >= 5.3.0, PECL fileinfo >= 0.1.0)

finfo_file — Return information about a file

Описание

string finfo_file ( resource $finfo , string $file_name= NULL [, int $options= FILEINFO_NONE [, resource $context= NULL ]] )
finfo
string 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); // 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

Описание

Procedural style

resource finfo_open ([ int $options= FILEINFO_NONE [, string $magic_file= NULL ]] )

Object oriented style (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.

Возвращаемые значения

Returns a magic database resource on success or FALSE on failure.

Примеры

Пример #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

Смотрите также

  • finfo_close() - Close fileinfo resource

finfo_file
finfo_set_flags
Fileinfo Функции


Set libmagic configuration options

finfo_open
Функции для работы с файловой системой
Fileinfo Функции
PHP Manual

finfo_set_flags

(PHP >= 5.3.0, PECL fileinfo >= 0.1.0)

finfo_set_flags — Set libmagic configuration options

Описание

bool finfo_set_flags ( resource $finfo , int $options )
finfo
bool 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
Функции для работы с файловой системой
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 — Получить время последнего изменения i-узла
    • filegroup — Получить идентификатор группы файла
    • fileinode — Получить номер inode файла
    • 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 — Changes group ownership of symlink
    • lchown — Changes user ownership of symlink
    • link — Создаёт жёсткую ссылку
    • linkinfo — Получает информацию о ссылке
    • lstat — Получает информацию о файле или символической ссылке
    • mkdir — Создаёт директорию
    • move_uploaded_file — Перемещает загруженный файл в новое место
    • parse_ini_file — Обрабатывает конфигурационный файл
    • parse_ini_string — Parse a configuration string
    • pathinfo — Возвращает информацию о пути к файлу
    • pclose — Закрывает файловый указатель процесса
    • popen — Открывает файловый указатель процесса
    • readfile — Выводит файл
    • readlink — Возвращает файл, на который указывает символическая ссылка
    • realpath — Возвращает канонизированный абсолютный путь к файлу
    • rename — Переименовывает файл или директорию
    • rewind — Сбрасывает курсор у файлового указателя
    • rmdir — Удаляет директорию
    • set_file_buffer — Псевдоним функции stream_set_write_buffer
    • stat — Получает информацию о файле
    • symlink — Создаёт символическую ссылку
    • tempnam — Создаёт файл с уникальным именем
    • tmpfile — Создаёт временный файл
    • touch — Устанавливает время доступа и модификации файла
    • umask — Изменяет текущую umask
    • unlink — Удаляет файл
finfo_set_flags
Введение
File System Related Extensions


Введение

Этот модуль не требует установки никаких внешних библиотек, но если вам нужна поддержа LFS (large files) в Linux, то вам потребуется современная версия glibc и вам следует собирать PHP с включением следующих флагов в CFLAGS: -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64.

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


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Функции для работы с файловой системой


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Директивы конфигурации для файловых систем и потоков
Имя | Значение по умолчанию | Область изменения
allow_url_fopen | "1" | PHP_INI_SYSTEM
user_agent | NULL | PHP_INI_ALL
default_socket_timeout | "60" | PHP_INI_ALL
from | NULL | ??
auto_detect_line_endings | "Off" | PHP_INI_ALL

Краткое разъяснение конфигурационных директив.

allow_url_fopen boolean

Данная директива включает поддержку упаковщиков URL (URL wrappers), которые позволяют работать с объектами URL, как с обычными файлами. Упаковщики, доступные по умолчанию, служат для работы с удаленными файлами с использованием протокола ftp или http. Некоторые расширения, например, zlib, могут регистрировать собственные упаковщики.

Замечание: Эта настройка может быть установлена только в php.ini из соображений безопасности.

Замечание: Эта директива была представлена сразу же после выхода PHP версии 4.0.3. В этой и в последующих версиях эта функциональность может быть отключена только во время компиляции PHP с помощью ключа --disable-url-fopen-wrapper .

Внимание

В версиях PHP, более ранних, чем 4.3.0, для платформ Windows, поддержка работы с удаленными файлами отсутствует для следующих функций: include(), include_once(), require(), require_once() и функции imagecreatefromXXX расширения GD and Image Функции.

allow_url_include boolean

Эта опция позволяет использование врапперов fopen, которые поддерживают работу с URL, в функциях include(), include_once(), require(), require_once().

Замечание: Эта опция требует включения опции allow_url_fopen.

user_agent string

Устанавливает строку "User-Agent" для использования ее PHP при запросах к удаленным серверам.

default_socket_timeout integer

Значение таймаута (в секундах) для потоков, использующих сокеты.

Замечание: Данная директива стала доступна с версии PHP 4.3.0

from="joe@example.com" string

Устанавливает пароль для анонимного доступа к серверу ftp (ваш адрес электронной почты).

auto_detect_line_endings boolean

Когда данная директива включена, PHP проверяет данные, получаемые функциями fgets() и file() с тем, чтобы определить способ завершения строк (Unix, MS-Dos или Macintosh).

Данная директива позволяет PHP взаимодействовать с системами Macintosh, однако, по умолчанию эта директива выключена, поскольку при ее использовании возникает (несущественная) потребность в дополнительных ресурсах для определения символа окончания первой строки, а также потому, что программисты, использующие в системах Unix символы перевода строки в качестве разделителей, столкнутся с обратно-несовместимым поведением PHP.

Замечание: Эта директива стала доступна с версии PHP 4.3.0

Установка
Типы ресурсов
Установка и настройка


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

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

GLOB_BRACE (integer)
GLOB_ONLYDIR (integer)
GLOB_MARK (integer)
GLOB_NOSORT (integer)
GLOB_NOCHECK (integer)
GLOB_NOESCAPE (integer)
PATHINFO_DIRNAME (integer)
PATHINFO_BASENAME (integer)
PATHINFO_EXTENSION (integer)
PATHINFO_FILENAME (integer)
Появилась в PHP 5.2.0.
FILE_USE_INCLUDE_PATH (integer)
FILE_APPEND (integer)
FILE_IGNORE_NEW_LINES (integer)
FILE_SKIP_EMPTY_LINES (integer)
Типы ресурсов
Файловая система
Функции для работы с файловой системой


Функции для работы с файловой системой
PHP Manual

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

Смотрите также

Описание родственных функций вы сможете найти в главах Директории и Выполнение программ.

За списком URL-врапперов и пояснениями обращайтесь к главе List of Supported Protocols/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 — Получить время последнего изменения i-узла
  • filegroup — Получить идентификатор группы файла
  • fileinode — Получить номер inode файла
  • 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 — Changes group ownership of symlink
  • lchown — Changes user ownership of symlink
  • link — Создаёт жёсткую ссылку
  • linkinfo — Получает информацию о ссылке
  • lstat — Получает информацию о файле или символической ссылке
  • mkdir — Создаёт директорию
  • move_uploaded_file — Перемещает загруженный файл в новое место
  • parse_ini_file — Обрабатывает конфигурационный файл
  • parse_ini_string — Parse a configuration string
  • pathinfo — Возвращает информацию о пути к файлу
  • pclose — Закрывает файловый указатель процесса
  • popen — Открывает файловый указатель процесса
  • readfile — Выводит файл
  • readlink — Возвращает файл, на который указывает символическая ссылка
  • realpath — Возвращает канонизированный абсолютный путь к файлу
  • rename — Переименовывает файл или директорию
  • rewind — Сбрасывает курсор у файлового указателя
  • rmdir — Удаляет директорию
  • set_file_buffer — Псевдоним функции stream_set_write_buffer
  • stat — Получает информацию о файле
  • symlink — Создаёт символическую ссылку
  • tempnam — Создаёт файл с уникальным именем
  • tmpfile — Создаёт временный файл
  • touch — Устанавливает время доступа и модификации файла
  • umask — Изменяет текущую umask
  • unlink — Удаляет файл
Предопределенные константы
basename
Функции для работы с файловой системой
PHP Manual


Возвращает имя файла из указанного пути

Файловая система
chgrp
Файловая система
PHP Manual

basename

(PHP 4, PHP 5)

basename — Возвращает имя файла из указанного пути

Описание

string basename ( string $path [, string $suffix ] )

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

На платформах Windows в качестве разделителей имен директорий используются оба слэша (прямой / и обратный \). В других операционных системах разделителем служит прямой слэш (/).

Пример #1 Пример использования функции basename()

<?php
$path = "/home/httpd/html/index.php";
$file = basename($path);         // $file содержит "index.php"
$file = basename($path, ".php"); // $file содержит "index"
?>

Замечание: Параметр suffix был добавлен в версии PHP 4.1.0.

См.также описание функции dirname()

Файловая система
chgrp
Файловая система


Изменяет группу владельцев файла

basename
chmod
Файловая система
PHP Manual

chgrp

(PHP 4, PHP 5)

chgrp — Изменяет группу владельцев файла

Описание

bool chgrp ( string $filename , mixed $group )

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

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

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

Замечание: Когда опция safe mode включена, PHP проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.

См.также описание функций chown() и chmod().

basename
chmod
Файловая система


Изменяет режим доступа к файлу или каталогу

chgrp
chown
Файловая система
PHP Manual

chmod

(PHP 4, PHP 5)

chmod — Изменяет режим доступа к файлу или каталогу

Описание

bool chmod ( string $filename , int $mode )

Осуществляет попытку изменения режима доступа файла или каталога, переданного в параметре filename на режим, переданный в параметре mode .

Обратите внимание, что значение параметра mode не переводится автоматически в восьмеричную систему счисления, поэтому строки (такие, как, например, "g+w") не будут работать должным образом. Чтобы удостовериться в том, что режим был установлен верно, предваряйте значение, передаваемое в параметре mode , нулем (0):

<?php
chmod("/somedir/somefile", 755);   // десятичное, неверный способ
chmod("/somedir/somefile", "u+rwx,go+rx"); // строка, неверный способ
chmod("/somedir/somefile", 0755);  // восьмеричное, верный способ
?>

Значение параметра mode состоит из трех восьмеричных чисел, определяющих уровень доступа для владельца файла, для группы, в которую входит владелец, и для других пользователей, соответственно. Число, определяющее уровень пользователя, может быть вычислено путем суммирования значений, определяющих права: 1 - доступ на выполнение, 2 - доступ на запись, 4 - доступ на чтение. Более подробно о системе прав в системах Unix вы можете узнать с помощью команд 'man 1 chmod' and '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, как и выполняемый скрипт. Кроме того, вы не можете устанавливать SUID, SGID и "липкие" биты.

См.также описание функций chown() и chgrp().

chgrp
chown
Файловая система


Изменяет владельца файла

chmod
clearstatcache
Файловая система
PHP Manual

chown

(PHP 4, PHP 5)

chown — Изменяет владельца файла

Описание

bool chown ( string $filename , mixed $user )

Осуществляет попытку изменения владельца файла с именем filename на владельца, чье имя передано в параметре user (в виде числа или строки). Только суперпользователь может изменять владельца файла.

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

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

Замечание: Когда опция safe mode включена, PHP проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.

См.также описание функции chmod().

chmod
clearstatcache
Файловая система


Очищает кэш состояния файлов

chown
copy
Файловая система
PHP Manual

clearstatcache

(PHP 4, PHP 5)

clearstatcache — Очищает кэш состояния файлов

Описание

void clearstatcache ( void )

Когда вы используете функции stat(), lstat() или любую из функций, перечисленных в приведенном ниже списке, PHP кеширует результаты их выполнения для обеспечения большей производительности. Однако, в некоторых случаях вам может потребоваться очистка этого кэша. Например, когда ваш скрипт несколько раз проверяет состояние одного и того же файла, который может быть изменен или удален во время выполнения скрипта.

Обратите внимание, что PHP не кэширует информацию о несуществующих файлах. Так что если вы вызовите file_exists() на несуществующем файле, она будет возвращать FALSE до тех пор, пока вы не создадите этот файл. Если же вы создадите файл, она будет возвращать TRUE даже если затем вы его удалите.

Замечание: Результаты выполнения приведенных ниже функций кешируются PHP, поэтому, если вы не хотите, чтобы информация о файле или каталоге, с которым вы работаете, кешировалась, используйте функцию 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().

chown
copy
Файловая система


Копирует файл

clearstatcache
delete
Файловая система
PHP Manual

copy

(PHP 4, PHP 5)

copy — Копирует файл

Описание

bool copy ( string $source , string $dest )

Создает копию файла, чье имя передано в параметре source , в файле с именем dest . Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Пример #1 Пример использования функции copy()

<?php
$file = 'example.txt';
$newfile = 'example.txt.bak';

if (!copy($file, $newfile)) {
    echo "не удалось скопировать $file...\n";
}
?>

Если вы хотите переместить файл, воспользуйтесь функцией rename().

Замечание: Начиная с PHP версии 4.3.0, оба параметра, source и dest , могут быть URL'ами, если были включены "упаковщики fopen". За более подробной информацией обратитесь к описанию функции fopen(). Если параметр dest является URL, выполнение функции может завершиться ошибкой, если упаковщик не поддерживает перезапись существующих файлов.

Внимание

Если файл-назначение существует, он будет перезаписан.

Замечание: Замечание отностильно совместимости Windows: Если вы копируете пустой файл, copy() вернёт FALSE, но файл будет нормально скопирован.

См.также описание функций move_uploaded_file(), rename(), а также главу руководства Обработка загрузки файлов.

clearstatcache
delete
Файловая система


См.описание функции unlink или unset

copy
dirname
Файловая система
PHP Manual

delete

(None)

delete — См.описание функции unlink() или unset()

Описание

void delete ( string $file )

Это фиктивная секция руководства, которая помогает программистам, ищущим описание unlink() или unset() в неверном месте.

См.также описания функции unlink(), служащей для удаления файлов или unset() - для удаления переменных.

copy
dirname
Файловая система


Возвращает имя каталога из указанного пути

delete
disk_free_space
Файловая система
PHP Manual

dirname

(PHP 4, PHP 5)

dirname — Возвращает имя каталога из указанного пути

Описание

string dirname ( string $path )

Данная функция возвращает имя каталога, содержащегося в параметре path .

На платформах Windows в качестве разделителей имен директорий используются оба слэша (прямой / и обратный \). В других операционных системах разделителем служит прямой слэш (/).

Пример #1 Пример использования функции dirname()

<?php
$path = "/etc/passwd";
$file = dirname($path); // $file содержит "/etc"
?>

Замечание: Начиная с PHP версии 4.0.3, функция dirname() стала совместима со стандартом POSIX. Это, по существу, означает, что, если в path отсутствуют слэши, функция вернет точку ('.'), обозначающую текущий каталог. Иначе результатом выполнения функции будет являться значение параметра path с отброшенным завершающим /компонентом. Обратите внимание, что вы будете часто получать точку или слэш в ситуациях, в которых прежняя фунциональность dirname() возвращала бы пустую строку.

dirname() изменила своё поведение в PHP 4.3.0. Примеры:

<?php

//до PHP 4.3.0
dirname('c:/'); // returned '.'

//после PHP 4.3.0
dirname('c:/'); // returns 'c:'

?>

dirname() стала правильно обрабатывать двоичные данные начиная с версии PHP 5.0.0

См.также описание функций 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 )

Функция возвращает размер свободного пространства в байтах, доступного для использования в указанном разделе диска.

Пример #1 Пример использования функции disk_free_space()

<?php
$df = disk_free_space("/");
// $df содержит размер свободного места в каталоге "/"

// Под Windows:
disk_free_space("C:");
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 )

Функция возвращает размер в байтах указанного раздела диска.

Пример #1 Пример использования disk_total_space()

<?php
// $df содержит размер "/"
$df = disk_total_space("/");

// Под Windows:
disk_total_space("C:");
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 .

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Дескриптор должен указывать на файл, открытый ранее с помощью функции fopen() или fsockopen().

Пример #1 Простой пример использования функции fclose()

<?php

  $handle = fopen('somefile.txt', 'r');

  fclose($handle);

?>

diskfreespace
feof
Файловая система


Проверяет, достигнут ли конец файла

fclose
fflush
Файловая система
PHP Manual

feof

(PHP 4, PHP 5)

feof — Проверяет, достигнут ли конец файла

Описание

bool feof ( resource $handle )

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

Внимание

Если подключение, открытое при помощи fsockopen() не было закрыто сервером, feof() будет ждать достижения таймаута прежде чем вернуть TRUE. Время таймаута по умолчанию равно 60 секундам. Вы можете использовать stream_set_timeout() для того, чтобы изменить это значение.

Указатель на файл должен быть корректным и указывать на файл, успешно открытый функциями fopen() или fsockopen().

fclose
fflush
Файловая система


Сброс буфера вывода в файл

feof
fgetc
Файловая система
PHP Manual

fflush

(PHP 4 >= 4.0.1, PHP 5)

fflush — Сброс буфера вывода в файл

Описание

bool fflush ( resource $handle )

Данная функция осуществляет сброс буферизованных данных в файл, на который указывает handle . Возвращает TRUE в случае успешного завершения, FALSE - в противном случае. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Указатель на файл должен быть корректным и указывать на файл, успешно открытый функциями fopen() или fsockopen().

feof
fgetc
Файловая система


Считывает символ из файла

fflush
fgetcsv
Файловая система
PHP Manual

fgetc

(PHP 4, PHP 5)

fgetc — Считывает символ из файла

Описание

string fgetc ( resource $handle )

Функция возвращает строку, содержащую один символ, прочитанный из файла, на который указывает handle . Возвращает FALSE по достижению конца файла (EOF).

Дескриптор должен указывать на файл, открытый ранее с помощью функции fopen(), popen() или fsockopen().

Указатель на файл должен быть корректным и указывать на файл, успешно открытый функциями fopen() или fsockopen().

Внимание

Эта функция может возвращать как логическое значение FALSE, так и не относящееся к логическому типу значение, которое приводится к 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(),
popen(), fsockopen() и
fgets().

fflush
fgetcsv
Файловая система


Читает строку из файла и производит разбор данных CSV

fgetc
fgets
Файловая система
PHP Manual

fgetcsv

(PHP 4, PHP 5)

fgetcsv — Читает строку из файла и производит разбор данных CSV

Описание

array fgetcsv ( resource $handle [, int $length [, string $delimiter [, string $enclosure ]]] )

handle
Корректный файловый указатель на файл, успешно открытый при помощи fopen(), popen(), или fsockopen().
length (Необязательный)
Должен быть больше самой длинной строки (в символах), найденной в CSV-файле (включая завершающий символ конца строки). Он стал необязательным в PHP 5. Если этот аргумент не указан (или равен 0 в версиях PHP 5.0.4 и выше), максимальная длинна строки не ограничена, но функция работает немного медленнее.
delimiter (Необязательный)
Устанавливает разделитель поля (только один символ). По умолчанию это запятая.
enclosure (Необязательный)
Устанавливает символ ограничителя поля (только один символ). По умолчанию это двойная кавычка. Добавлен в PHP 4.3.0.

Данная функция похожа на функцию fgets(), с той разницей, что она производит анализ строки на наличие записей в формате CSV и возвращает найденные поля в качестве массива.

Функция fgetcsv() возвращает FALSE в случае ошибки, а также по достижению конца файла.

Замечание: Пустая строка CSV-файла будет возвращена в качестве массива, содержащего единственный элемент null, ошибки в данном случае не возникнет.

Пример #1 Чтение и вывод на экран содержания CSV-файла

<?php
$row = 1;
$handle = fopen("test.csv", "r");
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);
?>

fgetcsv() стала правильно обрабатывать двоичные данные начиная с версии PHP 4.3.5

Замечание: Эта функция принимает во внимание настройки локали. К примеру, если LANG установлен в en_US.UTF-8, то файлы в однобайтовой кодировке будут неправильно прочитаны этой функцией.

Замечание: Если у вас возникают проблемы с распознаванием PHP окончания строк при чтении файлов на Macintosh-совместимом компьютере или при чтении файлов, созданных на Macintosh-совместимом компьютере, необходимо включить опцию auto_detect_line_endings.

См.также описание функций explode(), file(), pack() и fputcsv().

fgetc
fgets
Файловая система


Читает строку из файла

fgetcsv
fgetss
Файловая система
PHP Manual

fgets

(PHP 4, PHP 5)

fgets — Читает строку из файла

Описание

string fgets ( resource $handle [, int $length ] )

Возвращает строку размером в length - 1 байт, прочитанную из дескриптора файла, на который указывает параметр handle . Чтение заканчивается, когда количество прочитанных байтов достигает length - 1, по достижении конца строки (который включается в возвращаемое значение) или по достижении конца файла (что бы ни встретилось первым). Если длина не указана, по умолчанию ее значение равно 1 килобайту или 1024 байтам.

В случае возникновения ошибки функция возвращает FALSE.

Наиболее распространенные ошибки:

Программисты, привыкшие к семантике 'C' функции fgets(), должны принимать во внимание разницу в том, каким образом возвращается признак достижения конца файла (EOF).

Указатель на файл должен быть корректным и указывать на файл, успешно открытый функциями fopen() или fsockopen().

Ниже приведен простой пример:

Пример #1 Построчное чтение файла

<?php
$handle = fopen("/tmp/inputfile.txt", "r");
while (!feof($handle)) {
    $buffer = fgets($handle, 4096);
    echo $buffer;
}
fclose($handle);
?>

Замечание: Параметр length стал необязательным, начиная с PHP версии 4.2.0. Если этот параметр опущен, длина строки принимается за 1024. С версии PHP 4.3, отсутствие параметра length будет приводить к чтению потока до конца строки. Если длина большинства строк в файле превышает 8 килобайт, наиболее эффективным решением в отношении ресурсов, используемых скриптом, будет указание максимальной длины строки.

Замечание: Данная функция может корректно обрабатывать двоичные данные, начиная с версии PHP 4.3. Более ранние версии не обладали этой функциональностью.

Замечание: Если у вас возникают проблемы с распознаванием PHP окончания строк при чтении файлов на Macintosh-совместимом компьютере или при чтении файлов, созданных на Macintosh-совместимом компьютере, необходимо включить опцию auto_detect_line_endings.

См. также fread(),
fgetc(),
stream_get_line(),
fopen(),
popen(),
fsockopen() и
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() с той только разницей, что осуществляет отбрасывание любых HTML и PHP-тегов из прочитанной строки.

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

Замечание: Параметр allowable_tags был добавлен в версиях PHP 3.0.13 и PHP 4.0.0.

Параметр length является необязательным начиная с версии PHP 5.

Замечание: Если у вас возникают проблемы с распознаванием PHP окончания строк при чтении файлов на Macintosh-совместимом компьютере или при чтении файлов, созданных на Macintosh-совместимом компьютере, необходимо включить опцию auto_detect_line_endings.

См.также описание функций fgets(), fopen(),
fsockopen(), popen() и
strip_tags().

fgets
file_exists
Файловая система


Проверить наличие указанного файла или каталога

fgetss
file_get_contents
Файловая система
PHP Manual

file_exists

(PHP 4, PHP 5)

file_exists — Проверить наличие указанного файла или каталога

Описание

bool file_exists ( string $filename )

Возвращзает TRUE, если файл или каталог с именем, указанным в параметре filename , существует; возвращает FALSE в обратном случае.

На платформах Windows, для проверки наличия файлов на сетевых ресурсах, используйте имена, подобные //computername/share/filename или \\computername\share\filename.

Пример #1 Проверка существования файла

<?php
$filename = '/path/to/foo.txt';

if (file_exists($filename)) {
    echo "The file $filename exists";
} else {
    echo "The file $filename does not exist";
}
?>

Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache().

Подсказка

Начиная с PHP 5.0.0, эта функция также может быть использована с некоторыми упаковщиками url. Список упаковщиков, поддерживаемых семейством функций stat(), смотрите в List of Supported Protocols/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 [, resource $context [, int $offset [, int $maxlen ]]]] )

Данная функция идентична функции file() с той только разницей, что содержимое файла возвращается в строке, начиная с указанного смещения offset и до maxlen байтов. В случае неудачи, file_get_contents() вернёт FALSE.

Использование функции file_get_contents() наиболее предпочтительно в случае необходимости получить содержимое файла целиком, поскольку для улучшения производительности функция использует алгоритм 'memory mapping' (если поддерживается операционной системой).

Замечание: Если вы открываете URI содержащий спецсимволы, такие как пробел, вам нужно закодировать URI при помощи urlencode().

Список изменений

Версия | Описание
5.0.0 | Добавлена поддержка контекста.
5.1.0 | Добавлены аргументы offset и maxlen .

Примечания

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

Подсказка

Для этой функции вы можете использовать URL в качестве имени файла, если была включена опция "fopen wrappers". Смотрите более подробную информацию об определении имени файла в описании функции fopen(), а также список поддерживаемых протоколов URL в List of Supported Protocols/Wrappers.

Внимание

При использовании SSL, Microsoft IIS нарушает протокол, закрывая соединение без отправки индикатора close_notify. PHP сообщит об этом как о "SSL: Fatal Protocol Error" в тот момент, когда вы достигнете конца данных. Чтобы обойти это, вы должны установить error_reporting на уровень, исключающий E_WARNING. PHP версий 4.3.7 и старше умеет определять, что на стороне сервера находится проблемный IIS и не выводит предупреждение. Если вы используете fsockopen() для создания ssl:// сокета, вы сами отвечаете за определение и подавление этого предупреждения.

Смотрите также

  • file() - Читает содержимое файла и помещает его в массив
  • fgets() - Читает строку из файла
  • fread() - Бинарно-безопасное чтение файла
  • readfile() - Выводит файл
  • file_put_contents() - Записать строку в файл

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 [, resource $context ]] )

Функция идентична последовательному вызову функций fopen(), fwrite() и fclose(). Возвращаемым функцией значением является количество записанных в файл байтов.

Параметр flags может принимать значение FILE_USE_INCLUDE_PATH и/или FILE_APPEND. Используйте FILE_USE_INCLUDE_PATH с осторожностью.

Также вы можете передать (одномерный) массив в качестве параметра data . Это будет эквивалентно вызову file_put_contents($filename, join('', $array)).

Начиная с версии PHP 5.1.0, вы также можете передавать ресурс потока в качестве аргумента data . В результате оставшийся буфер этого потока будет скопирован в указанный файл. Это похоже на использование stream_copy_to_stream().

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

Подсказка

Для этой функции вы можете использовать URL в качестве имени файла, если была включена опция "fopen wrappers". Смотрите более подробную информацию об определении имени файла в описании функции fopen(), а также список поддерживаемых протоколов URL в List of Supported Protocols/Wrappers.

См.также описания функций
fopen(),
fwrite(),
fclose() и
file_get_contents().

file_get_contents
file
Файловая система


Читает содержимое файла и помещает его в массив

file_put_contents
fileatime
Файловая система
PHP Manual

file

(PHP 4, PHP 5)

file — Читает содержимое файла и помещает его в массив

Описание

array file ( string $filename [, int $use_include_path [, resource $context ]] )

Данная функция идентична функций readfile() с той разницей, что file() возвращает содержимое прочитанного файла в виде массива. Каждый элемент возвращенного массива содержит соответствующую строку с символами конца строки. В случае ошибки, функция file() возвращает FALSE.

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

<?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/'));
?>

Подсказка

Для этой функции вы можете использовать URL в качестве имени файла, если была включена опция "fopen wrappers". Смотрите более подробную информацию об определении имени файла в описании функции fopen(), а также список поддерживаемых протоколов URL в List of Supported Protocols/Wrappers.

Замечание: Каждая строка в полученном массиве будет завершаться символами конца строки, поэтому, если вам будет нужно избавиться от этих символов, вы будете должны использовать функцию rtrim().

Замечание: Если у вас возникают проблемы с распознаванием PHP окончания строк при чтении файлов на Macintosh-совместимом компьютере или при чтении файлов, созданных на Macintosh-совместимом компьютере, необходимо включить опцию auto_detect_line_endings.

Замечание: Начиная с PHP 4.3.0, вы можете использовать функцию file_get_contents() для получения содержимого файла в виде строки.
Начиная с PHP 4.3.0, функция file() корректно обрабатывает двоичные данные.

Замечание: Поддержка контекста была добавлена в PHP 5.0.0.

Внимание

При использовании SSL, Microsoft IIS нарушает протокол, закрывая соединение без отправки индикатора close_notify. PHP сообщит об этом как о "SSL: Fatal Protocol Error" в тот момент, когда вы достигнете конца данных. Чтобы обойти это, вы должны установить error_reporting на уровень, исключающий E_WARNING. PHP версий 4.3.7 и старше умеет определять, что на стороне сервера находится проблемный IIS и не выводит предупреждение. Если вы используете fsockopen() для создания ssl:// сокета, вы сами отвечаете за определение и подавление этого предупреждения.

См.также описания функций readfile(),
fopen(), fsockopen(),
popen(), file_get_contents()
и include().

file_put_contents
fileatime
Файловая система


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

file
filectime
Файловая система
PHP Manual

fileatime

(PHP 4, PHP 5)

fileatime — Получить время последнего доступа к файлу

Описание

int fileatime ( string $filename )

Возвращает время, когда в последний раз был осуществлен доступ к указанному файлу, или FALSE в случае ошибки. Время возвращается в формате 'Unix timestamp'.

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

Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache().

Подсказка

Начиная с PHP 5.0.0, эта функция также может быть использована с некоторыми упаковщиками url. Список упаковщиков, поддерживаемых семейством функций stat(), смотрите в List of Supported Protocols/Wrappers.

Пример #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));
}

?>

См.также описания функций filemtime(),
fileinode() и
date().

file
filectime
Файловая система


Получить время последнего изменения i-узла

fileatime
filegroup
Файловая система
PHP Manual

filectime

(PHP 4, PHP 5)

filectime — Получить время последнего изменения i-узла

Описание

int filectime ( string $filename )

Возвращает время последнего изменения файла или FALSE в случае ошибки. Время возвращается в формате 'Unix timestamp'.

Примечание. На большинстве платформ Unix, файл считается измененным, если изменены данные его i-узла, что включает информацию о правах на файл, о его владельце и группе и любую другую информацию, содержащуюся в i-узле. Обратитесь также к описаниям функций filemtime() (данная функция полезна для создания сообщений, как-то: "Последнее обновление от..." на web-страницах) и fileatime().

Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache().

Подсказка

Начиная с PHP 5.0.0, эта функция также может быть использована с некоторыми упаковщиками url. Список упаковщиков, поддерживаемых семейством функций stat(), смотрите в List of Supported Protocols/Wrappers.

Пример #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));
}

?>

См.также описание функции filemtime().

fileatime
filegroup
Файловая система


Получить идентификатор группы файла

filectime
fileinode
Файловая система
PHP Manual

filegroup

(PHP 4, PHP 5)

filegroup — Получить идентификатор группы файла

Описание

int filegroup ( string $filename )

Функция возвращает идентификатор группы файла в виде числа. Для получения имени группы в виде строки используйте функцию posix_getgrgid(). В случае возникновения ошибки функция возвращает FALSE и генерируется сообщение об ошибке уровня E_WARNING.

Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache().

Подсказка

Начиная с PHP 5.0.0, эта функция также может быть использована с некоторыми упаковщиками url. Список упаковщиков, поддерживаемых семейством функций stat(), смотрите в List of Supported Protocols/Wrappers.

См.также описания функций fileowner() и safe_mode_gid.

filectime
fileinode
Файловая система


Получить номер inode файла

filegroup
filemtime
Файловая система
PHP Manual

fileinode

(PHP 4, PHP 5)

fileinode — Получить номер inode файла

Описание

int fileinode ( string $filename )

Функция возвращает номер inode файла или FALSE в случае возникновения ошибки.

Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache().

Подсказка

Начиная с PHP 5.0.0, эта функция также может быть использована с некоторыми упаковщиками url. Список упаковщиков, поддерживаемых семейством функций stat(), смотрите в List of Supported Protocols/Wrappers.

См.также описание функции stat()

filegroup
filemtime
Файловая система


Получить время последнего изменения файла

fileinode
fileowner
Файловая система
PHP Manual

filemtime

(PHP 4, PHP 5)

filemtime — Получить время последнего изменения файла

Описание

int filemtime ( string $filename )

Функция возвращает время последнего изменения указанного файла или FALSE в случае возникновения ошибки. Время возвращается в формате 'Unix timestamp', который подходит для передачи в качестве аргумента функции date().

Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache().

Подсказка

Начиная с PHP 5.0.0, эта функция также может быть использована с некоторыми упаковщиками url. Список упаковщиков, поддерживаемых семейством функций stat(), смотрите в List of Supported Protocols/Wrappers.

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

Пример #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));
}
?>

См.также описание функций filectime(), stat(), touch() и getlastmod().

fileinode
fileowner
Файловая система


Получить идентификатор владельца файла

filemtime
fileperms
Файловая система
PHP Manual

fileowner

(PHP 4, PHP 5)

fileowner — Получить идентификатор владельца файла

Описание

int fileowner ( string $filename )

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

Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache().

Подсказка

Начиная с PHP 5.0.0, эта функция также может быть использована с некоторыми упаковщиками url. Список упаковщиков, поддерживаемых семейством функций stat(), смотрите в List of Supported Protocols/Wrappers.

См.также описание функции stat().

filemtime
fileperms
Файловая система


Получить информацию о правах на файл

fileowner
filesize
Файловая система
PHP Manual

fileperms

(PHP 4, PHP 5)

fileperms — Получить информацию о правах на файл

Описание

int fileperms ( string $filename )

Функция возвращает информацию о правах на указанный файл или FALSE в случае возникновения ошибки.

Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache().

Подсказка

Начиная с PHP 5.0.0, эта функция также может быть использована с некоторыми упаковщиками url. Список упаковщиков, поддерживаемых семейством функций stat(), смотрите в List of Supported Protocols/Wrappers.

Пример #1 Display permissions as an octal value

<?php
echo substr(sprintf('%o', fileperms('/tmp')), -4);
echo substr(sprintf('%o', fileperms('/etc/passwd')), -4);
?>

This would produce the output:

1777
0644

Пример #2 Display full permissions

<?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;
?>

Результат:

-r--r--r--

См.также описания функций is_readable() и stat()

fileowner
filesize
Файловая система


Получить размер файла

fileperms
filetype
Файловая система
PHP Manual

filesize

(PHP 4, PHP 5)

filesize — Получить размер файла

Описание

int filesize ( string $filename )

Возвращает размер указанного файла в байтах или FALSE в случае возникновения ошибки.

Замечание: Поскольку PHP использует знаковое представления для чисел целого типа, а многие платформы используют 32-битные целые числа, функция filesize() может возвращать неожиданные значения для файлов, чей размер превосходит 2 Гб. Если размер файла находится в пределах 2 - 4 Гб, корректное значение можно получить, используя конструкцию sprintf("%u", filesize($file)).

Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache().

Подсказка

Начиная с PHP 5.0.0, эта функция также может быть использована с некоторыми упаковщиками url. Список упаковщиков, поддерживаемых семейством функций stat(), смотрите в List of Supported Protocols/Wrappers.

Пример #1 Пример использования функции filesize()

<?php

// Пример вывода: Размер файла somefile.txt: 1024 байтов

$filename = 'somefile.txt';
echo 'Размер файла ' . $filename . ': ' . filesize($filename) . ' байтов';

?>

См.также описание функции file_exists()

fileperms
filetype
Файловая система


Получить тип файла

filesize
flock
Файловая система
PHP Manual

filetype

(PHP 4, PHP 5)

filetype — Получить тип файла

Описание

string filetype ( string $filename )

Возвращает тип файла. Возможными значениями являются fifo, char, dir, block, link, file и unknown.

Возвращает FALSE в случае возникновения ошибки. filetype() также вызовет сообщение E_NOTICE при неудачной попытке получения информации о файле или если тип файла неизвестен.

Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache().

Подсказка

Начиная с PHP 5.0.0, эта функция также может быть использована с некоторыми упаковщиками url. Список упаковщиков, поддерживаемых семейством функций stat(), смотрите в List of Supported Protocols/Wrappers.

Пример #1 Пример использования функции filetype()

<?php

echo filetype('/etc/passwd');  // file
echo filetype('/etc/');        // dir

?>

См. также описание функций is_dir(),
is_file(), is_link(),
file_exists(), stat() и
mime_content_type().

filesize
flock
Файловая система


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

filetype
fnmatch
Файловая система
PHP Manual

flock

(PHP 4, PHP 5)

flock — Портируемое рекомендательное запирание файлов

Описание

bool flock ( resource $handle , int $operation [, int &$wouldblock ] )

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

Замечание: flock() является обязательным под Windows.

flock() применяется к handle , который должен быть указателем на открытый файл. Параметр operation может принимать следующие значения:

  • Чтобы установить общее запирание (чтение), установите operation в значение LOCK_SH (или 1, в случае версии PHP ниже 4.0.1).
  • Чтобы установить эксклюзивное запирание (запись), установите operation в значение LOCK_EX (или 2, в случае версии PHP ниже 4.0.1).
  • Чтобы отпереть файл (после общего или эксклюзивного запирания), установите operation в значение LOCK_UN (или 3, в случае версии PHP ниже 4.0.1).
  • Если вы не хотите, чтобы flock() блокировал файл при запирании, добавьте LOCK_NB (или 4, при использовании версии PHP ниже 4.0.1) к параметру operation .

flock() позволяет вам реализовывать простую модель чтения/записи, которая может быть использована практически на любой платформе (включая большинство проивзодных от Unix платформ, и даже Windows). Необязательный третий аргумент устанавливается в TRUE, если запирание также блокирует (код ошибки EWOULDBLOCK). Блокировка снимается при помощи этой же функции fclose() (которая также автоматически вызывается при завершении выполнения скрипта).

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Пример #1 Пример использования функции flock()

<?php

$fp = fopen("/tmp/lock.txt", "w+");

if (flock($fp, LOCK_EX)) { // выполнить эксплюзивное запирание
    fwrite($fp, "Что-нибудь пишем\n");
    flock($fp, LOCK_UN); // отпираем файл
} else {
    echo "Не могу запереть файл !";
}

fclose($fp);

?>

Замечание: Из-за того, что функции flock() необходим указатель на файл, вам может понадобиться воспользоваться специальным запирающим файлом для того, чтобы ограничить доступ к файлу, который вы намерены очищать путём открытыя его в режиме записи (используя "w" или "w+" в качестве аргумента функции fopen()).

Внимание

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

В некоторых операционных системах 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 ] )

fnmatch() проверяет, совпадает ли переданный параметр string с указанным шаблоном подстановок оболочки (shell wildcard) pattern .

Эта функция полезна при рабоде с именами файлов, хотя может быть использована и на обычной строке. Среднестатистический пользователь знаком с подстановками оболочки, как минимум в их простейшей форме из подстановок '?' и '*', так что использование fnmatch() вместо ereg() или preg_match() для поиска в пользовательской части сайта может быть намного удобнее для пользователей, не знакомых с регулярными выражениями.

Пример #1 Проверяет, соответствует ли цвет шаблону подстановок оболочки.

<?php
if (fnmatch("*gr[ae]y", $color)) {
  echo "some form of gray ...";
}
?>
Внимание

На данный момент эта функция недоступна в Windows и других POSIX-несовместимых системах.

См. также описание функций glob(), ereg(), preg_match() и Unix manpage по теме fnmatch(3) для получения информации относительно названий флагов (до тех пор, пока они не задокументированы здесь ).

flock
fopen
Файловая система


Открывает файл или URL

fnmatch
fpassthru
Файловая система
PHP Manual

fopen

(PHP 4, PHP 5)

fopen — Открывает файл или URL

Описание

resource fopen ( string $filename , string $mode [, bool $use_include_path [, resource $zcontext ]] )

fopen() закрепляет именованый ресурс, указанный в аргументе filename , за потоком. Если filename передан в форме "scheme://...", он считается URL'ом и PHP проведёт поиск обработчика протокола (также известного как "обвёртка") для этой схемы. Если ни одна обвёртка не закреплена за протоколом, PHP выдаст замечание чтобы помочь вам отследить потенциальную проблему в вашем скрипте и продолжит выполнение, будто filename указывает на обыкновенный файл.

Если PHP решил, что filename указывает на локальный файл, тогда он попытается открыть поток к этому файлу. Файл должен быть доступен PHP, так что вам следует убедиться, что права доступа на файл разрешают это. Если вы вкдючили безопасный режим или open_basedir, накладываются дальнейшие ограничения.

Если PHP решил, что filename указывает на зарегистрированный протокол и этот протокол зарегистрирован как сетевой URL, PHP проверит состояние директивы allow_url_fopen. Если она выключена, PHP выдаст предупреждение и вызов fopen закончится неудачей.

Замечание: Список поддерживаемых протоколов доступен в разделе List of Supported Protocols/Wrappers. Некоторые протоколы (обвёртки) поддерживают context и/или опции php.ini. Обратитесь к соответствующей странице с описанием используемого протокола для получения списка опций, которые могут быть установлены. (например, значение php.ini user_agent используется обвёрткой http). Для получения описания параметров contexts и zcontext , обратитесь к разделу Stream Функции.

Замечание: Поддержка контекста была добавлена в PHP 5.0.0.

Замечание: Начиная с версии PHP 4.3.2, бинарный режим является режимом по умолчанию для всех платформ, которые различают бинарный и текстовый, режимы. Если у вас возникли проблемы после обновления, попробуйте использовать флаг 't' в качестве обходного пути до тех пор, пока вы не измените свои скрипты для достижения большей портируемости, как отмечено выше.

Параметр mode указывает тип доступа, который вы запрашиваете у потока. Он может быть одним из следующих:

Список возможных режимов для fopen() используя mode
mode | Описание
'r' | Открывает файл только для чтения; помещает указатель в начало файла.
'r+' | Окрывает файл для чтения и записи; помещяет указатель в начало файла.
'w' | Открывает файл только для записи; помещает указатель в начало файла и обрезает файл до нулевой длинны. Если файл не существует - пробует его создать.
'w+' | Открывает файл для чтения и записи; помещает указатель в начало файла и обрезает файл до нулевой длинны. Если файл не существует - пробует его создать.
'a' | Открывает файл только для записи; помещает указатель в конец файла. Если файл не существует - пытается его создать.
'a+' | Открывает файл для чтения и записи; помещает указатель в конец файла. Если файл не существует - пытается его создать.
'x' | Создаёт и открывает только для записи; помещает указатель в начало файла. Если файл уже существует, вызов fopen() закончится неудачей, вернёт FALSE и выдаст предупреждение уровня E_WARNING. Если файл не существует, попытается его создать. Это эквивалентно указанию флагов O_EXCL|O_CREAT для внутреннего системного вызова open(2). Эта опция поддерживается начиная с версии PHP 4.3.2 и выше, и работает только для локальных файлов.
'x+' | Создаёт и открывает для чтения и записи; помещает указатель в начало файла. Если файл уже существует, вызов fopen() закончится неудачей, вернёт FALSE и выдаст предупреждение уровня E_WARNING. Если файл не существует, попытается его создать. Это эквивалентно указанию флагов O_EXCL|O_CREAT для внутреннего системного вызова open(2). Эта опция поддерживается начиная с версии PHP 4.3.2 и выше, и работает только для локальных файлов.

Замечание: Разные семейства операционных систем имеют разные соглашения относительно окончанийя строк. Когда вы пишете текст и хотите вставить разрыв строки, вы должны использовать правильный(-ые) символ(ы) для вашей операционной системы. Системы семейства Unix используют \n в качестве символа конца строки, системы семейства Windows используют \r\n в качестве символов окончания строки и системы семейства Macintosh используют \r в качестве символа конца строки.
Если вы используете неверный символ конца строки при редактировании файлов, вы можете обнаружить, что при открытии эти файлы "смешно выглядят".
Windows предлагает флаг режима текстовой трансляции ('t'), который автоматически переведёт \n во время работы с файлом. И наоборот - также вы можете использовать 'b' чтобы принудительно включить бинарный (двоичный) режим, в котором ваши данные не будут преобразовываться. Чтобы использовать эти режимы, укажите 'b' или 't' в качестве последней буквы параметра mode .
Так как установка флага трансляции по умолчанию зависит от SAPI и версии PHP, которую вы используете, рекомендуем явно задавать указанный флаг из соображений портируемости. Вы должны использовать режим 't' если вы работаете с текстовым файлом и использовать \n для разделения для обозначения конца строки в вашем скрипте, при этом не беспокоясь за читаемость ваших файлов в других приложениях типа "Блокнота". В противном случае вам следует использовать флаг 'b'.
Если вы явно не укажете флаг 'b' во время работы с бинарными файлами, вы можете столкнуться со странной порчей ваших данных, включая испорченные файлы изображений и странные проблемы с символами \r\n.

Замечание: Из соображений портируемости, настоятельно рекомендуется всегда использовать флаг 'b' при открытии файлов с помощью fopen().

Замечание: Кроме того, из соображений портируемости, также настойчиво рекомендуется переписать старый код, который полагается на режим 't', чтобы вместо этого он использовал правильные окончания строк и режим 'b'.

Необязательный третий параметр use_include_path может быть установлен в '1' или TRUE, если вы также хотите провести поиск файла в include_path.

Если открыть файл не удалось, функция вернёт FALSE и сгенерирует ошибку уровня E_WARNING. Вы можете использовать @ для того, чтобы подавить это предупреждение.

Пример #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");
?>

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

На платформе Windows, вам необходимо не забывать экранировать все обратные слеши в пути к файлу или использовать прямые слеши.

<?php
$handle = fopen("c:\\data\\info.txt", "r");
?>

Внимание

При использовании SSL, Microsoft IIS нарушает протокол, закрывая соединение без отправки индикатора close_notify. PHP сообщит об этом как о "SSL: Fatal Protocol Error" в тот момент, когда вы достигнете конца данных. Чтобы обойти это, вы должны установить error_reporting на уровень, исключающий E_WARNING. PHP версий 4.3.7 и старше умеет определять, что на стороне сервера находится проблемный IIS и не выводит предупреждение. Если вы используете fsockopen() для создания ssl:// сокета, вы сами отвечаете за определение и подавление этого предупреждения.

Замечание: Когда опция safe mode включена, PHP проверяет, имеет ли каталог, с которым вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.

См. также раздел List of Supported Protocols/Wrappers,
описание функций fclose(),
fgets(),
fread(),
fwrite(),
fsockopen(),
file(),
file_exists(),
is_readable(),
stream_set_timeout() и
popen().

fnmatch
fpassthru
Файловая система


Выводит все оставшиеся данные из файлового указателя

fopen
fputcsv
Файловая система
PHP Manual

fpassthru

(PHP 4, PHP 5)

fpassthru — Выводит все оставшиеся данные из файлового указателя

Описание

int fpassthru ( resource $handle )

Читает указанный файловый указатель с текущей позиции до EOF (конца файла) и записывает результат в буфер вывода.

Если происходит ошибка, fpassthru() возвращает FALSE. В ином случае, fpassthru() возвращает количество символов, прочтнных из handle и переданных на вывод.

Указатель на файл должен быть корректным и указывать на файл, успешно открытый функциями fopen() или fsockopen().

Вам может понадобиться вызвать rewind() чтобы сбросить файловый указатель на начало файла, если вы уже записывали данные в файл.

Если вы хотите просто сбросить содержимое файла в буфер вывода, предварительно не модифицируя его и не начиная с определённого смещения, вы можете пожелать использовать readfile(), которая избавит вас от лишнего вызова fopen().

Замечание: Во время использования fpassthru() на бинарном файле в сисиемах Windows, вы должны убедиться в том, что открыли файл в бинарном режиме при помощи добавления b к режиму открытия файла, использованному в fopen().
Рекомендуется использовать флаг b при работе с бинарными файлам даже если ваша система этого не требует, чтобы обеспечить более высокую портируемость скриптов.

Пример #1 Использование fpassthru() с бинарными файлами

<?php

// открываем файл в бинарном режиме
$name = ".\public\dev\img\ok.png";
$fp = fopen($name, 'rb');

// отправляем нужные заголовки
header("Content-Type: image/png");
header("Content-Length: " . filesize($name));

// скидываем картинку и останавливаем выполнение скрипта
fpassthru($fp);
exit;

?>

См. также описание функций readfile(),
fopen(), popen() и
fsockopen()

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 . Возвращает длинну записанной строки или FALSE в случае неудачи.

Дополнительный параметр delimiter устанавливает разделитель полей (только один символ). По умолчанию это запятая: ,.

Дополнительный параметр enclosure устанавливает ограничитель полей (только один символ). По умолчанию это двойная кавычка: ".

Пример #1 Пример использования функции fputcsv()

<?php

$list = array (
    'aaa,bbb,ccc,dddd',
    '123,456,789',
    '"aaa","bbb"'
);

$fp = fopen('file.csv', 'w');

foreach ($list as $line) {
    fputcsv($fp, split(',', $line));
}

fclose($fp);
?>

Замечание: Если у вас возникают проблемы с распознаванием PHP окончания строк при чтении файлов на Macintosh-совместимом компьютере или при чтении файлов, созданных на Macintosh-совместимом компьютере, необходимо включить опцию auto_detect_line_endings.

См. также описание функции fgetcsv().

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 (конца файла) или (для сетевых потоков) когда пакет становится доступным, что бы не произошло первым.

<?php
// получает содержимое файла в строку
$filename = "/usr/local/something.txt";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);
?>

Внимание

На системах, которые различают бинарные и текстовые файлы (к примеру Windows), файл должен быть открыт с использованием буквы 'b' в параметре mode функции fopen().

<?php
$filename = "c:\\files\\somepic.gif";
$handle = fopen($filename, "rb");
$contents = fread($handle, filesize($filename));
fclose($handle);
?>

Внимание

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

<?php
$handle = fopen("http://www.example.com/", "rb");
$contents = '';
while (!feof($handle)) {
  $contents .= fread($handle, 8192);
}
fclose($handle);
?>

Замечание: Если вы просто хотите получить содержимое файла в виде строки, используйте file_get_contents() в качестве более предпочтительного метода, чем описанный выше.

См. также описания функций fwrite(), fopen(),
fsockopen(), popen(),
fgets(), fgetss(),
fscanf(), file() и
fpassthru().

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 в строке формата может быть сопоставлена одному символу пробела во входящем потоке данных.

Пример #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

Замечание: В версиях PHP ниже 4.3.0, максимальное количество символов, которые считывались из файла, составляло 512 (или до первого символа \n - смотря что встретится первым). Начиная с версии PHP 4.3.0, длинна строк не ограничена.

См. также описание функций fread(), fgets(),
fgetss(), sscanf(),
printf() и sprintf().

fread
fseek
Файловая система


Устанавливает смещение в файловом указателе

fscanf
fstat
Файловая система
PHP Manual

fseek

(PHP 4, PHP 5)

fseek — Устанавливает смещение в файловом указателе

Описание

int fseek ( resource $handle , int $offset [, int $whence ] )

Устанавливает смещение в файле, на который ссылается handle . Новое смещение, измеряемое в байтах от начала файла, получается путём прибавления параметра offset к позиции, указанной в параметре whence , значения которого определяются следующим образом:

  • SEEK_SET - Устанавливает смещение в offset байт.
  • SEEK_CUR - Устанавливает смещение в текущее плюс offset .
  • SEEK_END - Устанавливает смещение в размер файла плюс offset . (Чтобы перейти к смещению перед концом файла, вы должны передать отрицательное значение в параметр offset .)

Если whence не указан, по умолчанию он устанавливается в SEEK_SET.

В случае успеха возвращает 0; в противном сучае возвращает -1. Обратите внимание, что переход к смещению за концом файла не считается ошибкой.

Пример #1 Пример использования функции fseek()

<?php

$fp = fopen('somefile.txt');

// читаем немного данных
$data = fgets($fp, 4096);

// перемещаемся назад к началу файла
// то же самое, что и rewind($fp);
fseek($fp, 0);

?>

Не может использоваться на файловых указателях, возвращённых функцией fopen(), если они используют форматы "http://" или "ftp://". fseek() также возвращает неопределённый результат для потоков "дописать в конец" (открытых с флагом "a").

Замечание: Параметр whence был добавлен в версии PHP 4.0.0.

См. также описание функций ftell() и rewind().

fscanf
fstat
Файловая система


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

fseek
ftell
Файловая система
PHP Manual

fstat

(PHP 4, PHP 5)

fstat — Получает информацию о файле используя открытый файловый указатель

Описание

array fstat ( resource $handle )

Собирает статистическую информацию о открытом файле по файловому указателю handle . Эта функция похожа на stat(), за исключением того, что она работает с открытым файловым указателем, а не именем файла.

Возвращает массив со статистической информацией на файл; формат массива подробно описан на странице описания функции 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 .

При возникновении ошибки, возвращает FALSE.

Файловый указатель должен быть действующим указателем
на поток, открытый функциями fopen() или
popen().
ftell() возвращает неопределённые результаты для
потоков "дописать в конец" (открытых с флагом "a" flag).

Пример #1 Пример использования функции ftell()

<?php

// открываем файл и читаем немного данных
$fp = fopen("/etc/passwd", "r");
$data = fgets($fp, 12);

// где же мы ?
echo ftell($fp); // 11

fclose($fp);

?>

См. также описание функций fopen(), popen(), fseek() и rewind().

fstat
ftruncate
Файловая система


Урезает файл до указанной длинны

ftell
fwrite
Файловая система
PHP Manual

ftruncate

(PHP 4, PHP 5)

ftruncate — Урезает файл до указанной длинны

Описание

bool ftruncate ( resource $handle , int $size )

Принимает файловый указатель handle и урезает соответствующий файл до размера size . Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Замечание: В версиях PHP ниже 4.3.3, ftruncate() возвращает значение integer 1 в случае успеха, вместо boolean TRUE.

См. также описание функций fopen() и fseek().

ftell
fwrite
Файловая система


Бинарно-безопасная запись в файл

ftruncate
glob
Файловая система
PHP Manual

fwrite

(PHP 4, PHP 5)

fwrite — Бинарно-безопасная запись в файл

Описание

int fwrite ( resource $handle , string $string [, int $length ] )

fwrite() записывает содержимое string в файловый поток handle . Если передан аргумент length , запись остановится после того, как length байтов будут записаны или будет достигнут конец строки string , смотря что произойдёт первым.

fwrite() возвращает количество записанных байтов или FALSE в случае ошибки.

Обратите внимание, что если аргумент length указан, то конфигурационная опция magic_quotes_runtime будет проигнорирована и строка string не будет очищена от слешей.

Замечание: В системах, различающих двоичные и текстовые файлы (к примеру, Windows), файл должен быть открыт используя флаг 'b' в конце аргумента mode функции fopen().

Пример #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(),
fsockopen(),
popen() и
file_put_contents().

ftruncate
glob
Файловая система


Находит файловые пути, совпадающие с шаблоном

fwrite
is_dir
Файловая система
PHP Manual

glob

(PHP 4 >= 4.3.0, PHP 5)

glob — Находит файловые пути, совпадающие с шаблоном

Описание

array glob ( string $pattern [, int $flags ] )

Функция glob() ищет все пути, совпадающие с шаблоном pattern согласно правилам, используемым в функции glob() библиотеки libc, которые похожи на правила, используемые большинством распространённых оболочек. Раскрытие тильды или подстановки параметров не совершаются.

Возвращает массив, который содержит совпадающие файлы/директории или FALSE в случае ошибки.

Допустимые флаги:

  • GLOB_MARK - Добавляет слеш к каждому возвращаемому предмету
  • GLOB_NOSORT - Возвращает файлы в таком виде, в котором они содержатся в директории (без сортировки)
  • GLOB_NOCHECK - Возвращает шаблон поиска, если с его помощью не был найден ни один файл.
  • GLOB_NOESCAPE - Обратные слеши не экранируют метасимволы
  • GLOB_BRACE - Раскрывает {a,b,c} для совпадения с 'a', 'b' или 'c'
  • GLOB_ONLYDIR - Возвращает только директории, совпадающие с шаблоном

Замечание: В версиях ниже PHP ниже 4.3.3 GLOB_ONLYDIR был не доступен в Windows и других системах, не использующих библиотеку GNU C.

Пример #1 Удобный способ, как при помощи glob() можно заменить opendir() и её друзей.

<?php
foreach (glob("*.txt") as $filename) {
    echo "$filename size " . filesize($filename) . "\n";
}
?>

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

funclist.txt size 44686
funcsummary.txt size 267625
quickref.txt size 137820

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

См. также описание функций 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 )

Возвращает TRUE, если файл существует и является директорией. Если filename - это относительное имя файла, оно будет проверено относительно текущей рабочей директории.

Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache().

Пример #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)

Подсказка

Начиная с PHP 5.0.0, эта функция также может быть использована с некоторыми упаковщиками url. Список упаковщиков, поддерживаемых семейством функций stat(), смотрите в List of Supported Protocols/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 )

Возвращает TRUE, если файл существует и является исполняемым.

is_executable() стала доступна в Windows начиная с версии PHP 5.0.0.

Пример #1 Пример использования функции is_executable()

<?php

$file = '/home/vincent/somefile.sh';

if (is_executable($file)) {
    echo $file.' является исполняемым';
} else {
    echo $file.' не является исполняемым';
}

?>

Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache().

Подсказка

Начиная с PHP 5.0.0, эта функция также может быть использована с некоторыми упаковщиками url. Список упаковщиков, поддерживаемых семейством функций stat(), смотрите в List of Supported Protocols/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 )

Возвращает TRUE, если файл существует и является обычным файлом.

Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache().

Подсказка

Начиная с PHP 5.0.0, эта функция также может быть использована с некоторыми упаковщиками url. Список упаковщиков, поддерживаемых семейством функций stat(), смотрите в List of Supported Protocols/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 )

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

Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache().

Подсказка

Начиная с PHP 5.0.0, эта функция также может быть использована с некоторыми упаковщиками url. Список упаковщиков, поддерживаемых семейством функций stat(), смотрите в List of Supported Protocols/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, если файл существует и доступен для чтения.

Не забывайте, что PHP может обращаться к файлам от имени пользователя, от которого запущен веб-сервер (часто 'nobody'). Ограничения безопасного режима не беруться во внимание.

Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache().

Подсказка

Начиная с PHP 5.0.0, эта функция также может быть использована с некоторыми упаковщиками url. Список упаковщиков, поддерживаемых семейством функций stat(), смотрите в List of Supported Protocols/Wrappers.

См. также описание функций 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'] не подходит.

Пример #1 Пример использования функции is_uploaded_file()

<?php

if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
   echo "File ". $_FILES['userfile']['name'] ." uploaded successfully.\n";
   echo "Displaying contents\n";
   readfile($_FILES['userfile']['tmp_name']);
} else {
   echo "Possible file upload attack: ";
   echo "filename '". $_FILES['userfile']['tmp_name'] . "'.";
}

?>

Функция is_uploaded_file() доступна только начиная с версии PHP 3.0.16 и PHP 4.0.2 для третьей и четвёртой линеек соответственно. Если вам необходимо использовать более ранние версии, вы можете использовать такую функцию, чтобы обезопасить себя:

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

Пример #2 Пример использования функции is_uploaded_file()

<?php
/* Самодельная проверка на то, является ли файл загруженным. */
function is_uploaded_file($filename)
{
    if (!$tmp_file = get_cfg_var('upload_tmp_dir')) {
        $tmp_file = dirname(tempnam('', ''));
    }
    $tmp_file .= '/' . basename($filename);
    /* У пользователя может быть завершающий слеш в php.ini... */
    return (ereg_replace('/+', '/', $tmp_file) == $filename);
}

/* Вот пример использования, так как функция move_uploaded_file()
 * также отсутствует в ранних версиях: */
if (is_uploaded_file($HTTP_POST_FILES['userfile'])) {
    copy($HTTP_POST_FILES['userfile'], "/place/to/put/uploaded/file");
} else {
    echo "Возможна атака загрузки файла: имя файла - '$HTTP_POST_FILES[userfile]'.";
}
?>

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

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'). Ограничения безопасного режима не принимаются во внимание.

Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache().

Подсказка

Начиная с PHP 5.0.0, эта функция также может быть использована с некоторыми упаковщиками url. Список упаковщиков, поддерживаемых семейством функций stat(), смотрите в List of Supported Protocols/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
Файловая система


Changes group ownership of symlink

is_writeable
lchown
Файловая система
PHP Manual

lchgrp

(PHP 5 >= 5.1.2)

lchgrp — Changes group ownership of symlink

Описание

bool lchgrp ( string $filename , mixed $group )

Attempts to change the group of the symlink filename to group .

Only the superuser may change the group of a symlink arbitrarily; other users may change the group of a symlink to any group of which that user is a member.

Список параметров

filename

Path to the symlink.

group

The group specified by name or number.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Changing the group of a symbolic link

<?php
$target = 'output.php';
$link = 'output.html';
symlink($target, $link);

lchgrp($link, 8);
?>

Примечания

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

Замечание: Когда опция safe mode включена, PHP проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.

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

Смотрите также

  • chgrp() - Изменяет группу владельцев файла
  • lchown() - Changes user ownership of symlink
  • chown() - Изменяет владельца файла
  • chmod() - Изменяет режим доступа к файлу или каталогу

is_writeable
lchown
Файловая система


Changes user ownership of symlink

lchgrp
link
Файловая система
PHP Manual

lchown

(PHP 5 >= 5.1.2)

lchown — Changes user ownership of symlink

Описание

bool lchown ( string $filename , mixed $user )

Attempts to change the owner of the symlink filename to user user .

Only the superuser may change the owner of a symlink.

Список параметров

filename

Path to the file.

user

User name or number.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Changing the owner of a symbolic link

<?php
$target = 'output.php';
$link = 'output.html';
symlink($target, $link);

lchown($link, 8);
?>

Примечания

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

Замечание: Когда опция safe mode включена, PHP проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.

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

Смотрите также

  • chown() - Изменяет владельца файла
  • lchgrp() - Changes group ownership of symlink
  • chgrp() - Изменяет группу владельцев файла
  • chmod() - Изменяет режим доступа к файлу или каталогу

lchgrp
link
Файловая система


Создаёт жёсткую ссылку

lchown
linkinfo
Файловая система
PHP Manual

link

(PHP 4, PHP 5)

link — Создаёт жёсткую ссылку

Описание

bool link ( string $target , string $link )

link() создаёт жесткую ссылку. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

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

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

См. также описание функции symlink() для создания мягких ссылок, а также readlink() и linkinfo().

lchown
linkinfo
Файловая система


Получает информацию о ссылке

link
lstat
Файловая система
PHP Manual

linkinfo

(PHP 4, PHP 5)

linkinfo — Получает информацию о ссылке

Описание

int linkinfo ( string $path )

linkinfo() возвращает поле st_dev структуры stat из Unix C, которую возвращает системный вызов lstat. Эта функция используется для определения, существует ли ссылка (на которую указывает path ) на самом деле (используя тот же метод, что и макро S_ISLNK, определённый в stat.h). Возвращает 0 или FALSE в случае ошибки.

Пример #1 Пример использования функции linkinfo()

<?php

echo linkinfo('/vmlinuz'); // 835

?>

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

См. также описание функций symlink(), link() и readlink().

link
lstat
Файловая система


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

linkinfo
mkdir
Файловая система
PHP Manual

lstat

(PHP 4, PHP 5)

lstat — Получает информацию о файле или символической ссылке

Описание

array lstat ( string $filename )

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

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

Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache().

Подсказка

Начиная с PHP 5.0.0, эта функция также может быть использована с некоторыми упаковщиками url. Список упаковщиков, поддерживаемых семейством функций stat(), смотрите в List of Supported Protocols/Wrappers.

См. также описание функции stat().

linkinfo
mkdir
Файловая система


Создаёт директорию

lstat
move_uploaded_file
Файловая система
PHP Manual

mkdir

(PHP 4, PHP 5)

mkdir — Создаёт директорию

Описание

bool mkdir ( string $pathname [, int $mode [, bool $recursive [, resource $context ]]] )

Пытается создать директорию, заданную в pathname.

Обратите внимание, что аргумент mode необходимо задавать в виде восьмиричного числа (первой цифрой должен быть ноль). На аргумент mode также влияет текущее значение umask, которое можно изменить при помощи umask().

Замечание: Аргумент mode игнорируется в Windows и стал необязательным начиная с версии PHP 4.2.0.

По умолчанию mode равен 0777, что является самыми широкими правами доступа. Для получения информации о режимах, обратитесь к странице chmod().

Пример #1 Пример использования функции mkdir()

<?php
mkdir("/path/to/my/dir", 0700);
?>

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Замечание: Начиная с версии PHP 5.0.0 mkdir() также может использоваться с некоторыми URL-обвёртками. Обратитесь к List of Supported Protocols/Wrappers для получения списка обвёрток, которые поддерживает mkdir().

Замечание: Аргументы recursive и context доступны начиная с версии PHP 5.0.0.

Замечание: Когда опция safe mode включена, PHP проверяет, имеет ли каталог, с которым вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.

См. также описание функции 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 не является загруженным файлов, никаких действий не предпринимается и move_uploaded_file() возвращает FALSE.

Если filename является загруженным файлом, но не может быть перемещён по каким-либо причинам, никакие действия не предпринимаются и move_uploaded_file() возвращает FALSE. Кроме того, отображается предупреждение.

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

Замечание: На move_uploaded_file() не распространяются нормальные UID-ограничения режима безопасный режим. Это не является нарушением безопасности, потому что move_uploaded_file() оперирует лишь теми файлами, которые загружены на сервер через PHP. Функция move_uploaded_file() принимает во внимание как безопасный режим, так и open_basedir. Тем не менее, ограничения накладываются лишь на параметр destination , чтобы разрешить перемещение загруженных файлов, так как параметр filename может конфликтовать с этими ограничениями. move_uploaded_file() гарантирует безопасность этой операции, работая лишь с теми файлами, которые были загружены через PHP.

Внимание

Если файл destination уже существует, он будет перезаписан.

См. также описание функции is_uploaded_file() и раздел Загрузка файлов на сервер для примеров использования этих функций.

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 ] )

parse_ini_file() загружает ini-файл, указанный в аргументе filename , и возвращает его настройки в виде ассоциативного массива. Установив последний аргумент process_sections в TRUE, вы получаете многомерный массив, который включает как название отдельных настроек, так и секции. По умолчанию process_sections равен FALSE

Замечание: Эта функция не имеет никакого отношения к файлу php.ini. К моменту выполнения вашего скрипта, он уже обработан. Эта функция может быть использована для загрузки настроек вашего собственного приложения.

Замечание: Если значение в ini-файле содержит прочие символы, кроме букв и цифр, оно должно заключаться в двойные кавычки (").

Замечание: Начиная с версии PHP 4.2.1, на поведение этой функции влияет безопасный режим и open_basedir.

Замечание: Начиная с версии PHP 5.0, эта функция также обрабатывает переводы строк в значениях.

Замечание: Существует зарезервированные слова, которые вы не можете использовать в качестве ключей в ini-файлах. Такими словами являются следующие: null, yes, no, true и false.

Структура ini-файла похожа на структуру php.ini.

Константы также могут быть обработаны в ini-файле, так что если вы объявите константу в виде значения для ini-файла до вызова parse_ini_file(), она (константа) будет правильно обработана. Таким образом обрабатываются только значения. Например:

Пример #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"

Пример #2 Пример использования функции 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
)
Array
(
    [first_section] => Array
        (
            [one] => 1
            [five] => 5
            [animal] = Dodo bird
        )

    [second_section] => Array
        (
            [path] => /usr/local/bin
            [URL] => http://www.example.com/~username
        )

)

Ключи и имена секций, состоящие из цифр, будут обработаны как целые числа в PHP, поэтому числа, начинающиеся с 0 будут считаться восьмиричными, а начинающиеся с 0x - шестнадцатиричными.

move_uploaded_file
parse_ini_string
Файловая система


Parse a configuration string

parse_ini_file
pathinfo
Файловая система
PHP Manual

parse_ini_string

(PHP 5 >= 5.3.0)

parse_ini_string — Parse a configuration string

Описание

array parse_ini_string ( string $ini [, bool $process_sections= false [, int $scanner_mode= INI_SCANNER_NORMAL ]] )

parse_ini_string() returns the settings in string ini in an associative array.

The structure of the ini string is the same as the php.ini's.

Список параметров

ini

The contents of the ini file being parsed.

process_sections

By setting the process_sections parameter to TRUE, you get a multidimensional array, with the section names and settings included. The default for process_sections is FALSE

scanner_mode

Can either be INI_SCANNER_NORMAL (default) or INI_SCANNER_RAW. If INI_SCANNER_RAW is supplied, then option values will not be parsed.

Возвращаемые значения

The settings are returned as an associative array on success, and FALSE on failure.

Примеры

Пример #1 parse_ini_file() parsing a php.ini file

<?php
// A simple function used for comparing the results below
function yesno($expression)
{
    return($expression ? 'Yes' : 'No');
}

// Get the path to php.ini using the php_ini_loaded_file()
// function available as of PHP 5.2.4
$ini_path = php_ini_loaded_file();

// Parse php.ini
$ini = parse_ini_file($ini_path);

// Print and compare the values, note that using get_cfg_var()
// will give the same results for parsed and loaded here
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

Примечания

Замечание: There are reserved words which must not be used as keys for ini files. These include: null, yes, no, true, false, on, off, none. Values null, no and false results in "", yes and true results in "1". Characters {}|&~![()^" must not be used anywhere in the key and have a special meaning in the value.

Смотрите также

  • parse_ini_file() - Обрабатывает конфигурационный файл

parse_ini_file
pathinfo
Файловая система


Возвращает информацию о пути к файлу

parse_ini_string
pclose
Файловая система
PHP Manual

pathinfo

(PHP 4 >= 4.0.3, PHP 5)

pathinfo — Возвращает информацию о пути к файлу

Описание

array pathinfo ( string $path [, int $options ] )

pathinfo() возвращает ассоциативный массив, который содержит информацию о пути path . Возвращаемый массив состоит из следующих элементов: dirname, basename и extension.

Вы можете указать, какие элементы будут возвращены при помощи необязательного параметра options . Он состоит из PATHINFO_DIRNAME, PATHINFO_BASENAME, PATHINFO_EXTENSION и PATHINFO_FILENAME (появилась в PHP 5.2.0). По умолчанию возвращаются все элементы.

Пример #1 Пример использования функции pathinfo()

<?php
$path_parts = pathinfo('/www/htdocs/index.html');

echo $path_parts['dirname'], "\n";
echo $path_parts['basename'], "\n";
echo $path_parts['extension'], "\n";
?>

Результат:

/www/htdocs
index.html
html

Замечание: Для дополнительной информации о получении текущей информации о пути, обратитесь к секции Предопределенные зарезервированные переменные.

См. также описание функций dirname(),
basename(),
parse_url()
и realpath().

parse_ini_string
pclose
Файловая система


Закрывает файловый указатель процесса

pathinfo
popen
Файловая система
PHP Manual

pclose

(PHP 4, PHP 5)

pclose — Закрывает файловый указатель процесса

Описание

int pclose ( resource $handle )

Закрывает файловый указатель на канал, открытый при помощи popen().

Файловый указатель должен быть действующим и должен быть возвращён успешным вызовом функции popen().

Возвращает статус выхода завершающегося процесса.

См. также описание функции popen().

pathinfo
popen
Файловая система


Открывает файловый указатель процесса

pclose
readfile
Файловая система
PHP Manual

popen

(PHP 4, PHP 5)

popen — Открывает файловый указатель процесса

Описание

resource popen ( string $command , string $mode )

Открывает поток к процессу, выполняемую при помощи форкинга (forking) команды, заданной в command.

Возвращает файловый указатель, идентичный возвращаемому функцией fopen(), за исключением того, что он односторонний (может быть использован только для чтения или записи) и должен быть закрыт при помощи pclose(). Этот указатель может быть использован с fgets(), fgetss() и fwrite().

В случае возникновения ошибки, возвращает FALSE.

Замечание: Если вы ищите двустороннюю связь, используйте proc_open().

Пример #1 Пример использования функции popen()

<?php
$handle = popen("/bin/ls", "r");
?>

Если команда для выполнения не может быть найдена, будет возвращён действующий ресурс. Это может выглядить странно, но имеет смысл; это даёт вам возможность получить доступ к любому сообщению об ошибке, которое вернёт оболочка:

<?php
error_reporting(E_ALL);

/* Добавляем перенаправление чтобы прочитать stderr. */
$handle = popen('/path/to/spooge 2>&1', 'r');
echo "'$handle'; " . gettype($handle) . "\n";
$read = fread($handle, 2096);
echo $read;
pclose($handle);
?>

Замечание: В случае работы в безопасном режиме, вы можете запускать что-либо только в пределах safe_mode_exec_dir. В настоящее время, использование .. в пути запрещено

Внимание

В случае работы в безопасном режиме, все слова, следующие за начальной командой, рассматриваются как единый аргумент. То есть echo y | echo x будет работать как echo "y | echo x".

См. также описание функций pclose(), fopen() и proc_open().

pclose
readfile
Файловая система


Выводит файл

popen
readlink
Файловая система
PHP Manual

readfile

(PHP 4, PHP 5)

readfile — Выводит файл

Описание

int readfile ( string $filename [, bool $use_include_path [, resource $context ]] )

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

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

Подсказка

Для этой функции вы можете использовать URL в качестве имени файла, если была включена опция "fopen wrappers". Смотрите более подробную информацию об определении имени файла в описании функции fopen(), а также список поддерживаемых протоколов URL в List of Supported Protocols/Wrappers.

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

См. также описание функций fpassthru(),
file(), fopen(),
include(), require(),
virtual(), file_get_contents()
и List of Supported Protocols/Wrappers.

popen
readlink
Файловая система


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

readfile
realpath
Файловая система
PHP Manual

readlink

(PHP 4, PHP 5)

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

Описание

string readlink ( string $path )

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

Пример #1 Пример использования функции readlink()

<?php

// output e.g. /boot/vmlinux-2.4.20-xfs
echo readlink('/vmlinuz');

?>

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

См. также описание функций is_link(),
symlink() и
linkinfo().

readfile
realpath
Файловая система


Возвращает канонизированный абсолютный путь к файлу

readlink
rename
Файловая система
PHP Manual

realpath

(PHP 4, PHP 5)

realpath — Возвращает канонизированный абсолютный путь к файлу

Описание

string realpath ( string $path )

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

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

Пример #1 Пример использования функции realpath()

<?php
$real_path = realpath("../../index.php");
?>

См. также описание функций basename(),
dirname() и
pathinfo().

readlink
rename
Файловая система


Переименовывает файл или директорию

realpath
rewind
Файловая система
PHP Manual

rename

(PHP 4, PHP 5)

rename — Переименовывает файл или директорию

Описание

bool rename ( string $oldname , string $newname [, resource $context ] )

Пытается переименовать oldname в newname .

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Пример #1 Пример использования функции rename()

<?php
rename("/tmp/tmp_file.txt", "/home/user/login/docs/my_file.txt");
?>

Замечание: В версиях PHP ниже 4.3.3, функция rename() не могла переименовать файлы, находящиеся на другом разделе в ОС, основанных на *nix.

Замечание: Начиная с версии PHP 5.0.0, функция rename() также может быть использована с некоторыми обвёртками URL. Обратитесь к List of Supported Protocols/Wrappers для получения списка обвёрток, которые поддерживают rename().

Замечание: Обвёртка, используемая в oldname ОБЯЗАНА совпадать с обвёрткой, используемой в newname .

Замечание: Аттрибут context был добавлен начиная с версии PHP 5.0.0.

См. также описание функций copy(),
unlink() и
move_uploaded_file().

realpath
rewind
Файловая система


Сбрасывает курсор у файлового указателя

rename
rmdir
Файловая система
PHP Manual

rewind

(PHP 4, PHP 5)

rewind — Сбрасывает курсор у файлового указателя

Описание

bool rewind ( resource $handle )

Сбрасывает курсор файлового указателя handle на начало файлового потока.

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

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

Замечание: Если вы открыли файл в режиме "дописать в конец" ("a"), любые данные, которые вы записываете, будут дописаны в конец файла, независимо от положения курсора.

См. также описание функций fseek() и ftell().

rename
rmdir
Файловая система


Удаляет директорию

rewind
set_file_buffer
Файловая система
PHP Manual

rmdir

(PHP 4, PHP 5)

rmdir — Удаляет директорию

Описание

bool rmdir ( string $dirname [, resource $context ] )

Пытается удалить директорию с именем dirname . Директория должна быть пустой и должны иметься необходимые для этого права. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Замечание: Начиная с версии PHP 5.0.0, функция rmdir() также может быть использована с некоторыми обвёртками URL. Обратитесь к List of Supported Protocols/Wrappers для получения списка обвёрток, которые поддерживают rmdir().

Замечание: Аргумент context был добавлен начиная с версии PHP 5.0.0.

Замечание: Когда опция safe mode включена, PHP проверяет, имеет ли каталог, с которым вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.

См. также описание функций 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() за исключением того, что в данном случае она вернёт информацию о самой символической ссылке.

В случае ошибки, stat() вернёт FALSE. Также она выдаст предупреждение.

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

Формат результата работы функций 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 timestamp)
9 | mtime | время последней модификации (Unix timestamp)
10 | ctime | время последнего изменения inode (Unix timestamp)
11 | blksize | размер блока ввода-вывода файловой системы *
12 | blocks | количество используемых блоков

* - доступен только на системах, поддерживающих тип st_blksize -- другие системы (например Windows) вернут -1.

Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache().

Подсказка

Начиная с PHP 5.0.0, эта функция также может быть использована с некоторыми упаковщиками url. Список упаковщиков, поддерживаемых семейством функций stat(), смотрите в List of Supported Protocols/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() создаёт символическую ссылку с именем link на существующий файл target .

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

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

См. также описание фукции link() для создания жёсткой ссылки, а также readlink() и linkinfo().

stat
tempnam
Файловая система


Создаёт файл с уникальным именем

symlink
tmpfile
Файловая система
PHP Manual

tempnam

(PHP 4, PHP 5)

tempnam — Создаёт файл с уникальным именем

Описание

string tempnam ( string $dir , string $prefix )

Создаёт файл с уникальным именем в определённой директории. Если эта директория не существует, tempnam() попытается создать файл во временной директории системы и вернуть его имя.

В версиях PHP ниже 4.0.6, поведение функции tempnam() было платформозависимым. В Windows переменная окружения TMP была приоритетнее аргумента dir , в Linux приоритетнее была переменная окружения TMPDIR, а SVR4 всегда использовал ваш аргумент dir , если указанная директория существовала. Обратитесь к вашей документации по функции tempnam(3), если у вас возникнут сомнения.

Замечание: Если PHP не может создать файл в указанной директории dir , он возвращается к директории по умолчанию вашей системы.

Возвращает имя нового временного файла или FALSE в случае неудачи.

Пример #1 Пример использования функции tempnam()

<?php
$tmpfname = tempnam("/tmp", "FOO");

$handle = fopen($tmpfname, "w");
fwrite($handle, "записываем в во временный файх");
fclose($handle);

// здесь мы чего-нибудь делаем

unlink($tmpfname);
?>

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

См. также описание функий tmpfile() и unlink().

symlink
tmpfile
Файловая система


Создаёт временный файл

tempnam
touch
Файловая система
PHP Manual

tmpfile

(PHP 4, PHP 5)

tmpfile — Создаёт временный файл

Описание

resource tmpfile ( void )

Создаёт временный файл с уникальным именем, открывая его в режиме чтения и записи (w+), и возвращает файловый указатель таким же образом, как это делает fopen(). Этот файл автоматически удаляется после закрытия (использования fclose()) или после завершения работы скрипта).

Для дополнительной информации, обратитесь к документации вашей системы по функции tmpfile(3), а также к заголовочному файлу stdio.h.

Пример #1 Пример использования функции tmpfile()

<?php
$temp = tmpfile();
fwrite($temp, "записываем во временный файл");
fseek($temp, 0);
echo fread($temp, 1024);
fclose($temp); // происходит удаление файла
?>

Результат выполнения данного примера:

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

См. также описание функции tempnam().

tempnam
touch
Файловая система


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

tmpfile
umask
Файловая система
PHP Manual

touch

(PHP 4, PHP 5)

touch — Устанавливает время доступа и модификации файла

Description

bool touch ( string $filename [, int $time [, int $atime ]] )

Пытается установить время доступа и модификации файла с именем filename в значение time . Если аргумент time не указан, используется текущее время. Это эквивалентно тому, что делает функция utime (иногда её называют utimes). Если третий аргумент atime передан, время доступа указанного файла будет установлено в значение atime . Обратите внимание, что время доступа изменяется всегда, независимо от количества аргументов.

Если файл не существует, он будет создан. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Пример #1 Пример использования функции touch()

<?php
if (touch($FileName)) {
    echo "Время модификации файла $FileName было изменено на текущее";
} else {
    echo "Простите, не удалось изменить время модификации файла $FileName";
}
?>

tmpfile
umask
Файловая система


Изменяет текущую umask

touch
unlink
Файловая система
PHP Manual

umask

(PHP 4, PHP 5)

umask — Изменяет текущую umask

Описание

int umask ([ int $mask ] )

Устанавливает umask() PHP в значение mask & 0777 и возвращает старую umask. Если PHP используется как модуль сервера, umask восстанавливается после завершения каждого запроса.

Вызов umask() без аргументов вернёт текущую umask.

touch
unlink
Файловая система


Удаляет файл

umask
Inotify
Файловая система
PHP Manual

unlink

(PHP 4, PHP 5)

unlink — Удаляет файл

Описание

bool unlink ( string $filename [, resource $context ] )

Удаляет файл filename . Функция похожа на функцию unlink() Unix C. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Замечание: Начиная с версии PHP 5.0.0, функция unlink() также может быть использована с некоторыми обвёртками URL. Обратитесь к List of Supported Protocols/Wrappers для получения списка обвёрток, которые поддерживают unlink().

Замечание: Аргумент context был добавлен начиная с версии PHP 5.0.0.

См. также описание функции 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
Введение
File System Related Extensions


Введение

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.

Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, могут быть найдены здесь: » http://pecl.php.net/package/inotify.

Требования
Настройка во время выполнения
Установка и настройка
PHP Manual


Настройка во время выполнения

Данное расширение не определяет никакие директивы конфигурации в php.ini.

Установка и настройка
Типы ресурсов
Установка и настройка


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

This extension defines a stream resource returned by inotify_init().

Настройка во время выполнения
Предопределенные константы
Установка и настройка


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

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

Inotify constants usable with inotify_add_watch() and/or returned by inotify_read()
IN_ACCESS (integer)
File was accessed (read) (*)
IN_MODIFY (integer)
File was modified (*)
IN_ATTRIB (integer)
Metadata changed (e.g. permissions, mtime, etc.) (*)
IN_CLOSE_WRITE (integer)
File opened for writing was closed (*)
IN_CLOSE_NOWRITE (integer)
File not opened for writing was closed (*)
IN_OPEN (integer)
File was opened (*)
IN_MOVED_TO (integer)
File moved into watched directory (*)
IN_MOVED_FROM (integer)
File moved out of watched directory (*)
IN_CREATE (integer)
File or directory created in watched directory (*)
IN_DELETE (integer)
File or directory deleted in watched directory (*)
IN_DELETE_SELF (integer)
Watched file or directory was deleted
IN_MOVE_SELF (integer)
Watch file or directory was moved
IN_CLOSE (integer)
Equals to IN_CLOSE_WRITE | IN_CLOSE_NOWRITE
IN_MOVE (integer)
Equals to IN_MOVED_FROM | IN_MOVED_TO
IN_ALL_EVENTS (integer)
Bitmask of all the above constants
IN_UNMOUNT (integer)
File system containing watched object was unmounted
IN_Q_OVERFLOW (integer)
Event queue overflowed (wd is -1 for this event)
IN_IGNORED (integer)
Watch was removed (explicitly by inotify_rm_watch() or because file was removed or filesystem unmounted
IN_ISDIR (integer)
Subject of this event is a directory
IN_ONLYDIR (integer)
Only watch pathname if it is a directory (Since Linux 2.6.15)
IN_DONT_FOLLOW (integer)
Do not dereference pathname if it is a symlink (Since Linux 2.6.15)
IN_MASK_ADD (integer)
Add events to watch mask for this pathname if it already exists (instead of replacing mask).
IN_ONESHOT (integer)
Monitor pathname for one event, then remove from watch list.

Замечание: The events marked with an asterisk (*) above can occur for files in watched directories.

Типы ресурсов
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

Resource returned by 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

Resource returned by inotify_init()

Возвращаемые значения

Returns a number upper than zero if there are pending events.

Смотрите также

  • inotify_init() - Initialize an inotify instance
  • stream_select() - Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and tv_usec
  • stream_set_blocking() - Set blocking/non-blocking mode on a stream

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

Resource returned by 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() - Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and tv_usec
  • stream_set_blocking() - Set blocking/non-blocking mode on a stream
  • 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

Resource returned by inotify_init()

watch_descriptor

Watch to remove from the instance

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • inotify_init() - Initialize an inotify instance

inotify_read
Mimetype
Inotify Функции


Mimetype

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Mimetype Функции
    • mime_content_type — Detect MIME Content-type for a file (deprecated)
inotify_rm_watch
Введение
File System Related Extensions


Введение

Внимание

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


Установка

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_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

mime_magic.debug bool

Enable/disable debugging.

mime_magic.magicfile string

The path to the magic.mime file.

Установка
Типы ресурсов
Установка и настройка


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

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

Типы ресурсов
Mimetype Функции
Mimetype


Mimetype Функции

Содержание

  • mime_content_type — Detect MIME Content-type for a file (deprecated)
Предопределенные константы
mime_content_type
Mimetype


Detect MIME Content-type for a file (deprecated)

Mimetype Функции
xattr
Mimetype Функции
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

Mimetype Функции
xattr
Mimetype Функции


xattr

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • xattr Функции
    • xattr_get — Get an extended attribute
    • xattr_list — Get a list of extended attributes
    • xattr_remove — Remove an extended attribute
    • xattr_set — Set an extended attribute
    • xattr_supported — Check if filesystem supports extended attributes
mime_content_type
Введение
File System Related Extensions


Введение

The xattr extension allows for the manipulation of extended attributes on a filesystem.

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


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
xattr


Требования

To use xattr, you will need libattr installed. It is available at » http://oss.sgi.com/projects/xfs/.

Замечание: These functions only work on filesystems that support extended attributes, and have them enabled at mount time. Some common filesystems that support extended attributes are ext2, ext3, reiserfs, jfs, and xfs.

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


Установка

xattr is currently available through PECL » http://pecl.php.net/package/xattr.

If » PEAR is available on your *nix-like system you can use the pear installer to install the xattr extension, by the following command: pear -v install xattr.

You can always download the tar.gz package and install xattr by hand:

Пример #1 xattr install by hand

gunzip xattr-xxx.tgz
tar -xvf xattr-xxx.tar
cd xattr-xxx
phpize
./configure && make && make install

Требования
Настройка во время выполнения
Установка и настройка


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

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

XATTR_ROOT (integer)
Set attribute in root (trusted) namespace. Requires root privileges.
XATTR_DONTFOLLOW (integer)
Do not follow the symbolic link but operate on symbolic link itself.
XATTR_CREATE (integer)
Function will fail if extended attribute already exists.
XATTR_REPLACE (integer)
Function will fail if extended attribute doesn't exist.
Типы ресурсов
xattr Функции
xattr


xattr Функции

Содержание

  • xattr_get — Get an extended attribute
  • xattr_list — Get a list of extended attributes
  • xattr_remove — Remove an extended attribute
  • xattr_set — Set an extended attribute
  • xattr_supported — Check if filesystem supports extended attributes
Предопределенные константы
xattr_get
xattr


Get an extended attribute

xattr Функции
xattr_list
xattr Функции
PHP Manual

xattr_get

(PECL xattr >= 0.9.0)

xattr_get — Get an extended attribute

Описание

string xattr_get ( string $filename , string $name [, int $flags= 0 ] )

This function gets the value of an extended attribute of a file.

Расширенные аттрибуты имеют два различных пространства имён: пользовательское и корневое (root). Пользовательское пространство имён доступно для всех пользователей, в то время как корневое - только для пользователей с root-привилегиями. По умолчанию xattr оперирует в пользовательском пространтсве имён, но вы можете изменить это поведение при помощи аргумента flags .

Список параметров

filename

The file from which we get the attribute.

name

The name of the attribute.

flags

Supported xattr flags
XATTR_DONTFOLLOW | Do not follow the symbolic link but operate on symbolic link itself.
XATTR_ROOT | Set attribute in root (trusted) namespace. Requires root privileges.

Возвращаемые значения

Returns a string containing the value or FALSE if the attribute doesn't exist.

Примеры

Пример #1 Checks if system administrator has signed the file

<?php
$file = '/usr/local/sbin/some_binary';
$signature = xattr_get($file, 'Root signature', XATTR_ROOT);

/* ... check if $signature is valid ... */

?>

Смотрите также

  • xattr_list() - Get a list of extended attributes
  • xattr_set() - Set an extended attribute
  • xattr_remove() - Remove an extended attribute

xattr Функции
xattr_list
xattr Функции


Get a list of extended attributes

xattr_get
xattr_remove
xattr Функции
PHP Manual

xattr_list

(PECL xattr >= 0.9.0)

xattr_list — Get a list of extended attributes

Описание

array xattr_list ( string $filename [, int $flags= 0 ] )

This functions gets a list of names of extended attributes of a file.

Расширенные аттрибуты имеют два различных пространства имён: пользовательское и корневое (root). Пользовательское пространство имён доступно для всех пользователей, в то время как корневое - только для пользователей с root-привилегиями. По умолчанию xattr оперирует в пользовательском пространтсве имён, но вы можете изменить это поведение при помощи аргумента flags .

Список параметров

filename

The path of the file.

flags

Supported xattr flags
XATTR_DONTFOLLOW | Do not follow the symbolic link but operate on symbolic link itself.
XATTR_ROOT | Set attribute in root (trusted) namespace. Requires root privileges.

Возвращаемые значения

This function returns an array with names of extended attributes.

Примеры

Пример #1 Prints names of all extended attributes of file

<?php
$file = 'some_file';
$root_attributes = xattr_list($file, XATTR_ROOT);
$user_attributes = xattr_list($file);

echo "Root attributes: \n";
foreach ($root_attributes as $attr_name) {
    printf("%s\n", $attr_name);
}

echo "\n User attributes: \n";
foreach ($attributes as $attr_name) {
    printf("%s\n", $attr_name);
}

?>

Смотрите также

  • xattr_get() - Get an extended attribute

xattr_get
xattr_remove
xattr Функции


Remove an extended attribute

xattr_list
xattr_set
xattr Функции
PHP Manual

xattr_remove

(PECL xattr >= 0.9.0)

xattr_remove — Remove an extended attribute

Описание

bool xattr_remove ( string $filename , string $name [, int $flags= 0 ] )

This function removes an extended attribute of a file.

Расширенные аттрибуты имеют два различных пространства имён: пользовательское и корневое (root). Пользовательское пространство имён доступно для всех пользователей, в то время как корневое - только для пользователей с root-привилегиями. По умолчанию xattr оперирует в пользовательском пространтсве имён, но вы можете изменить это поведение при помощи аргумента flags .

Список параметров

filename

The file from which we remove the attribute.

name

The name of the attribute to remove.

flags

Supported xattr flags
XATTR_DONTFOLLOW | Do not follow the symbolic link but operate on symbolic link itself.
XATTR_ROOT | Set attribute in root (trusted) namespace. Requires root privileges.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Removes all extended attributes of a file

<?php
$file = 'some_file';
$attributes = xattr_list($file);

foreach ($attributes as $attr_name) {
    xattr_remove($file, $attr_name);
}
?>

Смотрите также

  • xattr_list() - Get a list of extended attributes
  • xattr_set() - Set an extended attribute
  • xattr_get() - Get an extended attribute

xattr_list
xattr_set
xattr Функции


Set an extended attribute

xattr_remove
xattr_supported
xattr Функции
PHP Manual

xattr_set

(PECL xattr >= 0.9.0)

xattr_set — Set an extended attribute

Описание

bool xattr_set ( string $filename , string $name , string $value [, int $flags= 0 ] )

This function sets the value of an extended attribute of a file.

Расширенные аттрибуты имеют два различных пространства имён: пользовательское и корневое (root). Пользовательское пространство имён доступно для всех пользователей, в то время как корневое - только для пользователей с root-привилегиями. По умолчанию xattr оперирует в пользовательском пространтсве имён, но вы можете изменить это поведение при помощи аргумента flags .

Список параметров

filename

The file in which we set the attribute.

name

The name of the extended attribute. This attribute will be created if it doesn't exist or replaced otherwise. You can change this behaviour by using the flags parameter.

value

The value of the attribute.

flags

Supported xattr flags
XATTR_CREATE | Function will fail if extended attribute already exists.
XATTR_REPLACE | Function will fail if extended attribute doesn't exist.
XATTR_DONTFOLLOW | Do not follow the symbolic link but operate on symbolic link itself.
XATTR_ROOT | Set attribute in root (trusted) namespace. Requires root privileges.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Sets extended attributes on .wav file

<?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() - Get an extended attribute
  • xattr_remove() - Remove an extended attribute

xattr_remove
xattr_supported
xattr Функции


Check if filesystem supports extended attributes

xattr_set
xdiff
xattr Функции
PHP Manual

xattr_supported

(PECL xattr >= 1.0.0)

xattr_supported — Check if filesystem supports extended attributes

Описание

bool xattr_supported ( string $filename [, int $flags= 0 ] )

This functions checks if the filesystem holding the given file supports extended attributes. Read access to the file is required.

Список параметров

filename

The path of the tested file.

flags

Supported xattr flags
XATTR_DONTFOLLOW Do not follow the symbolic link but operate on symbolic link itself.

Возвращаемые значения

This function returns TRUE if filesystem supports extended attributes, FALSE if it doesn't and NULL if it can't be determined (for example wrong path or lack of permissions to file).

Примеры

Пример #1 xattr_supported() example

The following code checks if we can use extended attributes.

<?php
$file = 'some_file';

if (xattr_supported($file)) {
    /* ... make use of some xattr_* functions ... */
}

?>

Смотрите также

  • xattr_get() - Get an extended attribute
  • xattr_list() - Get a list of extended attributes

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
Введение
File System Related Extensions


Введение

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.

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


Установка

xdiff is currently available through PECL » http://pecl.php.net/package/xdiff.

If » PEAR is available on your *nix-like system you can use the pear installer to install the xdiff extension, by the following command: pear -v install xdiff.

You can always download the tar.gz package and install xdiff by hand:

Пример #1 xdiff install by hand

gunzip xdiff-xxx.tgz
tar -xvf xdiff-xxx.tar
cd xdiff-xxx
phpize
./configure && make && make install

Требования
Настройка во время выполнения
Установка и настройка


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

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если 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 (with default value of 3). 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. Default is 3.

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 (with default value of 3). 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. Default is 3.

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
Human Language and Character Encoding Support
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
Human Language and Character Encoding Support
xdiff Функции


Human Language and Character Encoding Support

  • Enchant — Enchant spelling library
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Enchant Функции
  • FriBiDi
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • FriBiDi Функции
  • Gettext
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Функции gettext
  • i18n — Internationalization
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • i18n Функции
  • iconv
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • 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
    • 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 Функции
  • Unicode
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Unicode Функции
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
Human Language and Character Encoding Support
Введение
Human Language and Character Encoding Support


Введение

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.

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


Установка

Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, могут быть найдены здесь: » http://pecl.php.net/package/enchant.

Требования
Настройка во время выполнения
Установка и настройка


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

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

(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

(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

(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

(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

(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

(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

(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

(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 or FALSE on failure.

Примеры

Пример #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

(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 or FALSE on failure.

Смотрите также

  • 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

(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

(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

(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

(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

(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

(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

(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

(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

(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

(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
Введение
Human Language and Character Encoding Support


Введение

FriBiDi is a free implementation of the » Unicode Bidirectional Algorithm.

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


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
FriBiDi


Требования

You must download and install the » FriBiDi package.

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


Установка

Это расширение » PECL не поставляется вместе с PHP. Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и 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 со страницы » PHP Downloads или » http://snaps.php.net/.

Требования
Настройка во время выполнения
Установка и настройка


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

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если 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, or FALSE on failure.

FriBiDi Функции
Gettext
FriBiDi Функции


Gettext

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Функции gettext
    • bind_textdomain_codeset — Устанавливает кодировку, в которой будут возвращаться сообщения
    • bindtextdomain — Указать путь к каталогу сообщений
    • dcgettext — Запрашивает сообщение из другого каталога сообщений
    • dcngettext — Версия dcgettext для множественного числа
    • dgettext — Запрашивает сообщение из другого каталога сообщений
    • dngettext — Версия dgettext для множественного числа
    • gettext — Возвращает перевод сообщения
    • ngettext — Версия gettext для множественного числа
    • textdomain — устанавливает каталог сообщений по уммолчанию
fribidi_log2vis
Введение
Human Language and Character Encoding Support


Введение

Функции gettext реализуют NLS (Native Language Support) API, который может использоваться для интернационализации ваших PHP-приложений. Обратитесь к документации gettext вашей системы или откройте её по адресу » http://www.gnu.org/software/gettext/manual/gettext.html.

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


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Gettext


Требования

Для данного модуля требуется пакет GNU gettext (входящий в состав большинства UNIX-систем). Его домашняя страница: » http://www.gnu.org/software/gettext/gettext.html.

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


Установка

Чтобы включить поддержку GNU gettext в сборку PHP, добавьте в конфигурацию ключ --with-gettext[=DIR], где DIR - папка установки gettext, обычно это /usr.

Замечание: Примечание для тех, кто использует Win32
Скопируйте библиотеку gnu_gettext.dll из папки DLL пакета PHP/Win32 в папку SYSTEM32. (например: C:\WINNT\SYSTEM32 или C:\WINDOWS\SYSTEM32). Начиная с PHP 4.2.3 имя изменилось на libintl-1.dll, также нужно скопировать iconv.dll. libintl-1.dll не требуется начиная с PHP 4.3.8, iconv.dll не требуется начиная с PHP 5.

Требования
Настройка во время выполнения
Установка и настройка


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

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

Типы ресурсов
Функции 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 — Устанавливает кодировку, в которой будут возвращаться сообщения

Description

string bind_textdomain_codeset ( string $domain , string $codeset )

Функция bind_textdomain_codeset() устанавливает кодировку, в которой будут возвращаться сообщения из domain , такими функциями как gettext().

Функции gettext
bindtextdomain
Функции gettext


Указать путь к каталогу сообщений

bind_textdomain_codeset
dcgettext
Функции gettext
PHP Manual

bindtextdomain

(PHP 4, PHP 5)

bindtextdomain — Указать путь к каталогу сообщений

Описание

string bindtextdomain ( string $domain , string $directory )

Возвращает текущий путь.

Пример #1 Пример

<?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 )

Запрашивает перевод из другого каталога сообщений. Также позволяет указать категорию.

См. также 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 )

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

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

dcgettext
dgettext
Функции gettext


Запрашивает сообщение из другого каталога сообщений

dcngettext
dngettext
Функции gettext
PHP Manual

dgettext

(PHP 4, PHP 5)

dgettext — Запрашивает сообщение из другого каталога сообщений

Описание

string dgettext ( string $domain , string $message )

Запрашивает перевод из другого каталога сообщений.

См. также 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 )

Запрашивает перевод с чиловым параметром из другого каталога сообщений.

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

dgettext
gettext
Функции gettext


Возвращает перевод сообщения

dngettext
ngettext
Функции gettext
PHP Manual

gettext

(PHP 4, PHP 5)

gettext — Возвращает перевод сообщения

Описание

string gettext ( string $message )

Возвращает перевод сообщения, найденный в текущем каталоге сообщений, или оригинал, если перевод не найден. Псевдоним функции - '_'.

Пример #1 gettext()-check

<?php
// Установить язык в русский
setlocale(LC_ALL, 'ru_RU');

// Указать путь к каталогу сообщений
bindtextdomain("myPHPApp", "./locale");

// Выбрать домены
textdomain("myPHPApp");

// Теперь переводы будут искаться в ./locale/de_DE/LC_MESSAGES/myPHPApp.mo

// Вывести текстовое сообщение
echo gettext("Welcome to My PHP Application");

// То же самое
echo _("Have a nice day");
?>

См. также 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 )

Возвращает сообщение в соответствующей числу форме. В английском языке есть только два варианта - msgid1 и msgid2 : первый только когда n =1. В русском языке множественых форм три (1, 21, 31, ...; 2, 3, 4, ...; 5, 6, 8, ...), следовательно в каталоге сообщений будет три строчки.

Пример #1 Пример

<?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
i18n
Функции gettext
PHP Manual

textdomain

(PHP 4, PHP 5)

textdomain — устанавливает каталог сообщений по уммолчанию

Описание

string textdomain ( string $text_domain )

Устанавливает каталог сообщений, в котором будет искаться перевод строки, переданной функции gettext(), обычно называется имя_приложения.mo. Возвращается каталог сообщений, установленный по умолчанию до этого. Вызовите эту функцию с аргументом NULL, чтобы получить имя текущего каталога сообщений не меняя его.

ngettext
i18n
Функции gettext


Internationalization

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • i18n Функции
    • locale_get_default — Get the default Locale
    • locale_set_default — Set the default Locale
textdomain
Введение
Human Language and Character Encoding Support


Введение

I18n (short for internationalization) are means of adapting an application for different languages and cultures. The scope of i18n support includes support for local date and time, currency, measures, number formatting and strings in different encoding. Native support for i18n and l10n (localization) appeared in PHP6.

Please note that in PHP6, POSIX locales are obsoleted by the set of locales included with the ICU library.

Внимание

This extension is still in development and it isn't available to public yet.

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


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
i18n


Требования

The Unicode Extension.

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


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

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

Типы ресурсов
i18n Функции
i18n


i18n Функции

Содержание

  • locale_get_default — Get the default Locale
  • locale_set_default — Set the default Locale
Предопределенные константы
locale_get_default
i18n


Get the default Locale

i18n Функции
locale_set_default
i18n Функции
PHP Manual

locale_get_default

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

locale_get_default — Get the default Locale

Описание

string locale_get_default ( void )

This function returns the default Locale, which is used by PHP to localize certain features. Please note that this isn't influenced by setlocale() or the system settings.

Возвращаемые значения

Returns a string with the current Locale.

Примеры

Пример #1 A locale_get_default() example

<?php

// get the default Locale
echo locale_get_default();

//set a new Locale...
locale_set_default('pt_PT');

// ... and print it
echo locale_get_default();

?>

Результат выполнения данного примера:

en_US_POSIX
pt_PT

Смотрите также

  • locale_set_default() - sets the default runtime locale

i18n Функции
locale_set_default
i18n Функции


Set the default Locale

locale_get_default
iconv
i18n Функции
PHP Manual

locale_set_default

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

locale_set_default — Set the default Locale

Описание

bool locale_set_default ( string $name )

Sets the default Locale for PHP programs. Please note that this has nothing to do with setlocale() nor with the system locale.

Список параметров

name

The new Locale name. A comprehensive list of the supported locales is available at » http://demo.icu-project.org/icu-bin/locexp.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 A locale_set_default() example

This example demonstrates a possible usage of locale_set_default() to localize the sort() functions.

<?php

// the list of the strings to sort
$array = array(
    'caramelo',
    'cacto',
    'caçada'
);

// set our locale (Portuguese, in this case)
locale_set_default('pt_PT');

// sort using the locale we previously set
sort($array, SORT_LOCALE_STRING);

print_r($array);
?>

Результат выполнения данного примера:

Array
(
    [0] => caçada
    [1] => cacto
    [2] => caramelo
)

If we didn't use the locale, PHP would sort the string using the ASCII characters value, thus returning (wrongly):

Array
(
    [0] => cacto
    [1] => caramelo
    [2] => caçada
)

Смотрите также

  • locale_get_default() - Gets the default locale value from the INTL global 'default_locale'

locale_get_default
iconv
i18n Функции


iconv

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • 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
locale_set_default
Введение
Human Language and Character Encoding Support


Введение

Это расширение предоставляет интерфейс к библиотеке преобразования кодировок iconv. Набор поддерживаемых кодировок зависит от реализации iconv в вашей системе. На некоторых платформах iconv может работать неправильно, в таких случаях рекомендуется установить библиотеку » GNU libiconv.

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

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


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
iconv


Требования

Операционные системы, отвечающие стандартам POSIX, поставляются с C-библиотеками, предоставляющими функциональность iconv. Если ваша система в этот список не входит, вам придётся установить библиотеку » GNU libiconv.

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


Установка

Чтобы включить этот модуль, при сборке PHP нужно указать ключ --with-iconv[=DIR].

Замечание: Примечание для пользователей Windows®
Чтобы расширение было доступно, поместите библиотеку с именем iconv.dll или iconv-1.3.dll (для версий до 4.2.1), которая входит в поставку PHP для Windows®, в одну из её системных папок. Этот модуль является частью PHP начиная с версии 5, так что библиотеки iconv.dll и php_iconv.dll более не нужны.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Конфигурационные параметры, касающиеся Iconv
Параметр | Значение по умолчанию | Переменная окружения
iconv.input_encoding | ICONV_INPUT_ENCODING | PHP_INI_ALL
iconv.output_encoding | ICONV_OUTPUT_ENCODING | PHP_INI_ALL
iconv.internal_encoding | ICONV_INTERNAL_ENCODING | PHP_INI_ALL

Для подробного описания констант PHP_INI_*, обратитесь к документации функции ini_set().

Внимание

Некоторые системы (например IBM AIX) используют "ISO8859-1" вместо "ISO-8859-1".

Замечание: На данный момент iconv.input_encoding никак не используется.

Установка
Типы ресурсов
Установка и настройка


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

Начиная с 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

Смотрите также

См. также Функции 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


Возвращает значение внутренних переменных расширения

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 ] )

Возвращает текущее значение указанной внутренней переменной, и FALSE в случае ошибки.

Возможные значения необязательного параметра type :

  • all
  • input_encoding
  • output_encoding
  • internal_encoding

Если 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().

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 [, string $charset ]] )

Возвращает ассоциативный массив с полями MIME-заголовка, переданного параметром encoded_headers , или FALSE в случае ошибки.

Каждый ключ элемента возвращаемого массива представляет отдельное имя поля, а сам элемент - его значение. если в заголовке несколько полей с одинаковым именем, они помещаются в подчинённый массив с числовыми индексами.

Параметр mode определяет поведение в случае обнаружения неправильного поля заголовка. можно указать любую комбинацию следующих битовых масок.

Битовые маски iconv_mime_decode_headers()
Значение | Константа | Описание
1 | ICONV_MIME_DECODE_STRICT | Строго следовать стандартам, определённым в » RFC2047. К сожалению, много проприетарных програм электронной почты не следуют стандартам, и, чтобы потокать им, этот режим по умолчанию отключён.
2 | ICONV_MIME_DECODE_CONTINUE_ON_ERROR | Попытаться продолжить обработку в случае обнаружения ошибки.

Если параметр charset опущен, предполагается, что кодировка строки string равна iconv.internal_charset.

Пример #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(),
mb_decode_mimeheader(),
imap_mime_header_decode(),
imap_base64()
и imap_qprint().

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_set("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. If not given, the same value as input-charset will be used. | 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_Pr=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() - Convert an 8bit string to a quoted-printable string

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 . Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

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

  • input_encoding
  • output_encoding
  • internal_encoding

Пример #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().

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 ] )

Возвращает количество символов в str .

В отличие от strlen(), iconv_strlen() учитывает кодировку строки (например, юникод может быть и двух-, и четырёхбайтным).

Если параметр charset опущен, предполагается, что кодировка строки str равна iconv.internal_charset.

См. также strlen() и mb_strlen().

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 [, string $charset ]] )

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

Необязательный аргумент offset позволяет указать, с какого по счёту символа строки начинать поиск.

Если подстрока needle не найдена, iconv_strpos() возвращает FALSE.

Внимание

Эта функция может возвращать как логическое значение FALSE, так и не относящееся к логическому типу значение, которое приводится к FALSE, например, 0 или "". За более подробной информации обратитесь к разделу Булев тип. Используйте оператор === для проверки значения, возвращаемого этой функцией.

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

В отличие от strpos(), iconv_strpos() возвращает количество символов до подстроки, в не позицию вхождения в байтах. Символы считаются с учётом их кодировки charset .

Если параметр charset опущен, предполагается, что кодировка строки string равна iconv.internal_charset.

См. также strpos(), iconv_strrpos() и mb_strpos().

iconv_strlen
iconv_strrpos
iconv


Возвращает позицию последнего вхождения символа

iconv_strpos
iconv_substr
iconv
PHP Manual

iconv_strrpos

(PHP 5)

iconv_strrpos — Возвращает позицию последнего вхождения символа

Описание

string iconv_strrpos ( string $haystack , string $needle [, string $charset ] )

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

Если подстрока needle не найдена, возвращает FALSE.

Внимание

Эта функция может возвращать как логическое значение FALSE, так и не относящееся к логическому типу значение, которое приводится к FALSE, например, 0 или "". За более подробной информации обратитесь к разделу Булев тип. Используйте оператор === для проверки значения, возвращаемого этой функцией.

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

В отличие от strpos(), iconv_strrpos() возвращает количество символов до подстроки, в не позицию вхождения в байтах. Символы считаются с учётом их кодировки charset .

См. также strrpos(), iconv_strpos() и mb_strrpos().

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 [, string $charset ]] )

Возвращает подстроку строки str длиной length , начинающуюся с позиции start .

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

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

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

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

Обратите внмание, что параметры offset и length всегда представляют количество символов (в той или иной кодировке), а в substr() - количество байт. Если параметр charset опущен, предполагается, что кодировка строки str равна iconv.internal_charset.

См. также substr(), mb_substr() и mb_strcut().

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 . Возвращает строку в новой кодировке, или FALSE в случае ошибки.

Если добавить //TRANSLIT к параметру out_charset будет включена транслитеризация. Это означает, что вслучае, когда символа нет в конечной кодировке, он заменяется одним или несколькими аналогами. Если добавить //IGNORE, то символы, которых нет в конечной кодировке, будут опущены. Иначе, будет возвращена строка str , обрезанная до первого недопустимого символа.

Пример #1 Пример использования iconv():

<?php
echo iconv("KOI8-U", "UTF-8", "Пора переходить на юникод.");
?>

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::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
  • intl Функции
    • 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
    • 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
Введение
Human Language and Character Encoding Support


Введение

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+.

The extension can be built with PHP 5.2, 5.2.4+ recommended. It is part of the PHP 5.3+ source tree.

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


Установка

Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, могут быть найдены здесь: » http://pecl.php.net/package/intl.

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 Опции настройки
Имя | По умолчанию | Меняемо | Changelog
intl.default_locale |  | PHP_INI_ALL |

Для подробного описания констант PHP_INI_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

intl.default_locale string

Установка
Типы ресурсов
Установка и настройка


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

INTL_MAX_LOCALE_LEN (integer)
Limit on locale length, set to 64 in PHP code. Locale names longer than this limit will not be accepted.

Типы ресурсов
Примеры
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

Введение

Provides string comparison capability with support for appropriate locale-sensitive sort orderings.

Class synopsis

Collator
Collator {
/* Methods */
__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 ] )
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::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.

Внимание

Эта функция может возвращать как логическое значение FALSE, так и не относящееся к логическому типу значение, которое приводится к 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.

Errors/Exceptions

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::getStrength
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::getStrength
Collator


Get current collation strength

Collator::getLocale
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::getLocale
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.

Возвращаемые значения

Возвращает 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

Введение

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.

Class synopsis

NumberFormatter
NumberFormatter {
/* Methods */
__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 in case chosen style requires 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

Введение

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.

Class synopsis

Locale
Locale {
/* Methods */
static string acceptFromHttp ( string $header )
static string composeLocale ( array $subtags )
static bool filterMatches ( string $langtag , string $locale )
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 , string $default )
static array parseLocale ( string $locale )
static bool setDefault ( string $locale )
}

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

These constants define how the Locale

Locale::DEFAULT_LOCALE (string)
Used with the getLocale methods of the various locale affected classes, such as numfmt.
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 )

Procedural style

bool locale_filter_matches ( string $langtag , string $locale )

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

Возвращаемые значения

TRUE if $locale matches $langtag FALSE otherwise.

Примеры

Пример #1 locale_filter_matches() example

<?php
echo (locale_filter_matches('de-DEVA','de-DE')) ? "Matches" : "Does not match";
echo '; ';
echo (locale_filter_matches('de-DE_1996','de-DE')) ? "Matches" : "Does not match";
?>

Пример #2 OO example

<?php
echo (Locale::filter_matches('de-DEVA','de-DE')) ? "Matches" : "Does not match";
echo '; ';
echo (Locale::filter_matches('de-DE-1996','de-DE')) ? "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 , string $default )

Procedural style

string locale_lookup ( array $langtag , string $locale , 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.

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

Введение

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.

Class synopsis

Normalizer
Normalizer {
/* Methods */
static bool isNormalized ( string $input [, string $form ] )
static string normalize ( string $input [, string $form ] )
}

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

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 ] )

Procedural style

bool normalizer_is_normalized ( string $input [, string $form ] )

Checks if the provided string is already in the specified normalization form.

Список параметров

input

The input string to normalize

form

One of the normalization forms. Defaults to Normalizer::FORM_C.

Возвращаемые значения

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 ] )

Procedural style

string normalizer_normalize ( string $input [, string $form ] )

Normalizes the input provided and returns the normalized string

Список параметров

input

The input string to normalize

form

One of the normalization forms. If not provided the default is Normalizer::FORM_C.

Возвращаемые значения

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

Введение

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.

Class synopsis

MessageFormatter
MessageFormatter {
/* Methods */
__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 $value )
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 $value )

Procedural style

array msgfmt_parse_message ( string $locale , 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

value

The string to parse for items

Возвращаемые значения

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

Введение

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
IntlDateFormatter {
/* Methods */
__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

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

These constants are used to specify different formats in the constructor for DateType and TimeType.

IntlDateFormatter::NONE (string)
Do not include this element
IntlDateFormatter::FULL (string)
Completely specified style (Tuesday, April 12, 1952 AD or 3:30:42pm PST)
IntlDateFormatter::LONG (string)
Long style (January 12, 1952 or 3:30:32pm)
IntlDateFormatter::MEDIUM (string)
Medium style (Jan 12, 1952)
IntlDateFormatter::SHORT (string)
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 (string)
Non-Gregorian Calendar
IntlDateFormatter::GREGORIAN (string)
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

Возвращаемые значения

Примеры

Пример #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. Can be integer for an Unix timestamp value (seconds since epoch, UTC) or array for a localtime() array.

Возвращаемые значения

The formatted string or, if an error occurred, FALSE.

Примеры

Пример #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);
echo "locale of the formatter is : ".datefmt_get_locale($fmt);
$fmt = datefmt_create( "de-DE" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
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 31, 1969 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, 31. Dezember 1969 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.

Возвращаемые значения

Возвращает 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
intl Функции
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
intl Функции
IntlDateFormatter


intl Функции

Содержание

  • 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
  • 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
IntlDateFormatter::setTimeZoneId
grapheme_extract
intl


Function to extract a sequence of default grapheme clusters from a text buffer, which must be encoded in UTF-8.

intl Функции
grapheme_stripos
intl Функции
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 [, 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. The default is zero. 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

intl Функции
grapheme_stripos
intl Функции


Find position (in grapheme units) of first occurrence of a case-insensitive string

grapheme_extract
grapheme_stristr
intl Функции
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 ] )

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). If not given, the default is zero. 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
intl Функции


Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack.

grapheme_stripos
grapheme_strlen
intl Функции
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 ] )

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 (the default is FALSE), 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
intl Функции


Get string length in grapheme units

grapheme_stristr
grapheme_strpos
intl Функции
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
intl Функции


Find position (in grapheme units) of first occurrence of a string

grapheme_strlen
grapheme_strripos
intl Функции
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 ] )

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). If not given, the default is zero. 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
intl Функции


Find position (in grapheme units) of last occurrence of a case-insensitive string

grapheme_strpos
grapheme_strrpos
intl Функции
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 ] )

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). If not given, the default is zero. 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
intl Функции


Find position (in grapheme units) of last occurrence of a string

grapheme_strripos
grapheme_strstr
intl Функции
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 ] )

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). If not given, the default is zero. 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
intl Функции


Returns part of haystack string from the first occurrence of needle to the end of haystack.

grapheme_strrpos
grapheme_substr
intl Функции
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 ] )

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 (the default is FALSE), 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
intl Функции


Return part of a string

grapheme_strstr
intl_error_name
intl Функции
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 $string is less than or equal to $start grapheme units long, FALSE will be returned. 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, an empty string will be returned.

Возвращаемые значения

Returns the extracted part of $string.

Примеры

Пример #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
intl_error_name
intl Функции


Get symbolic name for a given error code

grapheme_substr
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

grapheme_substr
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 — Convert character 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_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 — Count the number of substring occurrences
    • mb_substr — Get part of string
intl_is_failure
Введение
Human Language and Character Encoding Support


Введение

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_PERDIR | Available since PHP 4.3.0.
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_PERDIR | PHP_INI_SYSTEM in PHP <= 4.2.3. 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_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

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 to "ASCII,JIS,UTF-8,EUC-JP,SJIS"
mbstring.http_input           = SJIS    ; Set HTTP2 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, » Vodafone live!, or » EZweb are supposed to use Shift_JIS.

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
  • JIS
  • 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
  • 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.

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 | 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 — Convert character 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_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 — Count the number of substring occurrences
  • mb_substr — Get part of string
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

The encoding parameter is the character encoding. If it is omitted, the internal character encoding value will be used.

Возвращаемые значения

A case folded version of string converted in the way specified by mode .

Unicode

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
?>

Смотрите также

  • mb_strtolower() - Make a string lowercase
  • mb_strtoupper() - Make a string uppercase
  • strtolower() - Преобразует строку в нижний регистр
  • strtoupper() - Преобразует строку в верхний регистр
  • ucfirst() - Преобразует первый символ строки в верхний регистр
  • ucwords() - Преобразует в верхний регистр первый символ каждого слова в строке

mb_check_encoding
mb_convert_encoding
Multibyte String Функции


Convert character encoding

mb_convert_case
mb_convert_kana
Multibyte String Функции
PHP Manual

mb_convert_encoding

(PHP 4 >= 4.0.6, PHP 5)

mb_convert_encoding — Convert character encoding

Описание

string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding ] )

Converts the character encoding of string str to to_encoding from optionally from_encoding .

Список параметров

str

The string being encoded.

to_encoding

The type of encoding that str is being converted to.

from_encoding

Is specified by character code names before conversion. It is either an array, or a comma separated enumerated list. If from_encoding is not specified, the internal encoding will be used.

"auto" may be used, which expands to "ASCII,JIS,UTF-8,EUC-JP,SJIS".

Возвращаемые значения

The encoded string.

Примеры

Пример #1 mb_convert_encoding() example

<?php
/* Convert internal character encoding to SJIS */
$str = mb_convert_encoding($str, "SJIS");

/* Convert EUC-JP to UTF-7 */
$str = mb_convert_encoding($str, "UTF-7", "EUC-JP");

/* Auto detect encoding from JIS, eucjp-win, sjis-win, then convert str to UCS-2LE */
$str = mb_convert_encoding($str, "UCS-2LE", "JIS, eucjp-win, sjis-win");

/* "auto" is expanded to "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 [, 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. The default value is "KV".

Specify with a combination of following options. The default value is KV.

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

The encoding parameter is the character encoding. If it is omitted, the internal character encoding value will be used.

Возвращаемые значения

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

The encoding parameter is the character encoding. If it is omitted, the internal character encoding value will be used.

Возвращаемые значения

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.

Примеры

Пример #1 mb_detect_encoding() example

<?php
/* Detect character encoding with current detect_order */
echo mb_detect_encoding($str);

/* "auto" is expanded to "ASCII,JIS,UTF-8,EUC-JP,SJIS" */
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. ("auto" is expanded to "ASCII, JIS, UTF-8, EUC-JP, SJIS")

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 [, int $indent ]]]] )

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_ereg_match
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

The encoding parameter is the character encoding. If it is omitted, the internal character encoding value will be used.

Возвращаемые значения

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_ereg_match
Multibyte String Функции


Regular expression match for multibyte string

mb_encode_numericentity
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.

Примечания

Замечание: The internal encoding or the character encoding specified by mb_regex_encoding() will be used as the character encoding for this function.

Смотрите также

  • mb_regex_encoding() - Returns current encoding for multibyte regex as string
  • mb_ereg() - Regular expression match with multibyte support

mb_encode_numericentity
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.

Примечания

Замечание: The internal encoding or the character encoding specified by mb_regex_encoding() will be used as the character encoding for this function.

Внимание

Never use the e modifier when working on untrusted input. No automatic escaping will happen (as known from preg_replace()). Not taking care of this will most likely create remote code execution vulnerabilities in your application.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Примечания

Замечание: The internal encoding or the character encoding specified by mb_regex_encoding() will be used as the character encoding for this function.

Смотрите также

  • 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

Список параметров

This function has no parameters.

Возвращаемые значения

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;

Примечания

Замечание: The internal encoding or the character encoding specified by mb_regex_encoding() will be used as the character encoding for this function.

Смотрите также

  • 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. Defaults to 'ms'.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание: The internal encoding or the character encoding specified by mb_regex_encoding() will be used as the character encoding for this function.

Смотрите также

  • 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. Defaults to 'ms'.

Возвращаемые значения

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.

Примечания

Замечание: The internal encoding or the character encoding specified by mb_regex_encoding() will be used as the character encoding for this function.

Смотрите также

  • 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. Defaults to 'ms'.

Возвращаемые значения

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.

Примечания

Замечание: The internal encoding or the character encoding specified by mb_regex_encoding() will be used as the character encoding for this function.

Смотрите также

  • 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 в случае возникновения ошибки.

Примечания

Замечание: The internal encoding or the character encoding specified by mb_regex_encoding() will be used as the character encoding for this function.

Смотрите также

  • 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. Defaults to 'ms'.

Возвращаемые значения

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.

Примечания

Замечание: The internal encoding or the character encoding specified by mb_regex_encoding() will be used as the character encoding for this function.

Смотрите также

  • 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.

Примечания

Замечание: The internal encoding or the character encoding specified by mb_regex_encoding() will be used as the character encoding for this function.

Смотрите также

  • 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.

Примечания

Замечание: The internal encoding or the character encoding specified by mb_regex_encoding() will be used as the character encoding for this function.

Внимание

Never use the e modifier when working on untrusted input. No automatic escaping will happen (as known from preg_replace()). Not taking care of this will most likely create remote code execution vulnerabilities in your application.

Смотрите также

  • 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.

Примечания

Замечание: The internal encoding or the character encoding specified by mb_regex_encoding() will be used as the character encoding for this function.

Смотрите также

  • 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();
?>

Примечания

Замечание: The internal encoding or the character encoding specified by mb_regex_encoding() will be used as the character encoding for this function.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns a numerically indexed array.

Errors/Exceptions

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() - Turn on output buffering

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

The encoding parameter is the character encoding. If it is omitted, the internal character encoding value will be used.

Возвращаемые значения

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.

Возвращаемые значения

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() - Send 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.

Примечания

Замечание: The internal encoding or the character encoding specified by mb_regex_encoding() will be used as the character encoding for this function.

Смотрите также

  • 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() performs equivalent operation as mb_substr() with different method. If start position is multi-byte character's second byte or larger, it starts from first byte of multi-byte character.

It subtracts string from str that is shorter than length AND character that is not part of multi-byte string or not being middle of shift sequence.

Список параметров

str

The string being cut.

start

The position that begins the cut.

length

The string being decoded.

encoding

The encoding parameter is the character encoding. If it is omitted, the internal character encoding value will be used.

Возвращаемые значения

mb_strcut() returns the portion of str specified by the start and length parameters.

Смотрите также

  • mb_substr() - Get part of string
  • 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

The encoding parameter is the character encoding. If it is omitted, the internal character encoding value will be used.

Возвращаемые значения

The truncated string. If trimmarker is set, trimmarker is appended to the return value.

Примеры

Пример #1 mb_strimwidth() example

<?php
$str = mb_strimwidth($str, 0, 40, "..>");
?>

Смотрите также

  • 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 [, 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, Default value is FALSE.

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

The encoding parameter is the character encoding. If it is omitted, the internal character encoding value will be used.

Возвращаемые значения

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 [, 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 position counted from the beginning of haystack .

offset

The search offset. If it is not specified, 0 is used.

encoding

The encoding parameter is the character encoding. If it is omitted, the internal character encoding value will be used.

Возвращаемые значения

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 [, 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, Default value is FALSE.

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 [, 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, Default value is FALSE.

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 [, 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 [, 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

The encoding parameter is the character encoding. If it is omitted, the internal character encoding value will be used.

Возвращаемые значения

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.

Замечание: The internal encoding or the character encoding specified by mb_regex_encoding() will be used as the character encoding for this function.

Смотрите также

  • 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 [, 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, Default value is FALSE.

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

The encoding parameter is the character encoding. If it is omitted, the internal character encoding value will be used.

Возвращаемые значения

str with all alphabetic characters converted to lowercase.

Unicode

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
?>

Смотрите также

  • 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

The encoding parameter is the character encoding. If it is omitted, the internal character encoding value will be used.

Возвращаемые значения

str with all alphabetic characters converted to uppercase.

Unicode

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
?>

Смотрите также

  • 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

The encoding parameter is the character encoding. If it is omitted, the internal character encoding value will be used.

Возвращаемые значения

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)

Возвращаемые значения

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 Функции


Count the number of substring occurrences

mb_substitute_character
mb_substr
Multibyte String Функции
PHP Manual

mb_substr_count

(PHP 4 >= 4.3.0, PHP 5)

mb_substr_count — Count the number of substring occurrences

Описание

int mb_substr_count ( string $haystack , string $needle [, string $encoding ] )

Counts the number of times the needle substring occurs in the haystack string.

Список параметров

haystack

The string being checked.

needle

The string being found.

encoding

The encoding parameter is the character encoding. If it is omitted, the internal character encoding value will be used.

Возвращаемые значения

The number of times the needle substring occurs in the haystack string.

Примеры

Пример #1 mb_substr_count() example

<?php
echo mb_substr_count("This is a test", "is"); // prints out 2
?>

Смотрите также

  • mb_strpos() - Find position of first occurrence of string in a string
  • mb_substr() - Get part of string
  • substr_count() - Возвращает число вхождений подстроки

mb_substitute_character
mb_substr
Multibyte String Функции


Get part of string

mb_substr_count
Pspell
Multibyte String Функции
PHP Manual

mb_substr

(PHP 4 >= 4.0.6, PHP 5)

mb_substr — Get part of string

Описание

string mb_substr ( string $str , int $start [, int $length [, string $encoding ]] )

Performs a multi-byte safe substr() operation based on number of characters. Position is counted from the beginning of str . First character's position is 0. Second character position is 1, and so on.

Список параметров

str

The string being checked.

start

The first position used in str .

length

The maximum length of the returned string.

encoding

The encoding parameter is the character encoding. If it is omitted, the internal character encoding value will be used.

Возвращаемые значения

mb_substr() returns the portion of str specified by the start and length parameters.

Смотрите также

  • 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
Введение
Human Language and Character Encoding Support


Введение

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.sourceforge.net/.

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


Установка

If you have the libraries needed add the --with-pspell[=dir] option when compiling PHP.

Замечание: Note to Win32 Users
In order for this extension to work, there are DLL files that must be available to the Windows system PATH. For information on how to do this, see the FAQ entitled "How do I add my PHP directory to the PATH on Windows". Although copying DLL files from the PHP folder into the Windows system directory also works (because the system directory is by default in the system's PATH), this is not recommended. This extension requires the following files to be in the 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, or FALSE on failure.

Примеры

Пример #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
Введение
Human Language and Character Encoding Support


Введение

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. Это связано с тем фактом, что они оба используют один и тот же внутренний символ.

Требования
Настройка во время выполнения
Установка и настройка


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

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

Типы ресурсов
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: &aacute;");
?>

Примечания

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
Unicode
Recode Функции
PHP Manual

recode

(PHP 4, PHP 5)

recode — Псевдоним recode_string()

Описание

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

recode_string
Unicode
Recode Функции


Unicode

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Unicode Функции
    • unicode_decode — Convert a binary string into a Unicode string
    • unicode_encode — Convert a unicode string in any encoding
    • unicode_get_error_mode — Get the error mode for strings conversions
    • unicode_get_subst_char — Get the substitution character for string conversion errors
    • unicode_set_error_mode — Set the error mode for strings conversions
    • unicode_set_subst_char — Set the substitution character for string conversion errors
recode
Введение
Human Language and Character Encoding Support


Введение

Unicode Support.

Внимание

This extension is still in development and it isn't available to public yet.

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


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Unicode


Требования

» ICU 3.4 or later is required.

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


Установка

First you should download and install ICU:

Пример #1 install ICU on Unix

./configure --disable-threads --enable-extras --enable-icuio --enable-layout
make && make install

Then checkout latest PHP and configure it --with-icu-dir=<dir> option, where <dir> was the dir to where you installed ICU. You don't need to explicitly use this option if you install ICU to a standard location.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Unicode Configuration Options
Name | Default | Changeable | Changelog
unicode.fallback_encoding | NULL | PHP_INI_ALL | Available since PHP 6.0.0.
unicode.from_error_mode | "2" | PHP_INI_ALL | Available since PHP 6.0.0.
unicode.from_error_subst_char | "3f" | PHP_INI_ALL | Available since PHP 6.0.0.
unicode.http_input_encoding | NULL | PHP_INI_ALL | Available since PHP 6.0.0.
unicode.output_encoding | NULL | PHP_INI_ALL | Available since PHP 6.0.0.
unicode.runtime_encoding | NULL | PHP_INI_ALL | Available since PHP 6.0.0.
unicode.script_encoding | NULL | PHP_INI_ALL | Available since PHP 6.0.0.

Для подробного описания констант PHP_INI_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

unicode.output_encoding string

Default encoding for output.

Установка
Типы ресурсов
Установка и настройка


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

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

constant | value | description
U_INVALID_STOP | 0 | stop at first invalid character
U_INVALID_SKIP | 1 | skip invalid characters
U_INVALID_SUBSTITUTE | 2 | replace invalid characters
U_INVALID_ESCAPE | 3 | escape invalid characters

Типы ресурсов
Unicode Функции
Unicode


Unicode Функции

Содержание

  • unicode_decode — Convert a binary string into a Unicode string
  • unicode_encode — Convert a unicode string in any encoding
  • unicode_get_error_mode — Get the error mode for strings conversions
  • unicode_get_subst_char — Get the substitution character for string conversion errors
  • unicode_set_error_mode — Set the error mode for strings conversions
  • unicode_set_subst_char — Set the substitution character for string conversion errors
Предопределенные константы
unicode_decode
Unicode


Convert a binary string into a Unicode string

Unicode Функции
unicode_encode
Unicode Функции
PHP Manual

unicode_decode

(PHP 6 >= 6.0.0)

unicode_decode — Convert a binary string into a Unicode string

Описание

unicode unicode_decode ( string $input , string $encoding [, int $errmode ] )

Convert a binary string encoded in encoding to a unicode string.

Список параметров

input

Try string that is converted.

encoding

The encoding of input .

errmode

Conversion error mode. This parameter determines the action to take when the converter cannot convert a character. For a list of available modes, refer to unicode_set_error_mode(). If the parameter is not set, the global error mode is used.

Возвращаемые значения

A unicode string or FALSE on failure.

Errors/Exceptions

Emits a E_WARNING level error if a converter cannot be created for the desired encoding .

Примечания

Внимание

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

Смотрите также

  • unicode_set_error_mode() - Set the error mode for strings conversions
  • unicode_encode() - Convert a unicode string in any encoding

Unicode Функции
unicode_encode
Unicode Функции


Convert a unicode string in any encoding

unicode_decode
unicode_get_error_mode
Unicode Функции
PHP Manual

unicode_encode

(PHP 6 >= 6.0.0)

unicode_encode — Convert a unicode string in any encoding

Описание

string unicode_encode ( unicode $input , string $encoding [, int $errmode ] )

Takes a unicode string and converts it to a string in the specified encoding .

Список параметров

input

The unicode string that is converted.

encoding

The new encoding for input .

errmode

Conversion error mode. This parameter determines the action to take when the converter cannot convert a character. For a list of available modes, refer to unicode_set_error_mode(). If the parameter is not set, the global error mode is used.

Возвращаемые значения

A string on success, or FALSE on failure.

Errors/Exceptions

Emits a E_WARNING level error if a converter cannot be created for the desired encoding .

Примеры

Пример #1 A unicode_encode() example

Note: The characters will be seen instead of entities in the output.

<?php
header ('Content-Type: text/plain; charset=ISO-8859-2');

$encoded = unicode_encode ('\u0150\u0179', 'ISO-8859-2');

echo 'The string itself:', $encoded, PHP_EOL;
echo 'The length of the string: ', strlen ($encoded);
?>

Результатом выполнения данного примера будет что-то подобное:

The string itself: &#336;&#377;
The length of the string: 2

Примечания

Внимание

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

Смотрите также

  • unicode_set_error_mode() - Set the error mode for strings conversions
  • unicode_decode() - Convert a binary string into a Unicode string

unicode_decode
unicode_get_error_mode
Unicode Функции


Get the error mode for strings conversions

unicode_encode
unicode_get_subst_char
Unicode Функции
PHP Manual

unicode_get_error_mode

(PHP 6 >= 6.0.0)

unicode_get_error_mode — Get the error mode for strings conversions

Описание

int unicode_get_error_mode ( int $direction )

Return the current error mode for string conversions in direction .

Список параметров

direction

Get the error mode for conversion direction . This can either be FROM_UNICODE or TO_UNICODE. See unicode_set_error_mode() for more details.

Возвращаемые значения

This function returns one of the error mode constants or FALSE on failure.

Errors/Exceptions

Emits a E_WARNING level error if direction is invalid.

Примечания

Внимание

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

Смотрите также

  • unicode_set_error_mode() - Set the error mode for strings conversions
  • unicode_encode() - Convert a unicode string in any encoding
  • unicode_decode() - Convert a binary string into a Unicode string

unicode_encode
unicode_get_subst_char
Unicode Функции


Get the substitution character for string conversion errors

unicode_get_error_mode
unicode_set_error_mode
Unicode Функции
PHP Manual

unicode_get_subst_char

(PHP 6 >= 6.0.0)

unicode_get_subst_char — Get the substitution character for string conversion errors

Описание

unicode unicode_get_subst_char ( void )

Return the substitution character for string conversion errors set by unicode_set_subst_char().

Возвращаемые значения

The unicode substitution character is returned.

Примечания

Внимание

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

Смотрите также

  • unicode_set_error_mode() - Set the error mode for strings conversions
  • unicode_set_subst_char() - Set the substitution character for string conversion errors

unicode_get_error_mode
unicode_set_error_mode
Unicode Функции


Set the error mode for strings conversions

unicode_get_subst_char
unicode_set_subst_char
Unicode Функции
PHP Manual

unicode_set_error_mode

(PHP 6 >= 6.0.0)

unicode_set_error_mode — Set the error mode for strings conversions

Описание

bool unicode_set_error_mode ( int $direction , int $mode )

This function sets the error mode for string conversions between different encodings. An error can occur during conversion when an illegal character is encountered or if a character cannot be represented into the new encoding. By default, when an error is encountered, the conversion stops.

Список параметров

direction

The direction sets the conversion direction to which the error mode will apply. This can either be FROM_UNICODE, which will set the error mode for conversions from a unicode string to a binary string or TO_UNICODE, which will set the error mode for conversions from a binary string to a unicode string.

mode

mode determines how the conversion errors are handled. It should be one of the following constants:

Available modes
Mode | Description
U_CONV_ERROR_STOP | Stop the conversion. This is the default mode.
U_CONV_ERROR_SKIP | Skip the character.
U_CONV_ERROR_SUBST | Substitute the character. The substituting character can be set with unicode_set_subst_char().
U_CONV_ERROR_ESCAPE_UNICODE | Escape the faulty bytes and represent them in the Unicode character format.
U_CONV_ERROR_ESCAPE_ICU | Escape the faulty bytes and represent them in the ICU character format.
U_CONV_ERROR_ESCAPE_JAVA | Escape the faulty bytes and print them in the Java character format.
U_CONV_ERROR_ESCAPE_XML_DEC | Escape the faulty bytes and represent them in decimal format.
U_CONV_ERROR_ESCAPE_XML_HEX | Escape the faulty bytes and represent them in hexadecimal format.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Errors/Exceptions

Emits a E_WARNING level error if the direction or the mode are invalid.

Примечания

Внимание

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

Смотрите также

  • unicode_encode() - Convert a unicode string in any encoding
  • unicode_decode() - Convert a binary string into a Unicode string

unicode_get_subst_char
unicode_set_subst_char
Unicode Функции


Set the substitution character for string conversion errors

unicode_set_error_mode
Image Processing and Generation
Unicode Функции
PHP Manual

unicode_set_subst_char

(PHP 6 >= 6.0.0)

unicode_set_subst_char — Set the substitution character for string conversion errors

Описание

bool unicode_set_subst_char ( unicode $character )

When converting a string from or to unicode, an invalid or unconvertible character may be encountered. When the conversion error mode is set to U_CONV_ERROR_SUBST, the character that caused the error is substituted by a character set by this function. The default substitution character is ?.

Список параметров

character

The substitution character to use.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Errors/Exceptions

Emits a E_WARNING level error if character is invalid.

Примечания

Внимание

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

Смотрите также

  • unicode_set_error_mode() - Set the error mode for strings conversions
  • unicode_get_error_mode() - Get the error mode for strings conversions
  • unicode_encode() - Convert a unicode string in any encoding
  • unicode_decode() - Convert a binary string into a Unicode string

unicode_set_error_mode
Image Processing and Generation
Unicode Функции


Image Processing and Generation

  • Exif — Exchangeable image information
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Exif Функции
  • GD — Image Processing and GD
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • GD and Image Функции
  • ImageMagick — Image Processing (ImageMagick)
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • The Imagick class
    • The ImagickDraw class
    • The ImagickPixel class
    • The ImagickPixelIterator class
unicode_set_subst_char
Exif
Справочник функций


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
Image Processing and Generation
Введение
Image Processing and Generation


Введение

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


Требования

Your PHP must be compiled in with --enable-exif. PHP does not require any additional library for the exif module. Windows users must also have the mbstring extension enabled.

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


Установка

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 supports automatically conversion for Unicode and JIS character encodings of user comments when module mbstring is available. This is done by first decoding the comment using the specified characterset. The result is then encoded with another characterset which should match your HTTP output.

Exif configuration options
Name | Default | Changeable | Changelog
exif.encode_unicode | "ISO-8859-15" | PHP_INI_ALL | Available since PHP 4.3.0.
exif.decode_unicode_motorola | "UCS-2BE" | PHP_INI_ALL | Available since PHP 4.3.0.
exif.decode_unicode_intel | "UCS-2LE" | PHP_INI_ALL | Available since PHP 4.3.0.
exif.encode_jis | "" | PHP_INI_ALL | Available since PHP 4.3.0.
exif.decode_jis_motorola | "JIS" | PHP_INI_ALL | Available since PHP 4.3.0.
exif.decode_jis_intel | "JIS" | PHP_INI_ALL | Available since PHP 4.3.0.

Для подробного описания констант PHP_INI_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

exif.encode_unicode string

exif.encode_unicode defines the characterset UNICODE user comments are handled. This defaults to ISO-8859-15 which should work for most non Asian countries. The setting can be empty or must be an encoding supported by mbstring. If it is empty the current internal encoding of mbstring is used.

exif.decode_unicode_motorola string

exif.decode_unicode_motorola defines the image internal characterset for Unicode encoded user comments if image is in motorola byte order (big-endian). This setting cannot be empty but you can specify a list of encodings supported by mbstring. The default is UCS-2BE.

exif.decode_unicode_intel string

exif.decode_unicode_intel defines the image internal characterset for Unicode encoded user comments if image is in intel byte order (little-endian). This setting cannot be empty but you can specify a list of encodings supported by mbstring. The default is UCS-2LE.

exif.encode_jis string

exif.encode_jis defines the characterset JIS user comments are handled. This defaults to an empty value which forces the functions to use the current internal encoding of mbstring.

exif.decode_jis_motorola string

exif.decode_jis_motorola defines the image internal characterset for JIS encoded user comments if image is in motorola byte order (big-endian). This setting cannot be empty but you can specify a list of encodings supported by mbstring. The default is JIS.

exif.decode_jis_intel string

exif.decode_jis_intel defines the image internal characterset for JIS encoded user comments if image is in intel byte order (little-endian). This setting cannot be empty but you can specify a list of encodings supported by mbstring. The default is JIS.

Установка
Типы ресурсов
Установка и настройка


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

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

EXIF_USE_MBSTRING (integer)

The exif_imagetype() lists several related built-in constants.

Типы ресурсов
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.

Список изменений

Версия | Описание
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

Примеры

Пример #1 exif_imagetype() example

<?php
if (exif_imagetype('image.gif') != IMAGETYPE_GIF) {
    echo 'The picture is not a gif';
}
?>

Смотрите также

  • 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. More information available at » http://www.canon.co.jp/Imaging/NOTICE/011214-e.html.

Список параметров

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 image index

Возвращаемые значения

Returns the header name, or FALSE if index is undefined.

Смотрите также

  • exif_imagetype() - Determine the type of an image

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 Функции


Image Processing and GD

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • PNG creation with PHP
    • Adding watermarks to images using alpha channels
    • Using imagecopymerge to create a translucent watermark
  • GD and Image Функции
    • 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 — Output image to browser or file
    • 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 — Create a new image from file or URL
    • imagecreatefromjpeg — Create a new image from file or URL
    • imagecreatefrompng — Create a new image from file or URL
    • imagecreatefromstring — Create a new image from the image stream in the string
    • imagecreatefromwbmp — Create a new image from file or URL
    • imagecreatefromxbm — Create a new image from file or URL
    • imagecreatefromxpm — Create a new image from file or 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 — Output GD image to browser or file
    • imagegif — Output image to browser or file
    • imagegrabscreen — Captures the whole screen
    • imagegrabwindow — Captures a window
    • imageinterlace — Enable or disable interlace
    • imageistruecolor — Finds whether an image is a truecolor image
    • imagejpeg — Output image to browser or file
    • 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 — Rotate an image with a given angle
    • 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 — Output image to browser or file
    • 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 — Convert JPEG image file to WBMP image file
    • png2wbmp — Convert PNG image file to WBMP image file
read_exif_data
Введение
Image Processing and Generation


Введение

PHP is not limited to creating just HTML output. It can also be used to create and manipulate image files in a variety of different image formats, including GIF, PNG, JPEG, WBMP, and XPM. Even more convenient, PHP can output image streams directly to a browser. You will need to compile PHP with the GD library of image functions for this to work. GD and PHP may also require other libraries, depending on which image formats you want to work with.

You can use the image functions in PHP to get the size of JPEG, GIF, PNG, SWF, TIFF and JPEG2000 images.

With the exif extension, you are able to work with information stored in headers of JPEG and TIFF images. This way you can read meta data generated by digital cameras. The exif functions do not require the GD library.

Замечание: Read the requirements section about how to expand image capabilities to read, write and modify images. To read meta data of pictures taken by digital cameras you need the above mentioned exif extension.

Замечание: The getimagesize() function does not require the GD extension.

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.

Замечание: Support for GD 1.x has been removed as of PHP 6.0.0, which requires GD 2.0.33 or later.

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-6b | » ftp://ftp.uu.net/graphics/jpeg/ | When building the jpeg-v6b 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/ | Support removed as of PHP 6.0.0
FreeType 2 | » http://www.freetype.org/ |
T1lib | » ftp://sunsite.unc.edu/pub/Linux/libs/graphics/) | Support for Postscript Type 1 fonts.

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


Установка

To enable GD-support configure PHP --with-gd[=DIR], where DIR is the GD base install directory. To use the recommended bundled version of the GD library (which was first bundled in PHP 4.3.0), use the configure option --with-gd. GD library requires libpng and libjpeg to compile.

In Windows, you'll include the GD2 DLL php_gd2.dll as an extension in php.ini. The GD1 DLL php_gd.dll was removed in PHP 4.3.2. Also note that the preferred truecolor image functions, such as imagecreatetruecolor(), require GD2.

Enhance the capabilities of GD to handle more image formats by specifying the --with-XXXX configure switch to your PHP configure line.

Supported image formats
Image Format | Configure Switch
jpeg-6b | To enable support for jpeg-6b add --with-jpeg-dir=DIR.
png | To enable support for png add --with-png-dir=DIR. Note, libpng requires the zlib library, therefore add --with-zlib-dir[=DIR] to your configure line.
xpm | To enable support for xpm add --with-xpm-dir=DIR. If configure is not able to find the required libraries, you may add the path to your X11 libraries.

Замечание: When compiling PHP with libpng, you must use the same version that was linked with the GD library.

Enhance the capabilities of GD to deal with different fonts by specifying the --with-XXXX configure switch to your PHP configure line.

Supported font libraries
Font library | Configure Switch
FreeType 1.x | To enable support for FreeType 1.x add --with-ttf[=DIR].
FreeType 2 | To enable support for FreeType 2 add --with-freetype-dir=DIR.
T1lib | To enable support for T1lib (Postscript Type 1 fonts) add --with-t1lib[=DIR].
Native TrueType string function | To enable support for native TrueType string function add --enable-gd-native-ttf.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Image Опции настройки
Имя | По умолчанию | Меняемо | Changelog
gd.jpeg_ignore_warning | "0" | PHP_INI_ALL | Available since PHP 5.1.3.

Для подробного описания констант PHP_INI_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

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

Примеры
Adding watermarks to images using alpha channels
Примеры
PHP Manual

Пример #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

PNG creation with PHP
Using imagecopymerge to create a translucent watermark
Примеры
PHP Manual

Пример #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);
?>

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 and Image Функции
Примеры
PHP Manual

Пример #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);

?>

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 and Image Функции
Примеры


GD and Image Функции

Содержание

  • 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 — Output image to browser or file
  • 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 — Create a new image from file or URL
  • imagecreatefromjpeg — Create a new image from file or URL
  • imagecreatefrompng — Create a new image from file or URL
  • imagecreatefromstring — Create a new image from the image stream in the string
  • imagecreatefromwbmp — Create a new image from file or URL
  • imagecreatefromxbm — Create a new image from file or URL
  • imagecreatefromxpm — Create a new image from file or 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 — Output GD image to browser or file
  • imagegif — Output image to browser or file
  • imagegrabscreen — Captures the whole screen
  • imagegrabwindow — Captures a window
  • imageinterlace — Enable or disable interlace
  • imageistruecolor — Finds whether an image is a truecolor image
  • imagejpeg — Output image to browser or file
  • 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 — Rotate an image with a given angle
  • 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 — Output image to browser or file
  • 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 — Convert JPEG image file to WBMP image file
  • 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 and Image Функции
getimagesize
GD and Image Функции
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.
JPG Support | boolean value. TRUE if JPG 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.

Примеры

Пример #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)
  ["JPG Support"]=>
  bool(false)
  ["PNG Support"]=>
  bool(true)
  ["WBMP Support"]=>
  bool(true)
  ["XBM Support"]=>
  bool(false)
}

Смотрите также

  • imagepng() - Output a PNG image to either the browser or a file
  • imagejpeg() - Output image to browser or file
  • imagegif() - Output image to browser or file
  • imagewbmp() - Output image to browser or file
  • imagetypes() - Return the image types supported by this PHP build

GD and Image Функции
getimagesize
GD and Image Функции


Get the size of an image

gd_info
image_type_to_extension
GD and Image Функции
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 correct the 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.

Errors/Exceptions

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);
}
?>

Примечания

Замечание: This function does not require the GD image library.

Смотрите также

  • 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 and Image Функции


Get file extension for image type

getimagesize
image_type_to_mime_type
GD and Image Функции
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 ] )

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);
?>

Примечания

Замечание: This function does not require the GD image library.

getimagesize
image_type_to_mime_type
GD and Image Функции


Get Mime-Type for image-type returned by getimagesize, exif_read_data, exif_thumbnail, exif_imagetype

image_type_to_extension
image2wbmp
GD and Image Функции
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));
?>

Примечания

Замечание: This function does not require the GD image library.

Смотрите также

  • 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 and Image Функции


Output image to browser or file

image_type_to_mime_type
imagealphablending
GD and Image Функции
PHP Manual

image2wbmp

(PHP 4 >= 4.0.5, PHP 5)

image2wbmp — Output image to browser or file

Описание

bool image2wbmp ( resource $image [, string $filename [, int $threshold ]] )

image2wbmp() outputs or save a WBMP version of the given image .

Список параметров

image

An image resource, returned by one of the image creation functions, such as 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() - Output image to browser or file

image_type_to_mime_type
imagealphablending
GD and Image Функции


Set the blending mode for an image

image2wbmp
imageantialias
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

blendmode

Whether to enable the blending mode or not. Default to 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 and Image Функции


Should antialias functions be used or not

imagealphablending
imagearc
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as 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);
?>

Результатом выполнения данного примера будет что-то подобное:

Примечания

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

Смотрите также

  • imagecreatetruecolor() - Create a new true color image

imagealphablending
imagearc
GD and Image Функции


Draws an arc

imageantialias
imagechar
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as 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);

?>

Результатом выполнения данного примера будет что-то подобное:

Смотрите также

  • imagefilledarc() - Draw a partial arc and fill it
  • imageellipse() - Draw an ellipse
  • imagefilledellipse() - Draw a filled ellipse

imageantialias
imagechar
GD and Image Функции


Draw a character horizontally

imagearc
imagecharup
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

font

Can be 1, 2, 3, 4, 5 for built-in fonts in latin2 encoding (where higher numbers corresponding to larger fonts) or any of your own font identifiers registered with 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);

?>

Результатом выполнения данного примера будет что-то подобное:

Смотрите также

  • imagecharup() - Draw a character vertically
  • imageloadfont() - Load a new font

imagearc
imagecharup
GD and Image Функции


Draw a character vertically

imagechar
imagecolorallocate
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

font

Can be 1, 2, 3, 4, 5 for built-in fonts in latin2 encoding (where higher numbers corresponding to larger fonts) or any of your own font identifiers registered with 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);

?>

Результатом выполнения данного примера будет что-то подобное:

Смотрите также

  • imagechar() - Draw a character horizontally
  • imageloadfont() - Load a new font

imagechar
imagecolorallocate
GD and Image Функции


Allocate a color for an image

imagecharup
imagecolorallocatealpha
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

red

Value of red component.

green

Value of green component.

blue

Value of blue component.

These parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF.

Возвращаемые значения

A color identifier or FALSE if the allocation failed.

Список изменений

Версия | Описание
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 and Image Функции


Allocate a color for an image

imagecolorallocate
imagecolorat
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

red

Value of red component.

green

Value of green component.

blue

Value of blue component.

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.

Список изменений

Версия | Описание
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);
?>

Результатом выполнения данного примера будет что-то подобное:

Примечания

Замечание: Эта функция нуждается в GD версии 2.0.1 или выше.

Смотрите также

  • imagecolorallocate() - Allocate a color for an image
  • imagecolordeallocate() - De-allocate a color for an image

imagecolorallocate
imagecolorat
GD and Image Функции


Get the index of the color of a pixel

imagecolorallocatealpha
imagecolorclosest
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as 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);

list($r, $g, $b, $alpha) = imagecolorsforindex($rgb);

var_dump($r, $g, $b, $alpha);
?>

Результатом выполнения данного примера будет что-то подобное:

int(119)
int(123)
int(180)
int(127)

Смотрите также

  • imagecolorset() - Set the color for the specified palette index
  • imagecolorsforindex() - Get the colors for an index

imagecolorallocatealpha
imagecolorclosest
GD and Image Функции


Get the index of the closest color to the specified color

imagecolorat
imagecolorclosestalpha
GD and Image Функции
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.

If you created the image from a file, only colors used in the image are resolved. Colors present only in the palette are not resolved.

Список параметров

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

red

Value of red component.

green

Value of green component.

blue

Value of blue component.

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 and Image Функции


Get the index of the closest color to the specified color + alpha

imagecolorclosest
imagecolorclosesthwb
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

red

Value of red component.

green

Value of green component.

blue

Value of blue component.

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 and Image Функции


Get the index of the color which has the hue, white and blackness

imagecolorclosestalpha
imagecolordeallocate
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

red

Value of red component.

green

Value of green component.

blue

Value of blue component.

Возвращаемые значения

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 and Image Функции


De-allocate a color for an image

imagecolorclosesthwb
imagecolorexact
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as 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 and Image Функции


Get the index of the specified color

imagecolordeallocate
imagecolorexactalpha
GD and Image Функции
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.

If you created the image from a file, only colors used in the image are resolved. Colors present only in the palette are not resolved.

Список параметров

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

red

Value of red component.

green

Value of green component.

blue

Value of blue component.

Возвращаемые значения

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 and Image Функции


Get the index of the specified color + alpha

imagecolorexact
imagecolormatch
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

red

Value of red component.

green

Value of green component.

blue

Value of blue component.

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 and Image Функции


Makes the colors of the palette version of an image more closely match the true color version

imagecolorexactalpha
imagecolorresolve
GD and Image Функции
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 and Image Функции


Get the index of the specified color or its closest possible alternative

imagecolormatch
imagecolorresolvealpha
GD and Image Функции
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.

If you created the image from a file, only colors used in the image are resolved. Colors present only in the palette are not resolved.

Список параметров

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

red

Value of red component.

green

Value of green component.

blue

Value of blue component.

Возвращаемые значения

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 and Image Функции


Get the index of the specified color + alpha or its closest possible alternative

imagecolorresolve
imagecolorset
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

red

Value of red component.

green

Value of green component.

blue

Value of blue component.

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 and Image Функции


Set the color for the specified palette index

imagecolorresolvealpha
imagecolorsforindex
GD and Image Функции
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 )

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

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

index

An index in the palette.

red

Value of red component.

green

Value of green component.

blue

Value of blue component.

Возвращаемые значения

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

Примеры

Пример #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 and Image Функции


Get the colors for an index

imagecolorset
imagecolorstotal
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as 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 and Image Функции


Find out the number of colors in an image's palette

imagecolorsforindex
imagecolortransparent
GD and Image Функции
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 imagecreatetruecolor().

Возвращаемые значения

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 and Image Функции


Define a color as transparent

imagecolorstotal
imageconvolution
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as 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);
?>

Результатом выполнения данного примера будет что-то подобное:

Примечания

Замечание: 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 and Image Функции


Apply a 3x3 convolution matrix, using coefficient and offset

imagecolortransparent
imagecopy
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as 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);
?>

Результат выполнения данного примера:

Пример #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);
?>

Результат выполнения данного примера:

Примечания

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

Смотрите также

  • imagefilter() - Applies a filter to an image

imagecolortransparent
imagecopy
GD and Image Функции


Copy part of an image

imageconvolution
imagecopymerge
GD and Image Функции
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

Destination image link resource.

src_im

Source image link resource.

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

Source width.

src_h

Source height.

Возвращаемые значения

Возвращает 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);
?>

Результатом выполнения данного примера будет что-то подобное:

imageconvolution
imagecopymerge
GD and Image Функции


Copy and merge part of an image

imagecopy
imagecopymergegray
GD and Image Функции
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

Destination image link resource.

src_im

Source image link resource.

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

Source width.

src_h

Source height.

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 and Image Функции


Copy and merge part of an image with gray scale

imagecopymerge
imagecopyresampled
GD and Image Функции
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

Destination image link resource.

src_im

Source image link resource.

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

Source width.

src_h

Source height.

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 and Image Функции


Copy and resize part of an image with resampling

imagecopymergegray
imagecopyresized
GD and Image Функции
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_im

Destination image link resource.

src_im

Source image link resource.

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

Source width.

src_h

Source height.

Возвращаемые значения

Возвращает 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);
?>

Результатом выполнения данного примера будет что-то подобное:

Пример #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);
?>

Результатом выполнения данного примера будет что-то подобное:

Примечания

Замечание: 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 and Image Функции


Copy and resize part of an image

imagecopyresampled
imagecreate
GD and Image Функции
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_im

Destination image link resource.

src_im

Source image link resource.

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

Source width.

src_h

Source height.

Возвращаемые значения

Возвращает 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);
?>

Результатом выполнения данного примера будет что-то подобное:

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 and Image Функции


Create a new palette based image

imagecopyresized
imagecreatefromgd2
GD and Image Функции
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.

Возвращаемые значения

Returns an image resource identifier on success, FALSE on errors.

Примеры

Пример #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);
?>

Результатом выполнения данного примера будет что-то подобное:

Смотрите также

  • imagedestroy() - Destroy an image
  • imagecreatetruecolor() - Create a new true color image

imagecopyresized
imagecreatefromgd2
GD and Image Функции


Create a new image from GD2 file or URL

imagecreate
imagecreatefromgd2part
GD and Image Функции
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 в List of Supported Protocols/Wrappers.

Список параметров

filename

Path to the GD2 image.

Возвращаемые значения

Returns an image resource identifier on success, FALSE on errors.

Примеры

Пример #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 PHP5+
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 and Image Функции


Create a new image from a given part of GD2 file or URL

imagecreatefromgd2
imagecreatefromgd
GD and Image Функции
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 в List of Supported Protocols/Wrappers.

Список параметров

filename

Path to the GD2 image.

srcX

x-coordinate of source point.

srcY

y-coordinate of source point.

width

Source width.

height

Source height.

Возвращаемые значения

Returns an image resource identifier on success, FALSE on errors.

Примеры

Пример #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 PHP5+
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 and Image Функции


Create a new image from GD file or URL

imagecreatefromgd2part
imagecreatefromgif
GD and Image Функции
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 в List of Supported Protocols/Wrappers.

Список параметров

filename

Path to the GD file.

Возвращаемые значения

Returns an image resource identifier on success, FALSE on errors.

Примеры

Пример #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 and Image Функции


Create a new image from file or URL

imagecreatefromgd
imagecreatefromjpeg
GD and Image Функции
PHP Manual

imagecreatefromgif

(PHP 4, PHP 5)

imagecreatefromgif — Create a new image from file or URL

Описание

resource imagecreatefromgif ( string $filename )

imagecreatefromgif() returns an image identifier representing the image obtained from the given filename.

Подсказка

Для этой функции вы можете использовать URL в качестве имени файла, если была включена опция "fopen wrappers". Смотрите более подробную информацию об определении имени файла в описании функции fopen(), а также список поддерживаемых протоколов URL в List of Supported Protocols/Wrappers.

Список параметров

filename

Path to the GIF image.

Возвращаемые значения

Returns an image resource identifier on success, FALSE on errors.

Примеры

Пример #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);
?>

Результатом выполнения данного примера будет что-то подобное:

Примечания

Замечание: 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 and Image Функции


Create a new image from file or URL

imagecreatefromgif
imagecreatefrompng
GD and Image Функции
PHP Manual

imagecreatefromjpeg

(PHP 4, PHP 5)

imagecreatefromjpeg — Create a new image from file or URL

Описание

resource imagecreatefromjpeg ( string $filename )

imagecreatefromjpeg() returns an image identifier representing the image obtained from the given filename.

Подсказка

Для этой функции вы можете использовать URL в качестве имени файла, если была включена опция "fopen wrappers". Смотрите более подробную информацию об определении имени файла в описании функции fopen(), а также список поддерживаемых протоколов URL в List of Supported Protocols/Wrappers.

Список параметров

filename

Path to the JPEG image.

Возвращаемые значения

Returns an image resource identifier on success, FALSE on errors.

Примеры

Пример #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);
?>

Результатом выполнения данного примера будет что-то подобное:

Примечания

Замечание: JPEG support is only available if PHP was compiled against GD-1.8 or later.

Внимание

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

imagecreatefromgif
imagecreatefrompng
GD and Image Функции


Create a new image from file or URL

imagecreatefromjpeg
imagecreatefromstring
GD and Image Функции
PHP Manual

imagecreatefrompng

(PHP 4, PHP 5)

imagecreatefrompng — Create a new image from file or URL

Описание

resource imagecreatefrompng ( string $filename )

imagecreatefrompng() returns an image identifier representing the image obtained from the given filename.

Подсказка

Для этой функции вы можете использовать URL в качестве имени файла, если была включена опция "fopen wrappers". Смотрите более подробную информацию об определении имени файла в описании функции fopen(), а также список поддерживаемых протоколов URL в List of Supported Protocols/Wrappers.

Список параметров

filename

Path to the PNG image.

Возвращаемые значения

Returns an image resource identifier on success, FALSE on errors.

Примеры

Пример #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 and Image Функции


Create a new image from the image stream in the string

imagecreatefrompng
imagecreatefromwbmp
GD and Image Функции
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.';
}
?>

Результатом выполнения данного примера будет что-то подобное:

Смотрите также

  • imagecreatefromjpeg() - Create a new image from file or URL
  • imagecreatefrompng() - Create a new image from file or URL
  • imagecreatefromgif() - Create a new image from file or URL
  • imagecreatetruecolor() - Create a new true color image

imagecreatefrompng
imagecreatefromwbmp
GD and Image Функции


Create a new image from file or URL

imagecreatefromstring
imagecreatefromxbm
GD and Image Функции
PHP Manual

imagecreatefromwbmp

(PHP 4 >= 4.0.1, PHP 5)

imagecreatefromwbmp — Create a new image from file or URL

Описание

resource imagecreatefromwbmp ( string $filename )

imagecreatefromwbmp() returns an image identifier representing the image obtained from the given filename.

Подсказка

Для этой функции вы можете использовать URL в качестве имени файла, если была включена опция "fopen wrappers". Смотрите более подробную информацию об определении имени файла в описании функции fopen(), а также список поддерживаемых протоколов URL в List of Supported Protocols/Wrappers.

Список параметров

filename

Path to the WBMP image.

Возвращаемые значения

Returns an image resource identifier on success, FALSE on errors.

Примеры

Пример #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 (20, 20);
        $bgc = imagecolorallocate($im, 255, 255, 255);
        $tc  = imagecolorallocate($im, 0, 0, 0);

        imagefilledrectangle($im, 0, 0, 10, 10, $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');

imagwbmp($img);
imagedestroy($img);
?>

Примечания

Замечание: WBMP support is only available if PHP was compiled against GD-1.8 or later.

Внимание

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

imagecreatefromstring
imagecreatefromxbm
GD and Image Функции


Create a new image from file or URL

imagecreatefromwbmp
imagecreatefromxpm
GD and Image Функции
PHP Manual

imagecreatefromxbm

(PHP 4 >= 4.0.1, PHP 5)

imagecreatefromxbm — Create a new image from file or URL

Описание

resource imagecreatefromxbm ( string $filename )

imagecreatefromxbm() returns an image identifier representing the image obtained from the given filename.

Подсказка

Для этой функции вы можете использовать URL в качестве имени файла, если была включена опция "fopen wrappers". Смотрите более подробную информацию об определении имени файла в описании функции fopen(), а также список поддерживаемых протоколов URL в List of Supported Protocols/Wrappers.

Список параметров

filename

Path to the XBM image.

Возвращаемые значения

Returns an image resource identifier on success, FALSE on errors.

Примеры

Пример #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 and Image Функции


Create a new image from file or URL

imagecreatefromxbm
imagecreatetruecolor
GD and Image Функции
PHP Manual

imagecreatefromxpm

(PHP 4 >= 4.0.1, PHP 5)

imagecreatefromxpm — Create a new image from file or URL

Описание

resource imagecreatefromxpm ( string $filename )

imagecreatefromxpm() returns an image identifier representing the image obtained from the given filename.

Подсказка

Для этой функции вы можете использовать URL в качестве имени файла, если была включена опция "fopen wrappers". Смотрите более подробную информацию об определении имени файла в описании функции fopen(), а также список поддерживаемых протоколов URL в List of Supported Protocols/Wrappers.

Список параметров

filename

Path to the XPM image.

Возвращаемые значения

Returns an image resource identifier on success, FALSE on errors.

Примеры

Пример #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($im, './example.jpg', 100);
imagedestroy($im);
?>

Возвращаемые значения

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

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

imagecreatefromxbm
imagecreatetruecolor
GD and Image Функции


Create a new true color image

imagecreatefromxpm
imagedashedline
GD and Image Функции
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.

Возвращаемые значения

Returns an image resource identifier on success, FALSE on errors.

Примеры

Пример #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);
?>

Результатом выполнения данного примера будет что-то подобное:

Примечания

Замечание: Эта функция нуждается в GD версии 2.0.1 или выше.

Замечание: This function will not work with GIF file formats.

Смотрите также

  • imagedestroy() - Destroy an image
  • imagecreate() - Create a new palette based image

imagecreatefromxpm
imagedashedline
GD and Image Функции


Draw a dashed line

imagecreatetruecolor
imagedestroy
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as 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);
?>

Результатом выполнения данного примера будет что-то подобное:

Пример #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 and Image Функции


Destroy an image

imagedashedline
imageellipse
GD and Image Функции
PHP Manual

imagedestroy

(PHP 4, PHP 5)

imagedestroy — Destroy an image

Описание

bool imagedestroy ( resource $image )

imagedestroy() frees any memory associated with image image .

Список параметров

image

An image resource, returned by one of the image creation functions, such as 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 and Image Функции


Draw an ellipse

imagedestroy
imagefill
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as 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);

?>

Результатом выполнения данного примера будет что-то подобное:

Примечания

Замечание: This function requires GD 2.0.2 or later.

Смотрите также

  • imagefilledellipse() - Draw a filled ellipse
  • imagearc() - Draws an arc

imagedestroy
imagefill
GD and Image Функции


Flood fill

imageellipse
imagefilledarc
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as 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);
?>

Результатом выполнения данного примера будет что-то подобное:

Смотрите также

  • imagecolorallocate() - Allocate a color for an image

imageellipse
imagefilledarc
GD and Image Функции


Draw a partial arc and fill it

imagefill
imagefilledellipse
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as 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 solors
$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);
?>

Результатом выполнения данного примера будет что-то подобное:

Примечания

Замечание: Эта функция нуждается в GD версии 2.0.1 или выше.

imagefill
imagefilledellipse
GD and Image Функции


Draw a filled ellipse

imagefilledarc
imagefilledpolygon
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as 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);

?>

Результатом выполнения данного примера будет что-то подобное:

Примечания

Замечание: Эта функция нуждается в GD версии 2.0.1 или выше.

Смотрите также

  • imageellipse() - Draw an ellipse
  • imagefilledarc() - Draw a partial arc and fill it

imagefilledarc
imagefilledpolygon
GD and Image Функции


Draw a filled polygon

imagefilledellipse
imagefilledrectangle
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

points

An array containing the x and y coordinates of the polygons vertices consecutively.

num_points

Total number of vertices, which must be bigger than 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, 200, 200, 200);
$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);
?>

Результатом выполнения данного примера будет что-то подобное:

imagefilledellipse
imagefilledrectangle
GD and Image Функции


Draw a filled rectangle

imagefilledpolygon
imagefilltoborder
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as 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);
?>

Результатом выполнения данного примера будет что-то подобное:

imagefilledpolygon
imagefilltoborder
GD and Image Функции


Flood fill to specific color

imagefilledrectangle
imagefilter
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as 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);
?>

Результатом выполнения данного примера будет что-то подобное:

imagefilledrectangle
imagefilter
GD and Image Функции


Applies a filter to an image

imagefilltoborder
imagefontheight
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as 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: Value of red component.
  • IMG_FILTER_SMOOTH: Smoothness level.
  • IMG_FILTER_PIXELATE: Block size in pixels.

arg2

  • IMG_FILTER_COLORIZE: Value of green component.
  • IMG_FILTER_PIXELATE: Whether to use advanced pixelation effect or not (defaults to FALSE).

arg3

  • IMG_FILTER_COLORIZE: Value of blue component.

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);
?>

Результатом выполнения данного примера будет что-то подобное:

Примечания

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

Смотрите также

  • imageconvolution() - Apply a 3x3 convolution matrix, using coefficient and offset

imagefilltoborder
imagefontheight
GD and Image Функции


Get font height

imagefilter
imagefontwidth
GD and Image Функции
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

Can be 1, 2, 3, 4, 5 for built-in fonts in latin2 encoding (where higher numbers corresponding to larger fonts) or any of your own font identifiers registered with 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 and Image Функции


Get font width

imagefontheight
imageftbbox
GD and Image Функции
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

Can be 1, 2, 3, 4, 5 for built-in fonts in latin2 encoding (where higher numbers corresponding to larger fonts) or any of your own font identifiers registered with 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 and Image Функции


Give the bounding box of a text using fonts via freetype2

imagefontwidth
imagefttext
GD and Image Функции
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

The font size. Depending on your version of GD, this should be specified as the pixel size (GD1) or point size (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 или выше.

Замечание: This function is only available if PHP is compiled with freetype support (--with-freetype-dir=DIR)

Список изменений

Версия | Описание
4.3.5 | extrainfo was made optional.

imagefontwidth
imagefttext
GD and Image Функции


Write text to the image using fonts using FreeType 2

imageftbbox
imagegammacorrect
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as 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 или выше.

Замечание: This function is only available if PHP is compiled with freetype support (--with-freetype-dir=DIR)

Список изменений

Версия | Описание
4.3.5 | extrainfo was made optional.

imageftbbox
imagegammacorrect
GD and Image Функции


Apply a gamma correction to a GD image

imagefttext
imagegd2
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as 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 and Image Функции


Output GD2 image to browser or file

imagegammacorrect
imagegd
GD and Image Функции
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 ]]] )

Outputs a GD2 image to the given filename .

Список параметров

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

filename

The path to save the file to. If not set or NULL, the raw image stream will be outputted directly.

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);

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.gd');

// 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() - Output GD image to browser or file

imagegammacorrect
imagegd
GD and Image Функции


Output GD image to browser or file

imagegd2
imagegif
GD and Image Функции
PHP Manual

imagegd

(PHP 4 >= 4.0.7, PHP 5)

imagegd — Output GD image to browser or file

Описание

bool imagegd ( resource $image [, string $filename ] )

Outputs a GD image to the given filename .

Список параметров

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

filename

The path to save the file to. If not set or NULL, the raw image stream will be outputted directly.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Outputting a GD 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
imagegd($im);

// Free up memory
imagedestroy($im);
?>

Пример #2 Saving a GD 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 gd image
// The file format for GD images is .gd, see http://www.libgd.org/GdFileFormats
imagegd($im, 'simple.gd');

// Free up memory
imagedestroy($im);
?>

Примечания

Замечание: The GD format is commonly used to allow fast loading of parts of images. Note that the GD format is only usable in GD-compatible applications.

Смотрите также

  • imagegd2() - Output GD2 image to browser or file

imagegd2
imagegif
GD and Image Функции


Output image to browser or file

imagegd
imagegrabscreen
GD and Image Функции
PHP Manual

imagegif

(PHP 4, PHP 5)

imagegif — Output image to browser or file

Описание

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

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

filename

The path to save the file to. If not set or NULL, the raw image stream will be outputted directly.

Возвращаемые значения

Возвращает 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!';
?>

Примечания

Замечание: Since all GIF support was removed from the GD library in version 1.6, this function is not available if you are using that version of the GD library. Support is expected to return in a version subsequent to the rerelease of GIF support in the GD library in mid 2004. 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() - Output image to browser or file
  • imagejpeg() - Output image to browser or file
  • imagetypes() - Return the image types supported by this PHP build

imagegd
imagegrabscreen
GD and Image Функции


Captures the whole screen

imagegif
imagegrabwindow
GD and Image Функции
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 and Image Функции


Captures a window

imagegrabscreen
imageinterlace
GD and Image Функции
PHP Manual

imagegrabwindow

(PHP 5 >= 5.2.2)

imagegrabwindow — Captures a window

Описание

resource imagegrabwindow ( int $window [, int $client_area= 0 ] )

Grabs a window or its client area using a windows handle (HWND property in COM instance)

Список параметров

window

The HWND window ID.

client_area

Include the client area of the application window.

Возвращаемые значения

Returns an image resource identifier on success, FALSE on failure.

Errors/Exceptions

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 and Image Функции


Enable or disable interlace

imagegrabwindow
imageistruecolor
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as 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 = imagecreatefrom('php.gif');

// Enable interlancing
imageinterlace($im, true);

// Save the interfaced image
imagegif($im, './php_interlaced.gif');
imagedestroy($im);
?>

imagegrabwindow
imageistruecolor
GD and Image Функции


Finds whether an image is a truecolor image

imageinterlace
imagejpeg
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as 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 and Image Функции


Output image to browser or file

imageistruecolor
imagelayereffect
GD and Image Функции
PHP Manual

imagejpeg

(PHP 4, PHP 5)

imagejpeg — Output image to browser or file

Описание

bool imagejpeg ( resource $image [, string $filename [, int $quality ]] )

imagejpeg() creates a JPEG file from the given image .

Список параметров

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

filename

The path to save the file to. If not set or NULL, the raw image stream will be outputted directly.

To skip this argument in order to provide the quality parameter, use NULL.

quality

quality is optional, and ranges from 0 (worst quality, smaller file) to 100 (best quality, biggest file). The default is the default IJG quality value (about 75).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Outputting a JPEG 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/jpeg
header('Content-type: image/jpeg');

// Output the image
imagejpeg($im);

// Free up memory
imagedestroy($im);
?>

Результатом выполнения данного примера будет что-то подобное:

Пример #2 Saving a JPEG 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 as 'simpletext.jpg'
imagejpeg($im, 'simpletext.jpg');

// Free up memory
imagedestroy($im);
?>

Пример #3 Outputting the image at 75% quality

<?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/jpeg
header('Content-type: image/jpeg');

// Skip the filename parameter using NULL, then set the quality to 75%
imagejpeg($im, NULL, 75);

// Free up memory
imagedestroy($im);
?>

Примечания

Замечание: JPEG support is only available if PHP was compiled against GD-1.8 or later.

Замечание: If you want to output Progressive JPEGs, you need to set interlacing on with imageinterlace().

Смотрите также

  • imagepng() - Output a PNG image to either the browser or a file
  • imagegif() - Output image to browser or file
  • imagewbmp() - Output image to browser or file
  • imageinterlace() - Enable or disable interlace
  • imagetypes() - Return the image types supported by this PHP build

imageistruecolor
imagelayereffect
GD and Image Функции


Set the alpha blending flag to use the bundled libgd layering effects

imagejpeg
imageline
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as 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);
?>

Результатом выполнения данного примера будет что-то подобное:

Примечания

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

Замечание: Эта функция нуждается в GD версии 2.0.1 или выше.

imagejpeg
imageline
GD and Image Функции


Draw a line

imagelayereffect
imageloadfont
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as 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 and Image Функции


Load a new font

imageline
imagepalettecopy
GD and Image Функции
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 and Image Функции


Copy the palette from one image to another

imageloadfont
imagepng
GD and Image Функции
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 and Image Функции


Output a PNG image to either the browser or a file

imagepalettecopy
imagepolygon
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

filename

The path to save the file to. If not set or NULL, the raw image stream will be outputted directly.

Замечание: 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() - Output image to browser or file
  • imagewbmp() - Output image to browser or file
  • imagejpeg() - Output image to browser or file
  • 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 and Image Функции


Draws a polygon

imagepng
imagepsbbox
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as 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);
?>

Результатом выполнения данного примера будет что-то подобное:

Смотрите также

  • imagecreate() - Create a new palette based image
  • imagecreatetruecolor() - Create a new true color image

imagepng
imagepsbbox
GD and Image Функции


Give the bounding box of a text rectangle using PostScript Type1 fonts

imagepolygon
imagepsencodefont
GD and Image Функции
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 был скомпилирован с опцией --enable-t1lib.

Смотрите также

  • imagepstext() - Draws a text over an image using PostScript Type1 fonts

imagepolygon
imagepsencodefont
GD and Image Функции


Change the character encoding vector of a font

imagepsbbox
imagepsextendfont
GD and Image Функции
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 был скомпилирован с опцией --enable-t1lib.

imagepsbbox
imagepsextendfont
GD and Image Функции


Extend or condense a font

imagepsencodefont
imagepsfreefont
GD and Image Функции
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 был скомпилирован с опцией --enable-t1lib.

imagepsencodefont
imagepsfreefont
GD and Image Функции


Free memory used by a PostScript Type 1 font

imagepsextendfont
imagepsloadfont
GD and Image Функции
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 был скомпилирован с опцией --enable-t1lib.

Смотрите также

  • imagepsloadfont() - Load a PostScript Type 1 font from file

imagepsextendfont
imagepsloadfont
GD and Image Функции


Load a PostScript Type 1 font from file

imagepsfreefont
imagepsslantfont
GD and Image Функции
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 был скомпилирован с опцией --enable-t1lib.

Смотрите также

  • imagepsfreefont() - Free memory used by a PostScript Type 1 font

imagepsfreefont
imagepsslantfont
GD and Image Функции


Slant a font

imagepsloadfont
imagepstext
GD and Image Функции
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 был скомпилирован с опцией --enable-t1lib.

imagepsloadfont
imagepstext
GD and Image Функции


Draws a text over an image using PostScript Type1 fonts

imagepsslantfont
imagerectangle
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as 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 был скомпилирован с опцией --enable-t1lib.

Смотрите также

  • imagepsbbox() - Give the bounding box of a text rectangle using PostScript Type1 fonts

imagepsslantfont
imagerectangle
GD and Image Функции


Draw a rectangle

imagepstext
imagerotate
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as 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);
?>

Результатом выполнения данного примера будет что-то подобное:

imagepstext
imagerotate
GD and Image Функции


Rotate an image with a given angle

imagerectangle
imagesavealpha
GD and Image Функции
PHP Manual

imagerotate

(PHP 4 >= 4.3.0, PHP 5)

imagerotate — Rotate an image with a given angle

Описание

resource imagerotate ( resource $image , float $angle , int $bgd_color [, int $ignore_transparent= 0 ] )

Rotates the image image using the given angle in degrees.

The center of rotation is the center of the image, and the rotated image may have different dimensions than the original image.

Список параметров

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

angle

Rotation angle, in degrees.

bgd_color

Specifies the color of the uncovered zone after the rotation

ignore_transparent

If set and non-zero, transparent colors are ignored (otherwise kept).

Возвращаемые значения

Список изменений

Версия | Описание
5.1.0 | ignore_transparent was added.

Примеры

Пример #1 Rotate an image 180 degrees

This example rotates an image 180 degrees - upside down.

<?php
// File and rotation
$filename = 'test.jpg';
$degrees = 180;

// Content type
header('Content-type: image/jpeg');

// Load
$source = imagecreatefromjpeg($filename);

// Rotate
$rotate = imagerotate($source, $degrees, 0);

// Output
imagejpeg($rotate);
?>

Результатом выполнения данного примера будет что-то подобное:

Примечания

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

imagerectangle
imagesavealpha
GD and Image Функции


Set the flag to save full alpha channel information (as opposed to single-color transparency) when saving PNG images

imagerotate
imagesetbrush
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as 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 and Image Функции


Set the brush image for line drawing

imagesavealpha
imagesetpixel
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as 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);
?>

Результатом выполнения данного примера будет что-то подобное:

Примечания

Замечание: 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 and Image Функции


Set a single pixel

imagesetbrush
imagesetstyle
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as 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);

?>

Результатом выполнения данного примера будет что-то подобное:

Смотрите также

  • imagecreatetruecolor() - Create a new true color image
  • imagecolorallocate() - Allocate a color for an image

imagesetbrush
imagesetstyle
GD and Image Функции


Set the style for line drawing

imagesetpixel
imagesetthickness
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as 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);
?>

Результатом выполнения данного примера будет что-то подобное:

Смотрите также

  • imagesetbrush() - Set the brush image for line drawing
  • imageline() - Draw a line

imagesetpixel
imagesetthickness
GD and Image Функции


Set the thickness for line drawing

imagesetstyle
imagesettile
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as 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);
?>

Результатом выполнения данного примера будет что-то подобное:

Примечания

Замечание: Эта функция нуждается в GD версии 2.0.1 или выше.

imagesetstyle
imagesettile
GD and Image Функции


Set the tile image for filling

imagesetthickness
imagestring
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as 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);
?>

Результатом выполнения данного примера будет что-то подобное:

imagesetthickness
imagestring
GD and Image Функции


Draw a string horizontally

imagesettile
imagestringup
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

font

Can be 1, 2, 3, 4, 5 for built-in fonts in latin2 encoding (where higher numbers corresponding to larger fonts) or any of your own font identifiers registered with 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);
?>

Результатом выполнения данного примера будет что-то подобное:

Смотрите также

  • imageloadfont() - Load a new font
  • imagettftext() - Write text to the image using TrueType fonts

imagesettile
imagestringup
GD and Image Функции


Draw a string vertically

imagestring
imagesx
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

font

Can be 1, 2, 3, 4, 5 for built-in fonts in latin2 encoding (where higher numbers corresponding to larger fonts) or any of your own font identifiers registered with 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*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);
?>

Результатом выполнения данного примера будет что-то подобное:

Смотрите также

  • imageloadfont() - Load a new font

imagestring
imagesx
GD and Image Функции


Get image width

imagestringup
imagesy
GD and Image Функции
PHP Manual

imagesx

(PHP 4, PHP 5)

imagesx — Get image width

Описание

int imagesx ( resource $image )

Returns the width of the given image resource.

Список параметров

image

An image resource, returned by one of the image creation functions, such as 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 and Image Функции


Get image height

imagesx
imagetruecolortopalette
GD and Image Функции
PHP Manual

imagesy

(PHP 4, PHP 5)

imagesy — Get image height

Описание

int imagesy ( resource $image )

Returns the height of the given image resource.

Список параметров

image

An image resource, returned by one of the image creation functions, such as 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 and Image Функции


Convert a true color image to a palette image

imagesy
imagettfbbox
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as 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 = new 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 and Image Функции


Give the bounding box of a text using TrueType fonts

imagetruecolortopalette
imagettftext
GD and Image Функции
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. Depending on your version of GD, this should be specified as the pixel size (GD1) or point size (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.

Возвращаемые значения

imagettfbbox() 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 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 and Image Функции


Write text to the image using TrueType fonts

imagettfbbox
imagetypes
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

size

The font size. Depending on your version of GD, this should be specified as the pixel size (GD1) or point size (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.

Список изменений

Версия | Описание
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);
?>

Результатом выполнения данного примера будет что-то подобное:

Примечания

Замечание: 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 and Image Функции


Return the image types supported by this PHP build

imagettftext
imagewbmp
GD and Image Функции
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 and Image Функции


Output image to browser or file

imagetypes
imagexbm
GD and Image Функции
PHP Manual

imagewbmp

(PHP 4 >= 4.0.1, PHP 5)

imagewbmp — Output image to browser or file

Описание

bool imagewbmp ( resource $image [, string $filename [, int $foreground ]] )

imagewbmp() outputs or save a WBMP version of the given image .

Список параметров

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

filename

The path to save the file to. If not set or NULL, the raw image stream will be outputted directly.

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

// 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() - Output image to browser or file
  • imagepng() - Output a PNG image to either the browser or a file
  • imagegif() - Output image to browser or file
  • imagejpeg() - Output image to browser or file
  • imagetypes() - Return the image types supported by this PHP build

imagetypes
imagexbm
GD and Image Функции


Output XBM image to browser or file

imagewbmp
iptcembed
GD and Image Функции
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

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

filename

The path to save the file to. If not set or NULL, the raw image stream will be outputted directly.

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 and Image Функции


Embeds binary IPTC data into a JPEG image

imagexbm
iptcparse
GD and Image Функции
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, substr($tag, 2), $string);
}

// Embed the IPTC data
$content = iptcembed($data, $path);
?>

Примечания

Замечание: This function does not require the GD image library.

imagexbm
iptcparse
GD and Image Функции


Parse a binary IPTC block into single tags.

iptcembed
jpeg2wbmp
GD and Image Функции
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);
}
?>

Примечания

Замечание: This function does not require the GD image library.

iptcembed
jpeg2wbmp
GD and Image Функции


Convert JPEG image file to WBMP image file

iptcparse
png2wbmp
GD and Image Функции
PHP Manual

jpeg2wbmp

(PHP 4 >= 4.0.5, PHP 5)

jpeg2wbmp — Convert JPEG image file to WBMP image file

Описание

bool jpeg2wbmp ( string $jpegname , string $wbmpname , int $dest_height , int $dest_width , int $threshold )

Converts a JPEG file into a WBMP file.

Список параметров

jpegname

Path to JPEG 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 jpeg2wbmp() example

<?php
// Path to the target jpeg
$path = './test.jpg';

// Get the image sizes
$image = getimagesize($path);

// Convert image
jpeg2wbmp($path, './test.wbmp', $image[1], $image[0], 5);
?>

Примечания

Замечание: WBMP support is only available if PHP was compiled against GD-1.8 or later.

Замечание: JPEG support is only available if PHP was compiled against GD-1.8 or later.

Смотрите также

  • png2wbmp() - Convert PNG image file to WBMP image file

iptcparse
png2wbmp
GD and Image Функции


Convert PNG image file to WBMP image file

jpeg2wbmp
ImageMagick
GD and Image Функции
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 support is only available if PHP was compiled against GD-1.8 or later.

Смотрите также

  • jpeg2wbmp() - Convert JPEG image file to WBMP image file

jpeg2wbmp
ImageMagick
GD and Image Функции


Image Processing (ImageMagick)

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Примеры
  • The Imagick class
    • Imagick::adaptiveBlurImage — Adds adaptive blur filter to image
    • Imagick::adaptiveResizeImage — Adaptively resize image with data dependent triangulation
    • Imagick::adaptiveSharpenImage — Adaptively sharpen the image
    • Imagick::adaptiveThresholdImage — Selects a threshold for each pixel based on a range of intensity
    • Imagick::addImage — Adds new image to Imagick object image list
    • Imagick::addNoiseImage — Adds random noise to the image
    • Imagick::affineTransformImage — Transforms an image
    • Imagick::annotateImage — Annotates an image with text
    • Imagick::appendImages — Append a set of images
    • Imagick::averageImages — Average a set of images
    • Imagick::blackThresholdImage — Forces all pixels below the threshold into black
    • Imagick::blurImage — Adds blur filter to image
    • Imagick::borderImage — Surrounds the image with a border
    • Imagick::charcoalImage — Simulates a charcoal drawing
    • Imagick::chopImage — Removes a region of an image and trims
    • Imagick::clear — Clears all resources associated to Imagick object
    • Imagick::clipImage — Clips along the first path from the 8BIM profile
    • Imagick::clipPathImage — Clips along the named paths from the 8BIM profile
    • Imagick::clone — Makes an exact copy of the Imagick object
    • Imagick::clutImage — Replaces colors in the image from a color lookup table
    • Imagick::coalesceImages — Composites a set of images
    • Imagick::colorFloodfillImage — Changes the color value of any pixel that matches target
    • Imagick::colorizeImage — Blends the fill color with the image
    • 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 — The Imagick constructor
    • 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 — Extracts a region of the image
    • Imagick::cropThumbnailImage — Creates a crop thumbnail
    • Imagick::current — Returns a reference to the current Imagick object
    • Imagick::cycleColormapImage — Displaces an image's colormap
    • Imagick::deconstructImages — Returns certain pixel differences between images
    • Imagick::despeckleImage — Reduces the speckle noise in an image
    • Imagick::destroy — Destroys the Imagick object
    • Imagick::displayImage — Displays an image
    • Imagick::displayImages — Displays an image or image sequence
    • Imagick::distortImage — Distorts an image using various distortion methods
    • Imagick::drawImage — Renders the ImagickDraw object on the current image
    • Imagick::edgeImage — Enhance edges within the image
    • Imagick::embossImage — Returns a grayscale image with a three-dimensional effect
    • Imagick::enhanceImage — Improves the quality of a noisy image
    • Imagick::equalizeImage — Equalizes the image histogram
    • Imagick::evaluateImage — Applies an expression to an image
    • Imagick::flattenImages — Merges a sequence of images
    • Imagick::flipImage — Creates a vertical mirror image
    • Imagick::flopImage — Creates a horizontal mirror image
    • Imagick::frameImage — Adds a simulated three-dimensional border
    • Imagick::fxImage — Evaluate expression for each pixel in the image
    • Imagick::gammaImage — Gamma-corrects an image
    • Imagick::gaussianBlurImage — Blurs an image
    • Imagick::getCompression — Gets the object compression type
    • Imagick::getCompressionQuality — Gets the object compression quality
    • Imagick::getCopyright — Returns the ImageMagick API copyright as a string
    • Imagick::getFilename — The filename associated with an image sequence
    • Imagick::getFormat — Returns the format of the Imagick object
    • Imagick::getHomeURL — Returns the ImageMagick home URL
    • Imagick::getImage — Returns a new Imagick object
    • 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::getImageChannelExtrema — Gets the extrema for one or more image channels
    • Imagick::getImageChannelMean — Gets the mean and standard deviation
    • Imagick::getImageChannelStatistics — Returns statistics for each channel in the image
    • 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::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::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 — Returns the ImageMagick API version
    • 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::labelImage — Adds a label to an image
    • Imagick::levelImage — Adjusts the levels of an image
    • Imagick::linearStretchImage — Stretches with saturation the image intensity
    • 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::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::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::reduceNoiseImage — Smooths the contours of an image
    • 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::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::separateImageChannel — Separates a channel from the image
    • Imagick::sepiaToneImage — Sepia tones an image
    • Imagick::setBackgroundColor — Sets the object's default background color
    • 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 the image bias for any method that convolves an image
    • Imagick::setFormat — Sets the format of the Imagick object
    • Imagick::setImage — Replaces image in the object
    • 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::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::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::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::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 — Changes the value of individual pixels based on a threshold
    • 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::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::writeImages — Writes an image or image sequence
  • The ImagickDraw class
    • 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
  • The ImagickPixel class
    • ImagickPixel::clear — Clears resources associated with this object
    • ImagickPixel::__construct — The ImagickPixel constructor
    • ImagickPixel::destroy — Deallocates resources associated with this object
    • ImagickPixel::getColor — Returns the color
    • ImagickPixel::getColorAsString — Returns the color as a string
    • ImagickPixel::getColorCount — Returns the color count associated with this color
    • ImagickPixel::getColorValue — Gets the normalized value of the provided color channel
    • ImagickPixel::getHSL — Returns the normalized HSL color of the ImagickPixel object
    • ImagickPixel::isSimilar — Check the distance between this color and another
    • ImagickPixel::setColor — Sets the color
    • ImagickPixel::setColorValue — Sets the normalized value of one of the channels
    • ImagickPixel::setHSL — Sets the normalized HSL color
  • The ImagickPixelIterator class
    • ImagickPixelIterator::clear — Clear resources associated with a PixelIterator
    • ImagickPixelIterator::__construct — The ImagickPixelIterator constructor
    • ImagickPixelIterator::destroy — Deallocates resources associated with a PixelIterator
    • ImagickPixelIterator::getCurrentIteratorRow — Returns the current row of ImagickPixel objects
    • ImagickPixelIterator::getIteratorRow — Returns the current pixel iterator row
    • ImagickPixelIterator::getNextIteratorRow — Returns the next row of the pixel iterator
    • ImagickPixelIterator::getPreviousIteratorRow — Returns the previous row
    • ImagickPixelIterator::newPixelIterator — Returns a new pixel iterator
    • ImagickPixelIterator::newPixelRegionIterator — Returns a new pixel iterator
    • ImagickPixelIterator::resetIterator — Resets the pixel iterator
    • ImagickPixelIterator::setIteratorFirstRow — Sets the pixel iterator to the first pixel row
    • ImagickPixelIterator::setIteratorLastRow — Sets the pixel iterator to the last pixel row
    • ImagickPixelIterator::setIteratorRow — Set the pixel iterator row
    • ImagickPixelIterator::syncIterator — Syncs the pixel iterator
png2wbmp
Введение
Image Processing and Generation


Введение

Imagick is a native php extension to create and modify images using the ImageMagick API.

ImageMagick® is a software suite to create, edit, and compose bitmap images.. It can read, convert and write images in a variety of formats (over 100) including DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG, and TIFF.

Copyright 1999-2007 ImageMagick Studio LLC, a non-profit organization dedicated to making software imaging solutions freely available.

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


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
ImageMagick


Требования

Installation requirements on Windows

Version information does not differ from that above. There are binaries available from http://imagemagick.org/ so that you can load this extension on Windows without need for a compiler.

Installation requirements on other platforms

PHP >= 5.1.3 and ImageMagick >= 6.2.4 is required. The amount of formats supported is by Imagick is entirely dependent upon the amount of formats supported by your ImageMagick installation. For example, Imagemagick requires ghostscript to conduct PDF operations.

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


Установка

Это расширение » PECL не поставляется вместе с PHP.

Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, могут быть найдены здесь: » http://pecl.php.net/package/imagick.

Замечание: The official name of this extension is imagick.

Вы можете скачать DLL этого расширения PECL со страницы » PHP Downloads или » http://snaps.php.net/.

Требования
Настройка во время выполнения
Установка и настройка


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

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

Colortype constants
imagick::COLOR_BLACK (integer)
imagick::COLOR_BLUE (integer)
imagick::COLOR_CYAN (integer)
Cyan
imagick::COLOR_GREEN (integer)
Green
imagick::COLOR_RED (integer)
Red
imagick::COLOR_YELLOW (integer)
Yellow
imagick::COLOR_MAGENTA (integer)
Magenta
imagick::COLOR_OPACITY (integer)
Opacity
imagick::COLOR_ALPHA (integer)
Alpha
imagick::COLOR_FUZZ (integer)
Fuzz
Dispose type constants
imagick::DISPOSE_UNRECOGNIZED (integer)
Unrecognized
imagick::DISPOSE_UNRECOGNIZED (integer)
Unrecognized
imagick::DISPOSE_UNDEFINED (integer)
Undefined
imagick::DISPOSE_NONE (integer)
None
imagick::DISPOSE_BACKGROUND (integer)
Background
imagick::DISPOSE_PREVIOUS (integer)
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
Montage Mode 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)
Image type 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)
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)
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)
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 Operator 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)
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)
Virtual Pixel Method 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)
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)
Rendering Intent 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_GIF, imagick::INTERLACE_JPEG, imagick::INTERLACE_PNG are only available if Imagick is compiled against Imagemagick 6.3.5 or newer.

imagick::INTERLACE_UNDEFINED (integer)
imagick::INTERLACE_NO (integer)
imagick::INTERLACE_LINE (integer)
imagick::INTERLACE_PLANE (integer)
imagick::INTERLACE_PARTITION (integer)
imagick::INTERLACE_JPEG (integer)
imagick::INTERLACE_GIF (integer)
imagick::INTERLACE_PNG (integer)
Fillrule constants
imagick::FILLRULE_UNDEFINED (integer)
imagick::FILLRULE_EVENODD (integer)
imagick::FILLRULE_NONZERO (integer)
Pathunit 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)
Line Join 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)
Layer Method constants

In Imagick version 2.2.2 and below layer method constants were only available if Imagick is compiled against ImageMagick 6.3.4 or later. After Imagick 2.2.2 they are available if Imagick is compiled against ImageMagick 6.2.9 or greater.

imagick::LAYERMETHOD_UNDEFINED (integer)
imagick::LAYERMETHOD_COALESCE (integer)
imagick::LAYERMETHOD_COMPAREANY (integer)
imagick::LAYERMETHOD_COMPARECLEAR (integer)
imagick::LAYERMETHOD_COMPAREOVERLAY (integer)
imagick::LAYERMETHOD_DISPOSE (integer)
imagick::LAYERMETHOD_OPTIMIZE (integer)
imagick::LAYERMETHOD_OPTIMIZEIMAGE (integer)
imagick::LAYERMETHOD_OPTIMIZEPLUS (integer)
imagick::LAYERMETHOD_OPTIMIZETRANS (integer)
imagick::LAYERMETHOD_REMOVEDUPS (integer)
imagick::LAYERMETHOD_REMOVEZERO (integer)
imagick::LAYERMETHOD_COMPOSITE (integer)
Orientation constants

In Imagick version 2.2.2 and below layer method constants were only available if Imagick is compiled against ImageMagick 6.3.4 or later. After Imagick 2.2.2 they are available if Imagick is compiled against ImageMagick 6.2.9 or greater.

imagick::ORIENTATION_UNDEFINED (integer)
imagick::ORIENTATION_TOPLEFT (integer)
imagick::ORIENTATION_TOPRIGHT (integer)
imagick::ORIENTATION_BOTTOMRIGHT (integer)
imagick::ORIENTATION_BOTTOMLEFT (integer)
imagick::ORIENTATION_LEFTTOP (integer)
imagick::ORIENTATION_RIGHTTOP (integer)
imagick::ORIENTATION_RIGHTBOTTOM (integer)
imagick::ORIENTATION_LEFTBOTTOM (integer)
Distortion constants

Available if compiled against ImageMagick 6.3.6 or later.

imagick::DISTORTION_UNDEFINED (integer)
imagick::DISTORTION_AFFINE (integer)
imagick::DISTORTION_AFFINEPROJECTION (integer)
imagick::DISTORTION_ARC (integer)
imagick::DISTORTION_BILINEAR (integer)
imagick::DISTORTION_PERSPECTIVE (integer)
imagick::DISTORTION_PERSPECTIVEPROJECTION (integer)
imagick::DISTORTION_SCALEROTATETRANSLATE (integer)
Типы ресурсов
Примеры
ImageMagick


Примеры
ImageMagick
PHP Manual

Примеры

Содержание

  • Примеры
Предопределенные константы
Примеры
ImageMagick


Примеры
The Imagick class
Примеры
PHP Manual

Примеры

Imagick makes image manipulation in PHP extremely easy through an OO interface. Here is a quick example on how to make a thumbnail:

Пример #1 Creating a thumbnail in Imagick

<?php

header('Content-type: image/jpeg');

$image = new Imagick('image.jpg');

// If 0 is provided as a width or height parameter,
// aspect ratio is maintained
$image->thumbnailImage(100, 0);

echo $image;

?>

Using SPL and other OO features supported in Imagick, it can be simple to resize all files in a directory (useful for batch resizing large digital camera images to be web viewable). Here we use resize, as we might want to retain certain meta-data:

Пример #2 Make a thumbnail of all JPG files in a directory

<?php

$images = new Imagick(glob('images/*.JPG'));

foreach($images as $image) {

    // Providing 0 forces thumbnailImage to maintain aspect ratio
    $image->thumbnailImage(1024,0);

}

$images->writeImages();

?>

This is an example of creating a reflection of an image. The reflection is created by flipping the image and overlaying a gradient on it. Then both, the original image and the reflection is overlayed on a canvas.

Пример #3 Creating a reflection of an image

<?php
/* Read the image */
$im = new Imagick("test.png");

/* Thumbnail the image */
$im->thumbnailImage(200, null);

/* Create a border for the image */
$im->borderImage(new ImagickPixel("white"), 5, 5);

/* Clone the image and flip it */
$reflection = $im->clone();
$reflection->flipImage();

/* Create gradient. It will be overlayd on the reflection */
$gradient = new Imagick();

/* Gradient needs to be large enough for the image and the borders */
$gradient->newPseudoImage($reflection->getImageWidth() + 10, $reflection->getImageHeight() + 10, "gradient:transparent-black");

/* Composite the gradient on the reflection */
$reflection->compositeImage($gradient, imagick::COMPOSITE_OVER, 0, 0);

/* Add some opacity. Requires ImageMagick 6.2.9 or later */
$reflection->setImageOpacity( 0.3 );

/* Create an empty canvas */
$canvas = new Imagick();

/* Canvas needs to be large enough to hold the both images */
$width = $im->getImageWidth() + 40;
$height = ($im->getImageHeight() * 2) + 30;
$canvas->newImage($width, $height, new ImagickPixel("black"));
$canvas->setImageFormat("png");

/* Composite the original image and the reflection on the canvas */
$canvas->compositeImage($im, imagick::COMPOSITE_OVER, 20, 10);
$canvas->compositeImage($reflection, imagick::COMPOSITE_OVER, 20, $im->getImageHeight() + 10);

/* Output the image*/
header("Content-Type: image/png");
echo $canvas;
?>

Результатом выполнения данного примера будет что-то подобное:

This example illustrates how to use fill patterns during drawing.

Пример #4 Filling text with gradient

<?php

/* Create a new imagick object */
$im = new Imagick();

/* Create new image. This will be used as fill pattern */
$im->newPseudoImage(50, 50, "gradient:red-black");

/* Create imagickdraw object */
$draw = new ImagickDraw();

/* Start a new pattern called "gradient" */
$draw->pushPattern('gradient', 0, 0, 50, 50);

/* Composite the gradient on the pattern */
$draw->composite(Imagick::COMPOSITE_OVER, 0, 0, 50, 50, $im);

/* Close the pattern */
$draw->popPattern();

/* Use the pattern called "gradient" as the fill */
$draw->setFillPatternURL('#gradient');

/* Set font size to 52 */
$draw->setFontSize(52);

/* Annotate some text */
$draw->annotation(20, 50, "Hello World!");

/* Create a new canvas object and a white image */
$canvas = new Imagick();
$canvas->newImage(350, 70, "white");

/* Draw the ImagickDraw on to the canvas */
$canvas->drawImage($draw);

/* 1px black border around the image */
$canvas->borderImage('black', 1, 1);

/* Set the format to PNG */
$canvas->setImageFormat('png');

/* Output the image */
header("Content-Type: image/png");
echo $canvas;
?>

Результатом выполнения данного примера будет что-то подобное:

Примеры
The Imagick class
Примеры
PHP Manual


The Imagick class

Class synopsis

Imagick
Imagick implements Iterator , Traversable {
bool adaptiveBlurImage ( float $radius , float $sigma [, int $channel= Imagick::CHANNEL_ALL ] )
bool adaptiveResizeImage ( int $columns , int $rows [, bool $fit= false ] )
bool adaptiveSharpenImage ( float $radius , float $sigma [, int $channel= Imagick::CHANNEL_ALL ] )
bool adaptiveThresholdImage ( int $width , int $height , int $offset )
bool addImage ( Imagick $source )
bool addNoiseImage ( int $noise_type [, int $channel= Imagick::CHANNEL_ALL ] )
bool affineTransformImage ( ImagickDraw $matrix )
bool annotateImage ( ImagickDraw $draw_settings , float $x , float $y , float $angle , string $text )
Imagick appendImages ( bool $stack )
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_ALL ] )
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 deconstructImages ( void )
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 enhanceImage ( void )
bool equalizeImage ( void )
bool evaluateImage ( int $op , float $constant [, int $channel= Imagick::CHANNEL_ALL ] )
Imagick flattenImages ( void )
bool flipImage ( void )
bool flopImage ( void )
bool frameImage ( mixed $matte_color , int $width , int $height , int $inner_bevel , int $outer_bevel )
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 getCompression ( void )
int getCompressionQuality ( void )
string getCopyright ( void )
string getFilename ( void )
string getFormat ( void )
string getHomeURL ( void )
Imagick getImage ( void )
ImagickPixel getImageBackgroundColor ( void )
string getImageBlob ( void )
array getImageBluePrimary ( float $x , float $y )
ImagickPixel getImageBorderColor ( void )
int getImageChannelDepth ( int $channelType )
float getImageChannelDistortion ( Imagick $reference , int $channel , int $metric )
array getImageChannelExtrema ( int $channel )
array getImageChannelMean ( int $channel )
array getImageChannelStatistics ( 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 )
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 )
int 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 )
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 )
bool hasNextImage ( void )
bool hasPreviousImage ( void )
array identifyImage ([ bool $appendRawOutput= false ] )
bool implodeImage ( float $radius )
bool labelImage ( string $label )
bool levelImage ( float $blackPoint , float $gamma , float $whitePoint [, int $channel= Imagick::CHANNEL_ALL ] )
bool linearStretchImage ( float $blackPoint , float $whitePoint )
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 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 ] )
bool oilPaintImage ( float $radius )
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 ] )
bool reduceNoiseImage ( float $radius )
bool removeImage ( void )
string removeImageProfile ( string $name )
bool render ( void )
bool resampleImage ( float $x_resolution , float $y_resolution , int $filter , float $blur )
bool resizeImage ( int $columns , int $rows , int $filter , float $blur [, bool $fit= 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 $fit= false ] )
bool separateImageChannel ( int $channel )
bool sepiaToneImage ( float $threshold )
bool setBackgroundColor ( mixed $background )
bool setCompression ( int $compression )
bool setCompressionQuality ( int $quality )
bool setFilename ( string $filename )
bool setFirstIterator ( void )
bool setFont ( string $font )
bool setFormat ( string $format )
bool setImage ( Imagick $replace )
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 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 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 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 )
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 $fit= false ] )
bool tintImage ( mixed $tint , mixed $opacity )
Imagick transformImage ( string $crop , string $geometry )
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 writeImages ( string $filename , bool $adjoin )
}

Image methods and global methods

The Imagick class has the ability to hold and operate on multiple images simultaneously. This is achieved through an internal stack. There is always an internal pointer that points at the current image. Some functions operate on all images in the Imagick class, but most operate only on the current image in the internal stack. As a convention, method names can contain the word Image to denote they affect only the current image in the stack.

Class Methods

Because there are so many methods, here is a handy list of methods, somewhat reduced to their general purpose:

Class methods by purpose
Image effects | Get methods | Set methods | Read/write images | Other
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 — Adds adaptive blur filter to image
  • Imagick::adaptiveResizeImage — Adaptively resize image with data dependent triangulation
  • Imagick::adaptiveSharpenImage — Adaptively sharpen the image
  • Imagick::adaptiveThresholdImage — Selects a threshold for each pixel based on a range of intensity
  • Imagick::addImage — Adds new image to Imagick object image list
  • Imagick::addNoiseImage — Adds random noise to the image
  • Imagick::affineTransformImage — Transforms an image
  • Imagick::annotateImage — Annotates an image with text
  • Imagick::appendImages — Append a set of images
  • Imagick::averageImages — Average a set of images
  • Imagick::blackThresholdImage — Forces all pixels below the threshold into black
  • Imagick::blurImage — Adds blur filter to image
  • Imagick::borderImage — Surrounds the image with a border
  • Imagick::charcoalImage — Simulates a charcoal drawing
  • Imagick::chopImage — Removes a region of an image and trims
  • Imagick::clear — Clears all resources associated to Imagick object
  • Imagick::clipImage — Clips along the first path from the 8BIM profile
  • Imagick::clipPathImage — Clips along the named paths from the 8BIM profile
  • Imagick::clone — Makes an exact copy of the Imagick object
  • Imagick::clutImage — Replaces colors in the image from a color lookup table
  • Imagick::coalesceImages — Composites a set of images
  • Imagick::colorFloodfillImage — Changes the color value of any pixel that matches target
  • Imagick::colorizeImage — Blends the fill color with the image
  • 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 — The Imagick constructor
  • 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 — Extracts a region of the image
  • Imagick::cropThumbnailImage — Creates a crop thumbnail
  • Imagick::current — Returns a reference to the current Imagick object
  • Imagick::cycleColormapImage — Displaces an image's colormap
  • Imagick::deconstructImages — Returns certain pixel differences between images
  • Imagick::despeckleImage — Reduces the speckle noise in an image
  • Imagick::destroy — Destroys the Imagick object
  • Imagick::displayImage — Displays an image
  • Imagick::displayImages — Displays an image or image sequence
  • Imagick::distortImage — Distorts an image using various distortion methods
  • Imagick::drawImage — Renders the ImagickDraw object on the current image
  • Imagick::edgeImage — Enhance edges within the image
  • Imagick::embossImage — Returns a grayscale image with a three-dimensional effect
  • Imagick::enhanceImage — Improves the quality of a noisy image
  • Imagick::equalizeImage — Equalizes the image histogram
  • Imagick::evaluateImage — Applies an expression to an image
  • Imagick::flattenImages — Merges a sequence of images
  • Imagick::flipImage — Creates a vertical mirror image
  • Imagick::flopImage — Creates a horizontal mirror image
  • Imagick::frameImage — Adds a simulated three-dimensional border
  • Imagick::fxImage — Evaluate expression for each pixel in the image
  • Imagick::gammaImage — Gamma-corrects an image
  • Imagick::gaussianBlurImage — Blurs an image
  • Imagick::getCompression — Gets the object compression type
  • Imagick::getCompressionQuality — Gets the object compression quality
  • Imagick::getCopyright — Returns the ImageMagick API copyright as a string
  • Imagick::getFilename — The filename associated with an image sequence
  • Imagick::getFormat — Returns the format of the Imagick object
  • Imagick::getHomeURL — Returns the ImageMagick home URL
  • Imagick::getImage — Returns a new Imagick object
  • 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::getImageChannelExtrema — Gets the extrema for one or more image channels
  • Imagick::getImageChannelMean — Gets the mean and standard deviation
  • Imagick::getImageChannelStatistics — Returns statistics for each channel in the image
  • 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::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::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 — Returns the ImageMagick API version
  • 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::labelImage — Adds a label to an image
  • Imagick::levelImage — Adjusts the levels of an image
  • Imagick::linearStretchImage — Stretches with saturation the image intensity
  • 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::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::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::reduceNoiseImage — Smooths the contours of an image
  • 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::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::separateImageChannel — Separates a channel from the image
  • Imagick::sepiaToneImage — Sepia tones an image
  • Imagick::setBackgroundColor — Sets the object's default background color
  • 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 the image bias for any method that convolves an image
  • Imagick::setFormat — Sets the format of the Imagick object
  • Imagick::setImage — Replaces image in the object
  • 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::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::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::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::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 — Changes the value of individual pixels based on a threshold
  • 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::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::writeImages — Writes an image or image sequence
Примеры
Imagick::adaptiveBlurImage
ImageMagick


Adds adaptive blur filter to image

The Imagick class
Imagick::adaptiveResizeImage
The Imagick class
PHP Manual

Imagick::adaptiveBlurImage

(PECL imagick 2.0.0)

Imagick::adaptiveBlurImage — Adds adaptive blur filter to image

Описание

bool Imagick::adaptiveBlurImage ( float $radius , float $sigma [, int $channel= Imagick::CHANNEL_ALL ] )

Adds an adaptive blur filter to image. The intensity of an adaptive blur depends is dramatically decreased at edge of the image, whereas a standard blur is uniform across the image. This method is available if Imagick has been compiled against ImageMagick version 6.2.9 or newer.

Список параметров

radius

The radius of the Gaussian, in pixels, not counting the center pixel. Provide a value of 0 and the radius will be chosen automagically.

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. Defaults to Imagick::CHANNEL_ALL. Refer to this list of channel constants.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Примеры

Пример #1 Using Imagick::adaptiveBlurImage():

Adaptively blur an image, then display to the browser.

<?php

header('Content-type: image/jpeg');

$image = new Imagick('test.jpg');

$image->adaptiveBlurImage(5,3);
echo $image;

?>

Смотрите также

  • Imagick::blurImage() - Adds blur filter to image
  • Imagick::motionBlurImage() - Simulates motion blur
  • Imagick::radialBlurImage() - Radial blurs an image

The Imagick class
Imagick::adaptiveResizeImage
The Imagick class


Adaptively resize image with data dependent triangulation

Imagick::adaptiveBlurImage
Imagick::adaptiveSharpenImage
The Imagick class
PHP Manual

Imagick::adaptiveResizeImage

(PECL imagick 2.0.0)

Imagick::adaptiveResizeImage — Adaptively resize image with data dependent triangulation

Описание

bool Imagick::adaptiveResizeImage ( int $columns , int $rows [, bool $fit= false ] )

Adaptively resize image with data-dependent triangulation. Avoids blurring across sharp color changes. Most useful when used to shrink images slightly to a slightly smaller "web size"; may not look good when a full-sized image is adaptively resized to a thumbnail. This method is available if Imagick has been compiled against ImageMagick version 6.2.9 or newer.

Список параметров

columns

The number of columns in the scaled image.

rows

The number of rows in the scaled image.

fit

Whether to fit the image inside a bounding box.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Список изменений

Версия | Описание
2.1.0 | Added optional fit parameter.
2.1.0 | This method now supports proportional scaling. Pass zero as either parameter for proportional scaling.

Примеры

Пример #1 Using Imagick::adaptiveResizeImage()

Resize an image to a standard size for the web. This method works best when resizing to a size only slightly smaller than the previous image size.

<?php
header('Content-type: image/jpeg');

$image = new Imagick('image.jpg');
$image->adaptiveResizeImage(1024,768);

echo $image;
?>

Смотрите также

  • Imagick::chopImage() - Removes a region of an image and trims
  • Imagick::cropImage() - Extracts a region of the image
  • 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
The Imagick class


Adaptively sharpen the image

Imagick::adaptiveResizeImage
Imagick::adaptiveThresholdImage
The Imagick class
PHP Manual

Imagick::adaptiveSharpenImage

(PECL imagick 2.0.0)

Imagick::adaptiveSharpenImage — Adaptively sharpen the image

Описание

bool Imagick::adaptiveSharpenImage ( float $radius , float $sigma [, int $channel= Imagick::CHANNEL_ALL ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Adaptively sharpen the image by sharpening more intensely near image edges and less intensely far from edges. This method is available if Imagick has been compiled against ImageMagick version 6.2.9 or newer.

Список параметров

radius

The radius of the Gaussian, in pixels, not counting the center pixel. Use 0 for auto-select.

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. Defaults to Imagick::CHANNEL_ALL. Refer to this list of channel constants.

Возвращаемые значения

Returns TRUE on success.

Примеры

Пример #1 A Imagick::adaptiveSharpenImage() example

Adaptively sharpen the image with radius 2 and sigma 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
The Imagick class


Selects a threshold for each pixel based on a range of intensity

Imagick::adaptiveSharpenImage
Imagick::addImage
The Imagick class
PHP Manual

Imagick::adaptiveThresholdImage

(PECL imagick 2.0.0)

Imagick::adaptiveThresholdImage — Selects a threshold for each pixel based on a range of intensity

Описание

bool Imagick::adaptiveThresholdImage ( int $width , int $height , int $offset )

Selects an individual threshold for each pixel based on the range of intensity values in its local neighborhood. This allows for thresholding of an image whose global intensity histogram doesn't contain distinctive peaks.

Список параметров

width

Width of the local neighborhood.

height

Height of the local neighborhood.

offset

The mean offset

Возвращаемые значения

Returns TRUE on success.

Imagick::adaptiveSharpenImage
Imagick::addImage
The Imagick class


Adds new image to Imagick object image list

Imagick::adaptiveThresholdImage
Imagick::addNoiseImage
The Imagick class
PHP Manual

Imagick::addImage

(PECL imagick 2.0.0)

Imagick::addImage — Adds new image to Imagick object image list

Описание

bool Imagick::addImage ( Imagick $source )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Adds new image to Imagick 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 Imagick object

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::adaptiveThresholdImage
Imagick::addNoiseImage
The Imagick class


Adds random noise to the image

Imagick::addImage
Imagick::affineTransformImage
The Imagick class
PHP Manual

Imagick::addNoiseImage

(PECL imagick 2.0.0)

Imagick::addNoiseImage — Adds random noise to the image

Описание

bool Imagick::addNoiseImage ( int $noise_type [, int $channel= Imagick::CHANNEL_ALL ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Adds random noise to the image.

Список параметров

noise_type

The type of the noise. Refer to this list of noise constants.

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. Defaults to Imagick::CHANNEL_ALL. Refer to this list of channel constants.

Возвращаемые значения

Returns TRUE on success.

Imagick::addImage
Imagick::affineTransformImage
The Imagick class


Transforms an image

Imagick::addNoiseImage
Imagick::annotateImage
The Imagick class
PHP Manual

Imagick::affineTransformImage

(PECL imagick 2.0.0)

Imagick::affineTransformImage — Transforms an image

Описание

bool Imagick::affineTransformImage ( ImagickDraw $matrix )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Transforms an image as dictated by the affine matrix.

Список параметров

matrix

The affine matrix

Возвращаемые значения

Returns TRUE on success.

Imagick::addNoiseImage
Imagick::annotateImage
The Imagick class


Annotates an image with text

Imagick::affineTransformImage
Imagick::appendImages
The Imagick class
PHP Manual

Imagick::annotateImage

(PECL imagick 2.0.0)

Imagick::annotateImage — Annotates an image with text

Описание

bool Imagick::annotateImage ( ImagickDraw $draw_settings , float $x , float $y , float $angle , string $text )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Annotates an image with text.

Список параметров

draw_settings

The ImagickDraw 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

Возвращаемые значения

Returns TRUE on success.

Примеры

Пример #1 Using Imagick::annotateImage():

Annotate text on an empty image

<?php
/* Create some objects */
$image = new Imagick();
$draw = new ImagickDraw();
$pixel = new ImagickPixel( 'gray' );

/* New image */
$image->newImage(800, 75, $pixel);

/* Black text */
$pixel->setColor('black');

/* Font properties */
$draw->setFont('Bookman-DemiItalic');
$draw->setFontSize( 30 );

/* Create text */
$image->annotateImage($draw, 10, 45, 0, 'The quick brown fox jumps over the lazy dog');

/* Give image a format */
$image->setImageFormat('png');

/* Output the image with headers */
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::affineTransformImage
Imagick::appendImages
The Imagick class


Append a set of images

Imagick::annotateImage
Imagick::averageImages
The Imagick class
PHP Manual

Imagick::appendImages

(PECL imagick 2.0.0)

Imagick::appendImages — Append a set of images

Описание

Imagick Imagick::appendImages ( bool $stack )

Append a set of images.

Список параметров

stack

The direction of the stack (top to bottom or bottom to top)

Возвращаемые значения

Returns Imagick instance on success. Throw an ImagickException on error.

Imagick::annotateImage
Imagick::averageImages
The Imagick class


Average a set of images

Imagick::appendImages
Imagick::blackThresholdImage
The Imagick class
PHP Manual

Imagick::averageImages

(PECL imagick 2.0.0)

Imagick::averageImages — Average a set of images

Описание

Imagick Imagick::averageImages ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Average a set of images.

Возвращаемые значения

Returns a new Imagick object on success. Throw an ImagickException on error.

Imagick::appendImages
Imagick::blackThresholdImage
The Imagick class


Forces all pixels below the threshold into black

Imagick::averageImages
Imagick::blurImage
The Imagick class
PHP Manual

Imagick::blackThresholdImage

(PECL imagick 2.0.0)

Imagick::blackThresholdImage — Forces all pixels below the threshold into black

Описание

bool Imagick::blackThresholdImage ( mixed $threshold )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Is like Imagick::thresholdImage() but forces all pixels below the threshold into black while leaving all pixels above the threshold unchanged.

Список параметров

threshold

The threshold below which everything turns black

Возвращаемые значения

Returns TRUE on success.

Список изменений

Версия | Описание
2.1.0 | Now allows a string representing the color as a parameter. Previous versions allow only an ImagickPixel object.

Imagick::averageImages
Imagick::blurImage
The Imagick class


Adds blur filter to image

Imagick::blackThresholdImage
Imagick::borderImage
The Imagick class
PHP Manual

Imagick::blurImage

(PECL imagick 2.0.0)

Imagick::blurImage — Adds blur filter to image

Описание

bool Imagick::blurImage ( float $radius , float $sigma [, int $channel ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Adds blur filter to image. Optional third parameter to blur a specific channel.

Список параметров

radius

Blur radius

sigma

Standard deviation

channel

The Channeltype constant. When not supplied, all channels are blurred.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Примеры

Пример #1 Using Imagick::blurImage():

Blur an image, then display to the browser.

<?php

header('Content-type: image/jpeg');

$image = new Imagick('test.jpg');

$image->blurImage(5,3);
echo $image;

?>

Смотрите также

  • Imagick::adaptiveBlurImage() - Adds adaptive blur filter to image
  • Imagick::motionBlurImage() - Simulates motion blur
  • Imagick::radialBlurImage() - Radial blurs an image

Imagick::blackThresholdImage
Imagick::borderImage
The Imagick class


Surrounds the image with a border

Imagick::blurImage
Imagick::charcoalImage
The Imagick class
PHP Manual

Imagick::borderImage

(PECL imagick 2.0.0)

Imagick::borderImage — Surrounds the image with a border

Описание

bool Imagick::borderImage ( mixed $bordercolor , int $width , int $height )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Surrounds the image with a border of the color defined by the bordercolor ImagickPixel object.

Список параметров

bordercolor

ImagickPixel object or a string containing the border color

width

Border width

height

Border height

Возвращаемые значения

Returns TRUE on success.

Список изменений

Версия | Описание
2.1.0 | Now allows a string representing the color as the first parameter. Previous versions allow only an ImagickPixel object.

Imagick::blurImage
Imagick::charcoalImage
The Imagick class


Simulates a charcoal drawing

Imagick::borderImage
Imagick::chopImage
The Imagick class
PHP Manual

Imagick::charcoalImage

(PECL imagick 2.0.0)

Imagick::charcoalImage — Simulates a charcoal drawing

Описание

bool Imagick::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

Возвращаемые значения

Returns TRUE on success.

Imagick::borderImage
Imagick::chopImage
The Imagick class


Removes a region of an image and trims

Imagick::charcoalImage
Imagick::clear
The Imagick class
PHP Manual

Imagick::chopImage

(PECL imagick 2.0.0)

Imagick::chopImage — Removes a region of an image and trims

Описание

bool Imagick::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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Примеры

Пример #1 Using Imagick::chopImage():

Example of using Imagick::chopImage

<?php
/* Create some objects */
$image = new Imagick();
$pixel = new ImagickPixel( 'gray' );

/* New image */
$image->newImage(400, 200, $pixel);

/* Chop image */
$image->chopImage(200, 200, 0, 0);

/* Give image a format */
$image->setImageFormat('png');

/* Output the image with headers */
header('Content-type: image/png');
echo $image;

?>

Смотрите также

  • Imagick::cropImage() - Extracts a region of the image

Imagick::charcoalImage
Imagick::clear
The Imagick class


Clears all resources associated to Imagick object

Imagick::chopImage
Imagick::clipImage
The Imagick class
PHP Manual

Imagick::clear

(PECL imagick 2.0.0)

Imagick::clear — Clears all resources associated to Imagick object

Описание

bool Imagick::clear ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Clears all resources associated to Imagick object

Возвращаемые значения

Returns TRUE on success.

Imagick::chopImage
Imagick::clipImage
The Imagick class


Clips along the first path from the 8BIM profile

Imagick::clear
Imagick::clipPathImage
The Imagick class
PHP Manual

Imagick::clipImage

(PECL imagick 2.0.0)

Imagick::clipImage — Clips along the first path from the 8BIM profile

Описание

bool Imagick::clipImage ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Clips along the first path from the 8BIM profile, if present.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::clear
Imagick::clipPathImage
The Imagick class


Clips along the named paths from the 8BIM profile

Imagick::clipImage
Imagick::clone
The Imagick class
PHP Manual

Imagick::clipPathImage

(PECL imagick 2.0.0)

Imagick::clipPathImage — Clips along the named paths from the 8BIM profile

Описание

bool Imagick::clipPathImage ( string $pathname , bool $inside )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Clips along the named paths from the 8BIM profile, if present. Later operations take effect inside the path. It may be a number if preceded with #, to work on a numbered path, e.g., "#1" to use the first path.

Список параметров

pathname

The name of the path

inside

If TRUE later operations take effect inside clipping path. Otherwise later operations take effect outside clipping path.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::clipImage
Imagick::clone
The Imagick class


Makes an exact copy of the Imagick object

Imagick::clipPathImage
Imagick::clutImage
The Imagick class
PHP Manual

Imagick::clone

(PECL imagick 2.0.0)

Imagick::clone — Makes an exact copy of the Imagick object

Описание

Imagick Imagick::clone ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Makes an exact copy of the Imagick object.

Возвращаемые значения

What the function returns, first on success, then on failure. See also the &return.success; entity

Imagick::clipPathImage
Imagick::clutImage
The Imagick class


Replaces colors in the image from a color lookup table

Imagick::clone
Imagick::coalesceImages
The Imagick class
PHP Manual

Imagick::clutImage

(PECL imagick 2.0.0)

Imagick::clutImage — Replaces colors in the image from a color lookup table

Описание

bool Imagick::clutImage ( Imagick $lookup_table [, float $channel= Imagick::CHANNEL_ALL ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Replaces colors in the image from a color lookup table. Optional second parameter to replace colors in a specific channel. This method is available if Imagick is compiled against ImageMagick 6.3.5-7 or newer.

Список параметров

lookup_table

Imagick object containing the color lookup table

channel

The Channeltype constant. When not supplied, all channels are replaced.

Возвращаемые значения

Returns TRUE on success.

Примеры

Пример #1 Using Imagick::clutImage():

Replace colors in the image from a color lookup table.

<?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() - Adds adaptive blur filter to image
  • Imagick::motionBlurImage() - Simulates motion blur
  • Imagick::radialBlurImage() - Radial blurs an image

Imagick::clone
Imagick::coalesceImages
The Imagick class


Composites a set of images

Imagick::clutImage
Imagick::colorFloodfillImage
The Imagick class
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. Throw an ImagickException on error.

Errors/Exceptions

Throws ImagickException on error.

Imagick::clutImage
Imagick::colorFloodfillImage
The Imagick class


Changes the color value of any pixel that matches target

Imagick::coalesceImages
Imagick::colorizeImage
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Список изменений

Версия | Описание
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
The Imagick class


Blends the fill color with the image

Imagick::colorFloodfillImage
Imagick::combineImages
The Imagick class
PHP Manual

Imagick::colorizeImage

(PECL imagick 2.0.0)

Imagick::colorizeImage — Blends the fill color with the image

Описание

bool Imagick::colorizeImage ( mixed $colorize , mixed $opacity )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Blends the fill color with each pixel in the image.

Список параметров

colorize

ImagickPixel object or a string containing the colorize color

opacity

ImagickPixel object or an float containing the opacity value. 1.0 is fully opaque and 0.0 is fully transparent.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Список изменений

Версия | Описание
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::colorFloodfillImage
Imagick::combineImages
The Imagick class


Combines one or more images into a single image

Imagick::colorizeImage
Imagick::commentImage
The Imagick class
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. Defaults to Imagick::CHANNEL_ALL. Refer to this list of channel constants.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::colorizeImage
Imagick::commentImage
The Imagick class


Adds a comment to your image

Imagick::combineImages
Imagick::compareImageChannels
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Примеры

Пример #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
The Imagick class


Returns the difference in one or more images

Imagick::commentImage
Imagick::compareImageLayers
The Imagick class
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. Defaults to Imagick::CHANNEL_ALL. Refer to this list of channel constants.

metricType

One of the metric type constants.

Возвращаемые значения

Array consisting of new_wand and distortion.

Errors/Exceptions

Throws ImagickException on error.

Imagick::commentImage
Imagick::compareImageLayers
The Imagick class


Returns the maximum bounding region between images

Imagick::compareImageChannels
Imagick::compareImages
The Imagick class
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. This method is available if Imagick has been compiled against ImageMagick version 6.2.9 or newer.

Список параметров

method

One of the layer method constants.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Примеры

Пример #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
The Imagick class


Compares an image to a reconstructed image

Imagick::compareImageLayers
Imagick::compositeImage
The Imagick class
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.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Примеры

Пример #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
The Imagick class


Composite one image onto another

Imagick::compareImages
Imagick::__construct
The Imagick class
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. Defaults to Imagick::CHANNEL_ALL. Refer to this list of channel constants.

Возвращаемые значения

Returns TRUE on success.

Imagick::compareImages
Imagick::__construct
The Imagick class


The Imagick constructor

Imagick::compositeImage
Imagick::contrastImage
The Imagick class
PHP Manual

Imagick::__construct

(PECL imagick 2.0.0)

Imagick::__construct — The Imagick constructor

Описание

Imagick Imagick::__construct ([ mixed $files ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

The Imagick constructor

Список параметров

files

The path to an image to load or array of paths

Возвращаемые значения

Returns a new Imagick object on success. Throw an ImagickException on error.

Imagick::compositeImage
Imagick::contrastImage
The Imagick class


Change the contrast of the image

Imagick::__construct
Imagick::contrastStretchImage
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::__construct
Imagick::contrastStretchImage
The Imagick class


Enhances the contrast of a color image

Imagick::contrastImage
Imagick::convolveImage
The Imagick class
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. This method is available if Imagick has been compiled against ImageMagick version 6.2.9 or newer.

Список параметров

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.

Возвращаемые значения

Returns TRUE on success.

Imagick::contrastImage
Imagick::convolveImage
The Imagick class


Applies a custom convolution kernel to the image

Imagick::contrastStretchImage
Imagick::cropImage
The Imagick class
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. Defaults to Imagick::CHANNEL_ALL. Refer to this list of channel constants.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::contrastStretchImage
Imagick::cropImage
The Imagick class


Extracts a region of the image

Imagick::convolveImage
Imagick::cropThumbnailImage
The Imagick class
PHP Manual

Imagick::cropImage

(PECL imagick 2.0.0)

Imagick::cropImage — Extracts a region of the image

Описание

bool Imagick::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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::convolveImage
Imagick::cropThumbnailImage
The Imagick class


Creates a crop thumbnail

Imagick::cropImage
Imagick::current
The Imagick class
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 down and cropping a specified area from the center.

Список параметров

width

The width of the thumbnail

height

The Height of the thumbnail

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::cropImage
Imagick::current
The Imagick class


Returns a reference to the current Imagick object

Imagick::cropThumbnailImage
Imagick::cycleColormapImage
The Imagick class
PHP Manual

Imagick::current

(PECL imagick 2.0.0)

Imagick::current — Returns a reference to the current Imagick object

Описание

Imagick Imagick::current ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns reference to the current imagick object with image pointer at the correct sequence.

Возвращаемые значения

Returns self on success. Throw an ImagickException on error.

Imagick::cropThumbnailImage
Imagick::cycleColormapImage
The Imagick class


Displaces an image's colormap

Imagick::current
Imagick::deconstructImages
The Imagick class
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.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::current
Imagick::deconstructImages
The Imagick class


Returns certain pixel differences between images

Imagick::cycleColormapImage
Imagick::despeckleImage
The Imagick class
PHP Manual

Imagick::deconstructImages

(PECL imagick 2.0.0)

Imagick::deconstructImages — Returns certain pixel differences between images

Описание

bool 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 TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::cycleColormapImage
Imagick::despeckleImage
The Imagick class


Reduces the speckle noise in an image

Imagick::deconstructImages
Imagick::destroy
The Imagick class
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.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::deconstructImages
Imagick::destroy
The Imagick class


Destroys the Imagick object

Imagick::despeckleImage
Imagick::displayImage
The Imagick class
PHP Manual

Imagick::destroy

(PECL imagick 2.0.0)

Imagick::destroy — Destroys the Imagick object

Описание

bool Imagick::destroy ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Destroys the Imagick object and frees all resources associated with it.

Возвращаемые значения

Returns TRUE on success.

Imagick::despeckleImage
Imagick::displayImage
The Imagick class


Displays an image

Imagick::destroy
Imagick::displayImages
The Imagick class
PHP Manual

Imagick::displayImage

(PECL imagick 2.0.0)

Imagick::displayImage — Displays an image

Описание

bool Imagick::displayImage ( string $servername )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

This method displays an image on a X server.

Список параметров

servername

The X server name

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::destroy
Imagick::displayImages
The Imagick class


Displays an image or image sequence

Imagick::displayImage
Imagick::distortImage
The Imagick class
PHP Manual

Imagick::displayImages

(PECL imagick 2.0.0)

Imagick::displayImages — Displays an image or image sequence

Описание

bool Imagick::displayImages ( string $servername )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Displays an image or image sequence on a X server.

Список параметров

servername

The X server name

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::displayImage
Imagick::distortImage
The Imagick class


Distorts an image using various distortion methods

Imagick::displayImages
Imagick::drawImage
The Imagick class
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.

This functionality is present if Imagick is compiled against ImageMagick 6.3.6 or later.

Список параметров

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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Примеры

Пример #1 Using Imagick::distortImage():

Distort an image and write it to the disk.

<?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;
?>

Смотрите также

  • Imagick::blurImage() - Adds blur filter to image
  • Imagick::motionBlurImage() - Simulates motion blur
  • Imagick::radialBlurImage() - Radial blurs an image

Imagick::displayImages
Imagick::drawImage
The Imagick class


Renders the ImagickDraw object on the current image

Imagick::distortImage
Imagick::edgeImage
The Imagick class
PHP Manual

Imagick::drawImage

(PECL imagick 2.0.0)

Imagick::drawImage — Renders the ImagickDraw object on the current image

Описание

bool Imagick::drawImage ( ImagickDraw $draw )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Renders the ImagickDraw object on the current image.

Список параметров

draw

The drawing operations to render on the image.

Возвращаемые значения

Returns TRUE on success.

Imagick::distortImage
Imagick::edgeImage
The Imagick class


Enhance edges within the image

Imagick::drawImage
Imagick::embossImage
The Imagick class
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.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::drawImage
Imagick::embossImage
The Imagick class


Returns a grayscale image with a three-dimensional effect

Imagick::edgeImage
Imagick::enhanceImage
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::edgeImage
Imagick::enhanceImage
The Imagick class


Improves the quality of a noisy image

Imagick::embossImage
Imagick::equalizeImage
The Imagick class
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.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::embossImage
Imagick::equalizeImage
The Imagick class


Equalizes the image histogram

Imagick::enhanceImage
Imagick::evaluateImage
The Imagick class
PHP Manual

Imagick::equalizeImage

(PECL imagick 2.0.0)

Imagick::equalizeImage — Equalizes the image histogram

Описание

bool Imagick::equalizeImage ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Equalizes the image histogram.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::enhanceImage
Imagick::evaluateImage
The Imagick class


Applies an expression to an image

Imagick::equalizeImage
Imagick::flattenImages
The Imagick class
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 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. Defaults to Imagick::CHANNEL_ALL. Refer to this list of channel constants.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::equalizeImage
Imagick::flattenImages
The Imagick class


Merges a sequence of images

Imagick::evaluateImage
Imagick::flipImage
The Imagick class
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.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::evaluateImage
Imagick::flipImage
The Imagick class


Creates a vertical mirror image

Imagick::flattenImages
Imagick::flopImage
The Imagick class
PHP Manual

Imagick::flipImage

(PECL imagick 2.0.0)

Imagick::flipImage — Creates a vertical mirror image

Описание

bool Imagick::flipImage ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Creates a vertical mirror image by reflecting the pixels around the central x-axis.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::flattenImages
Imagick::flopImage
The Imagick class


Creates a horizontal mirror image

Imagick::flipImage
Imagick::frameImage
The Imagick class
PHP Manual

Imagick::flopImage

(PECL imagick 2.0.0)

Imagick::flopImage — Creates a horizontal mirror image

Описание

bool Imagick::flopImage ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Creates a horizontal mirror image by reflecting the pixels around the central y-axis.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::flipImage
Imagick::frameImage
The Imagick class


Adds a simulated three-dimensional border

Imagick::flopImage
Imagick::fxImage
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Список изменений

Версия | Описание
2.1.0 | Now allows a string representing the color as the first parameter. Previous versions allow only an ImagickPixel object.

Imagick::flopImage
Imagick::fxImage
The Imagick class


Evaluate expression for each pixel in the image

Imagick::frameImage
Imagick::gammaImage
The Imagick class
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. Defaults to Imagick::CHANNEL_ALL. Refer to this list of channel constants.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::frameImage
Imagick::gammaImage
The Imagick class


Gamma-corrects an image

Imagick::fxImage
Imagick::gaussianBlurImage
The Imagick class
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. Defaults to Imagick::CHANNEL_ALL. Refer to this list of channel constants.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::fxImage
Imagick::gaussianBlurImage
The Imagick class


Blurs an image

Imagick::gammaImage
Imagick::getCompression
The Imagick class
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. Defaults to Imagick::CHANNEL_ALL. Refer to this list of channel constants.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::gammaImage
Imagick::getCompression
The Imagick class


Gets the object compression type

Imagick::gaussianBlurImage
Imagick::getCompressionQuality
The Imagick class
PHP Manual

Imagick::getCompression

(PECL imagick 2.0.0)

Imagick::getCompression — Gets the object compression type

Описание

int Imagick::getCompression ( void )

Gets the object compression type.

Возвращаемые значения

Returns the compression constant

Imagick::gaussianBlurImage
Imagick::getCompressionQuality
The Imagick class


Gets the object compression quality

Imagick::getCompression
Imagick::getCopyright
The Imagick class
PHP Manual

Imagick::getCompressionQuality

(PECL imagick 2.0.0)

Imagick::getCompressionQuality — Gets the object compression quality

Описание

int Imagick::getCompressionQuality ( void )

Gets the object compression quality.

Возвращаемые значения

Returns integer describing the compression quality

Imagick::getCompression
Imagick::getCopyright
The Imagick class


Returns the ImageMagick API copyright as a string

Imagick::getCompressionQuality
Imagick::getFilename
The Imagick class
PHP Manual

Imagick::getCopyright

(PECL imagick 2.0.0)

Imagick::getCopyright — Returns the ImageMagick API copyright as a string

Описание

string Imagick::getCopyright ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the ImageMagick API copyright as a string.

Возвращаемые значения

Returns a string containing the copyright notice of Imagemagick and Magickwand C API.

Imagick::getCompressionQuality
Imagick::getFilename
The Imagick class


The filename associated with an image sequence

Imagick::getCopyright
Imagick::getFormat
The Imagick class
PHP Manual

Imagick::getFilename

(PECL imagick 2.0.0)

Imagick::getFilename — The filename associated with an image sequence

Описание

string Imagick::getFilename ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the filename associated with an image sequence.

Возвращаемые значения

Returns a string on success. Throw an ImagickException on error.

Imagick::getCopyright
Imagick::getFormat
The Imagick class


Returns the format of the Imagick object

Imagick::getFilename
Imagick::getHomeURL
The Imagick class
PHP Manual

Imagick::getFormat

(PECL imagick 2.0.0)

Imagick::getFormat — Returns the format of the Imagick object

Описание

string Imagick::getFormat ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the format of the Imagick object.

Возвращаемые значения

Returns the format of the image. Throw an ImagickException on error.

Imagick::getFilename
Imagick::getHomeURL
The Imagick class


Returns the ImageMagick home URL

Imagick::getFormat
Imagick::getImage
The Imagick class
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::getFormat
Imagick::getImage
The Imagick class


Returns a new Imagick object

Imagick::getHomeURL
Imagick::getImageBackgroundColor
The Imagick class
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. Throw an ImagickException on error.

Errors/Exceptions

Throws ImagickException on error.

Imagick::getHomeURL
Imagick::getImageBackgroundColor
The Imagick class


Returns the image background color

Imagick::getImage
Imagick::getImageBlob
The Imagick class
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. Throw an ImagickException on error.

Errors/Exceptions

Throws ImagickException on error.

Imagick::getImage
Imagick::getImageBlob
The Imagick class


Returns the image sequence as a blob

Imagick::getImageBackgroundColor
Imagick::getImageBluePrimary
The Imagick class
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. Throw an ImagickException on error.

Imagick::getImageBackgroundColor
Imagick::getImageBluePrimary
The Imagick class


Returns the chromaticy blue primary point

Imagick::getImageBlob
Imagick::getImageBorderColor
The Imagick class
PHP Manual

Imagick::getImageBluePrimary

(PECL imagick 2.0.0)

Imagick::getImageBluePrimary — Returns the chromaticy blue primary point

Описание

array Imagick::getImageBluePrimary ( float $x , float $y )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the chromaticity blue primary point for the image.

Список параметров

x

The chromaticity blue primary x-point.

y

The chromaticity blue primary x-point.

Возвращаемые значения

Array consisting of "x" and "y" coordinates of point.

Errors/Exceptions

Throws ImagickException on error.

Imagick::getImageBlob
Imagick::getImageBorderColor
The Imagick class


Returns the image border color

Imagick::getImageBluePrimary
Imagick::getImageChannelDepth
The Imagick class
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.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::getImageBluePrimary
Imagick::getImageChannelDepth
The Imagick class


Gets the depth for a particular image channel

Imagick::getImageBorderColor
Imagick::getImageChannelDistortion
The Imagick class
PHP Manual

Imagick::getImageChannelDepth

(PECL imagick 2.0.0)

Imagick::getImageChannelDepth — Gets the depth for a particular image channel

Описание

int Imagick::getImageChannelDepth ( int $channelType )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Gets the depth for a particular image channel.

Список параметров

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. Defaults to Imagick::CHANNEL_ALL. Refer to this list of channel constants.

Возвращаемые значения

Returns TRUE on success.

Imagick::getImageBorderColor
Imagick::getImageChannelDistortion
The Imagick class


Compares image channels of an image to a reconstructed image

Imagick::getImageChannelDepth
Imagick::getImageChannelExtrema
The Imagick class
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. Defaults to Imagick::CHANNEL_ALL. Refer to this list of channel constants.

metric

One of the metric type constants.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::getImageChannelDepth
Imagick::getImageChannelExtrema
The Imagick class


Gets the extrema for one or more image channels

Imagick::getImageChannelDistortion
Imagick::getImageChannelMean
The Imagick class
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. Defaults to Imagick::CHANNEL_ALL. Refer to this list of channel constants.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::getImageChannelDistortion
Imagick::getImageChannelMean
The Imagick class


Gets the mean and standard deviation

Imagick::getImageChannelExtrema
Imagick::getImageChannelStatistics
The Imagick class
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. Defaults to Imagick::CHANNEL_ALL. Refer to this list of channel constants.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::getImageChannelExtrema
Imagick::getImageChannelStatistics
The Imagick class


Returns statistics for each channel in the image

Imagick::getImageChannelMean
Imagick::getImageColormapColor
The Imagick class
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:

Возвращаемые значения

Returns TRUE on success.

Imagick::getImageChannelMean
Imagick::getImageColormapColor
The Imagick class


Returns the color of the specified colormap index

Imagick::getImageChannelStatistics
Imagick::getImageColors
The Imagick class
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.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::getImageChannelStatistics
Imagick::getImageColors
The Imagick class


Gets the number of unique colors in the image

Imagick::getImageColormapColor
Imagick::getImageColorspace
The Imagick class
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.

Возвращаемые значения

Returns TRUE on success.

Imagick::getImageColormapColor
Imagick::getImageColorspace
The Imagick class


Gets the image colorspace

Imagick::getImageColors
Imagick::getImageCompose
The Imagick class
PHP Manual

Imagick::getImageColorspace

(PECL imagick 2.0.0)

Imagick::getImageColorspace — Gets the image colorspace

Описание

int Imagick::getImageColorspace ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Gets the image colorspace.

Возвращаемые значения

Returns TRUE on success.

Imagick::getImageColors
Imagick::getImageCompose
The Imagick class


Returns the composite operator associated with the image

Imagick::getImageColorspace
Imagick::getImageCompression
The Imagick class
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.

Возвращаемые значения

Returns TRUE on success.

Imagick::getImageColorspace
Imagick::getImageCompression
The Imagick class


Gets the current image's compression type

Imagick::getImageCompose
Imagick::getImageCompressionQuality
The Imagick class
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
The Imagick class


Gets the current image's compression quality

Imagick::getImageCompression
Imagick::getImageDelay
The Imagick class
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
The Imagick class


Gets the image delay

Imagick::getImageCompressionQuality
Imagick::getImageDepth
The Imagick class
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. Throw an ImagickException on error.

Imagick::getImageCompressionQuality
Imagick::getImageDepth
The Imagick class


Gets the image depth

Imagick::getImageDelay
Imagick::getImageDispose
The Imagick class
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.

Возвращаемые значения

What the function returns, first on success, then on failure. See also the &return.success; entity

Imagick::getImageDelay
Imagick::getImageDispose
The Imagick class


Gets the image disposal method

Imagick::getImageDepth
Imagick::getImageDistortion
The Imagick class
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. Throw an ImagickException on error.

Imagick::getImageDepth
Imagick::getImageDistortion
The Imagick class


Compares an image to a reconstructed image

Imagick::getImageDispose
Imagick::getImageExtrema
The Imagick class
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). Throw an ImagickException on error.

Errors/Exceptions

Throws ImagickException on error.

Imagick::getImageDispose
Imagick::getImageExtrema
The Imagick class


Gets the extrema for the image

Imagick::getImageDistortion
Imagick::getImageFilename
The Imagick class
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". Throw an ImagickException on error.

Errors/Exceptions

Throws ImagickException on error.

Imagick::getImageDistortion
Imagick::getImageFilename
The Imagick class


Returns the filename of a particular image in a sequence

Imagick::getImageExtrema
Imagick::getImageFormat
The Imagick class
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. Throw an ImagickException on error.

Imagick::getImageExtrema
Imagick::getImageFormat
The Imagick class


Returns the format of a particular image in a sequence

Imagick::getImageFilename
Imagick::getImageGamma
The Imagick class
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. Throw an ImagickException on error.

Imagick::getImageFilename
Imagick::getImageGamma
The Imagick class


Gets the image gamma

Imagick::getImageFormat
Imagick::getImageGeometry
The Imagick class
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. Throw an ImagickException on error.

Imagick::getImageFormat
Imagick::getImageGeometry
The Imagick class


Gets the width and height as an associative array

Imagick::getImageGamma
Imagick::getImageGreenPrimary
The Imagick class
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. Throw an ImagickException on error.

Imagick::getImageGamma
Imagick::getImageGreenPrimary
The Imagick class


Returns the chromaticy green primary point

Imagick::getImageGeometry
Imagick::getImageHeight
The Imagick class
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.

Errors/Exceptions

Throws ImagickException on error.

Imagick::getImageGeometry
Imagick::getImageHeight
The Imagick class


Returns the image height

Imagick::getImageGreenPrimary
Imagick::getImageHistogram
The Imagick class
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. Throw an ImagickException on error.

Imagick::getImageGreenPrimary
Imagick::getImageHistogram
The Imagick class


Gets the image histogram

Imagick::getImageHeight
Imagick::getImageIndex
The Imagick class
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. Throw an ImagickException on error.

Imagick::getImageHeight
Imagick::getImageIndex
The Imagick class


Gets the index of the current active image

Imagick::getImageHistogram
Imagick::getImageInterlaceScheme
The Imagick class
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. Throw an ImagickException on error.

Imagick::getImageHistogram
Imagick::getImageInterlaceScheme
The Imagick class


Gets the image interlace scheme

Imagick::getImageIndex
Imagick::getImageInterpolateMethod
The Imagick class
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. Throw an ImagickException on error.

Imagick::getImageIndex
Imagick::getImageInterpolateMethod
The Imagick class


Returns the interpolation method

Imagick::getImageInterlaceScheme
Imagick::getImageIterations
The Imagick class
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.

Возвращаемые значения

Returns the interpolate method on success. Throw an ImagickException on error.

Imagick::getImageInterlaceScheme
Imagick::getImageIterations
The Imagick class


Gets the image iterations

Imagick::getImageInterpolateMethod
Imagick::getImageLength
The Imagick class
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. Throw an ImagickException on error.

Imagick::getImageInterpolateMethod
Imagick::getImageLength
The Imagick class


Returns the image length in bytes

Imagick::getImageIterations
Imagick::getImageMagickLicense
The Imagick class
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.

Imagick::getImageIterations
Imagick::getImageMagickLicense
The Imagick class


Returns a string containing the ImageMagick license

Imagick::getImageLength
Imagick::getImageMatte
The Imagick class
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
The Imagick class


Return if the image has a matte channel

Imagick::getImageMagickLicense
Imagick::getImageMatteColor
The Imagick class
PHP Manual

Imagick::getImageMatte

(PECL imagick 2.0.0)

Imagick::getImageMatte — Return if the image has a matte channel

Описание

int Imagick::getImageMatte ( void )

Returns TRUE if the image has a matte channel otherwise false. This method is available if Imagick has been compiled against ImageMagick version 6.2.9 or newer.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Imagick::getImageMagickLicense
Imagick::getImageMatteColor
The Imagick class


Returns the image matte color

Imagick::getImageMatte
Imagick::getImageOrientation
The Imagick class
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. Throw an ImagickException on error.

Errors/Exceptions

Throws ImagickException on error.

Imagick::getImageMatte
Imagick::getImageOrientation
The Imagick class


Gets the image orientation.

Imagick::getImageMatteColor
Imagick::getImagePage
The Imagick class
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. Throw an ImagickException on error.

Imagick::getImageMatteColor
Imagick::getImagePage
The Imagick class


Returns the page geometry

Imagick::getImageOrientation
Imagick::getImagePixelColor
The Imagick class
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".

Errors/Exceptions

Throws ImagickException on error.

Imagick::getImageOrientation
Imagick::getImagePixelColor
The Imagick class


Returns the color of the specified pixel

Imagick::getImagePage
Imagick::getImageProfile
The Imagick class
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. Throw an ImagickException on error.

Errors/Exceptions

Throws ImagickException on error.

Imagick::getImagePage
Imagick::getImageProfile
The Imagick class


Returns the named image profile

Imagick::getImagePixelColor
Imagick::getImageProfiles
The Imagick class
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. Throw an ImagickException on error.

Imagick::getImagePixelColor
Imagick::getImageProfiles
The Imagick class


Returns the image profiles

Imagick::getImageProfile
Imagick::getImageProperties
The Imagick class
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. This method is present if Imagick is compiled against ImageMagick 6.3.5-9 or later.

Список параметров

pattern

The pattern for profile names. Defaults to "*"

only_names

Whether to return only profile names

Возвращаемые значения

Returns an array containing the image profiles or profile names.

Imagick::getImageProfile
Imagick::getImageProperties
The Imagick class


Returns the image properties

Imagick::getImageProfiles
Imagick::getImageProperty
The Imagick class
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. This method is present if Imagick is compiled against ImageMagick 6.3.5-9 or later.

Список параметров

pattern

The pattern for property names. Defaults to "*"

only_names

Whether to return only property names

Возвращаемые значения

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
The Imagick class


Returns the named image property

Imagick::getImageProperties
Imagick::getImageRedPrimary
The Imagick class
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 profile. This method is available if Imagick has been compiled against ImageMagick version 6.3.2 or newer.

Список параметров

name

name of the property (for example Exif:DateTime)

Примеры

Пример #1 Using Imagick::getImageProperty():

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::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
The Imagick class


Returns the chromaticity red primary point

Imagick::getImageProperty
Imagick::getImageRegion
The Imagick class
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". Throw an ImagickException on error.

Errors/Exceptions

Throws ImagickException on error.

Imagick::getImageProperty
Imagick::getImageRegion
The Imagick class


Extracts a region of the image

Imagick::getImageRedPrimary
Imagick::getImageRenderingIntent
The Imagick class
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 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 a new wand. Throw an ImagickException on error.

Errors/Exceptions

Throws ImagickException on error.

Imagick::getImageRedPrimary
Imagick::getImageRenderingIntent
The Imagick class


Gets the image rendering intent

Imagick::getImageRegion
Imagick::getImageResolution
The Imagick class
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. Throw an ImagickException on error.

Imagick::getImageRegion
Imagick::getImageResolution
The Imagick class


Gets the image X and Y resolution

Imagick::getImageRenderingIntent
Imagick::getImagesBlob
The Imagick class
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. Throw an ImagickException on error.

Errors/Exceptions

Throws ImagickException on error.

Imagick::getImageRenderingIntent
Imagick::getImagesBlob
The Imagick class


Returns all image sequences as a blob

Imagick::getImageResolution
Imagick::getImageScene
The Imagick class
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
The Imagick class


Gets the image scene

Imagick::getImagesBlob
Imagick::getImageSignature
The Imagick class
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. Throw an ImagickException on error.

Imagick::getImagesBlob
Imagick::getImageSignature
The Imagick class


Generates an SHA-256 message digest

Imagick::getImageScene
Imagick::getImageSize
The Imagick class
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. Throw an ImagickException on error.

Imagick::getImageScene
Imagick::getImageSize
The Imagick class


Returns the image length in bytes

Imagick::getImageSignature
Imagick::getImageTicksPerSecond
The Imagick class
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
The Imagick class


Gets the image ticks-per-second

Imagick::getImageSize
Imagick::getImageTotalInkDensity
The Imagick class
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. Throw an ImagickException on error.

Imagick::getImageSize
Imagick::getImageTotalInkDensity
The Imagick class


Gets the image total ink density

Imagick::getImageTicksPerSecond
Imagick::getImageType
The Imagick class
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. Throw an ImagickException on error.

Imagick::getImageTicksPerSecond
Imagick::getImageType
The Imagick class


Gets the potential image type

Imagick::getImageTotalInkDensity
Imagick::getImageUnits
The Imagick class
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.

Возвращаемые значения

Retruns the potential image type. Throw an ImagickException on error.

Imagick::getImageTotalInkDensity
Imagick::getImageUnits
The Imagick class


Gets the image units of resolution

Imagick::getImageType
Imagick::getImageVirtualPixelMethod
The Imagick class
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. Throw an ImagickException on error.

Imagick::getImageType
Imagick::getImageVirtualPixelMethod
The Imagick class


Returns the virtual pixel method

Imagick::getImageUnits
Imagick::getImageWhitePoint
The Imagick class
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. Throw an ImagickException on error.

Imagick::getImageUnits
Imagick::getImageWhitePoint
The Imagick class


Returns the chromaticity white point

Imagick::getImageVirtualPixelMethod
Imagick::getImageWidth
The Imagick class
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". Throw an ImagickException on error.

Errors/Exceptions

Throws ImagickException on error.

Imagick::getImageVirtualPixelMethod
Imagick::getImageWidth
The Imagick class


Returns the image width

Imagick::getImageWhitePoint
Imagick::getInterlaceScheme
The Imagick class
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. Throw an ImagickException on error.

Imagick::getImageWhitePoint
Imagick::getInterlaceScheme
The Imagick class


Gets the object interlace scheme

Imagick::getImageWidth
Imagick::getIteratorIndex
The Imagick class
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. Throw an ImagickException on error.

Imagick::getImageWidth
Imagick::getIteratorIndex
The Imagick class


Gets the index of the current active image

Imagick::getInterlaceScheme
Imagick::getNumberImages
The Imagick class
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. This method is available if Imagick has been compiled against ImageMagick version 6.2.9 or newer.

Возвращаемые значения

Returns an integer containing the index of the image in the stack. Throw an ImagickException on error.

Примеры

Пример #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
The Imagick class


Returns the number of images in the object

Imagick::getIteratorIndex
Imagick::getOption
The Imagick class
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. Throw an ImagickException on error.

Imagick::getIteratorIndex
Imagick::getOption
The Imagick class


Returns a value associated with the specified key

Imagick::getNumberImages
Imagick::getPackageName
The Imagick class
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. Throw an ImagickException on error.

Imagick::getNumberImages
Imagick::getPackageName
The Imagick class


Returns the ImageMagick package name

Imagick::getOption
Imagick::getPage
The Imagick class
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. Throw an ImagickException on error.

Imagick::getOption
Imagick::getPage
The Imagick class


Returns the page geometry

Imagick::getPackageName
Imagick::getPixelIterator
The Imagick class
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
The Imagick class


Returns a MagickPixelIterator

Imagick::getPage
Imagick::getPixelRegionIterator
The Imagick class
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. Throw an ImagickException on error.

Imagick::getPage
Imagick::getPixelRegionIterator
The Imagick class


Get an ImagickPixelIterator for an image section

Imagick::getPixelIterator
Imagick::getQuantumDepth
The Imagick class
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. Throw an ImagickException on error.

Imagick::getPixelIterator
Imagick::getQuantumDepth
The Imagick class


Gets the quantum depth

Imagick::getPixelRegionIterator
Imagick::getQuantumRange
The Imagick class
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. Throw an ImagickException on error.

Imagick::getPixelRegionIterator
Imagick::getQuantumRange
The Imagick class


Returns the Imagick quantum range

Imagick::getQuantumDepth
Imagick::getReleaseDate
The Imagick class
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. Throw an ImagickException on error.

Imagick::getQuantumDepth
Imagick::getReleaseDate
The Imagick class


Returns the ImageMagick release date

Imagick::getQuantumRange
Imagick::getResource
The Imagick class
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. Throw an ImagickException on error.

Imagick::getQuantumRange
Imagick::getResource
The Imagick class


Returns the specified resource's memory usage

Imagick::getReleaseDate
Imagick::getResourceLimit
The Imagick class
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. Throw an ImagickException on error.

Imagick::getReleaseDate
Imagick::getResourceLimit
The Imagick class


Returns the specified resource limit

Imagick::getResource
Imagick::getSamplingFactors
The Imagick class
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. Throw an ImagickException on error.

Imagick::getResource
Imagick::getSamplingFactors
The Imagick class


Gets the horizontal and vertical sampling factor

Imagick::getResourceLimit
Imagick::getSize
The Imagick class
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. Throw an ImagickException on error.

Imagick::getResourceLimit
Imagick::getSize
The Imagick class


Returns the size associated with the Imagick object

Imagick::getSamplingFactors
Imagick::getSizeOffset
The Imagick class
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
The Imagick class


Returns the size offset

Imagick::getSize
Imagick::getVersion
The Imagick class
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. This method is available if Imagick has been compiled against ImageMagick version 6.2.9 or newer.

Возвращаемые значения

Returns the size offset associated with the Imagick object. Throw an ImagickException on error.

Imagick::getSize
Imagick::getVersion
The Imagick class


Returns the ImageMagick API version

Imagick::getSizeOffset
Imagick::hasNextImage
The Imagick class
PHP Manual

Imagick::getVersion

(PECL imagick 2.0.0)

Imagick::getVersion — Returns the ImageMagick API version

Описание

array Imagick::getVersion ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the ImageMagick API version as a string and as a number.

Возвращаемые значения

Returns the ImageMagick API version as a string and as a number. Throw an ImagickException on error.

Imagick::getSizeOffset
Imagick::hasNextImage
The Imagick class


Checks if the object has more images

Imagick::getVersion
Imagick::hasPreviousImage
The Imagick class
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::getVersion
Imagick::hasPreviousImage
The Imagick class


Checks if the object has a previous image

Imagick::hasNextImage
Imagick::identifyImage
The Imagick class
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
The Imagick class


Identifies an image and fetches attributes

Imagick::hasPreviousImage
Imagick::implodeImage
The Imagick class
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. Throw an ImagickException on error.

Errors/Exceptions

Throws ImagickException on error.

Imagick::hasPreviousImage
Imagick::implodeImage
The Imagick class


Creates a new image as a copy

Imagick::identifyImage
Imagick::labelImage
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::identifyImage
Imagick::labelImage
The Imagick class


Adds a label to an image

Imagick::implodeImage
Imagick::levelImage
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Imagick::implodeImage
Imagick::levelImage
The Imagick class


Adjusts the levels of an image

Imagick::labelImage
Imagick::linearStretchImage
The Imagick class
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. Defaults to Imagick::CHANNEL_ALL. Refer to this list of channel constants.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::labelImage
Imagick::linearStretchImage
The Imagick class


Stretches with saturation the image intensity

Imagick::levelImage
Imagick::magnifyImage
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Imagick::levelImage
Imagick::magnifyImage
The Imagick class


Scales an image proportionally 2x

Imagick::linearStretchImage
Imagick::mapImage
The Imagick class
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.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::linearStretchImage
Imagick::mapImage
The Imagick class


Replaces the colors of an image with the closest color from a reference image.

Imagick::magnifyImage
Imagick::matteFloodfillImage
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::magnifyImage
Imagick::matteFloodfillImage
The Imagick class


Changes the transparency value of a color

Imagick::mapImage
Imagick::medianFilterImage
The Imagick class
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.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Список изменений

Версия | Описание
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
The Imagick class


Applies a digital filter

Imagick::matteFloodfillImage
Imagick::minifyImage
The Imagick class
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.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::matteFloodfillImage
Imagick::minifyImage
The Imagick class


Scales an image proportionally to half its size

Imagick::medianFilterImage
Imagick::modulateImage
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Imagick::medianFilterImage
Imagick::modulateImage
The Imagick class


Control the brightness, saturation, and hue

Imagick::minifyImage
Imagick::montageImage
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Imagick::minifyImage
Imagick::montageImage
The Imagick class


Creates a composite image

Imagick::modulateImage
Imagick::morphImages
The Imagick class
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. he 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.

Возвращаемые значения

Returns TRUE on success.

Imagick::modulateImage
Imagick::morphImages
The Imagick class


Method morphs a set of images

Imagick::montageImage
Imagick::mosaicImages
The Imagick class
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. Throw an ImagickException on error.

Imagick::montageImage
Imagick::mosaicImages
The Imagick class


Forms a mosaic from images

Imagick::morphImages
Imagick::motionBlurImage
The Imagick class
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.

Возвращаемые значения

Returns TRUE on success.

Imagick::morphImages
Imagick::motionBlurImage
The Imagick class


Simulates motion blur

Imagick::mosaicImages
Imagick::negateImage
The Imagick class
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. Defaults to Imagick::CHANNEL_DEFAULT. Refer to this list of channel constants. The channel argument affects only if Imagick is compiled against ImageMagick version 6.4.4 or greater.

Возвращаемые значения

Returns TRUE on success.

Imagick::mosaicImages
Imagick::negateImage
The Imagick class


Negates the colors in the reference image

Imagick::motionBlurImage
Imagick::newImage
The Imagick class
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. Defaults to Imagick::CHANNEL_ALL. Refer to this list of channel constants.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::motionBlurImage
Imagick::newImage
The Imagick class


Creates a new image

Imagick::negateImage
Imagick::newPseudoImage
The Imagick class
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.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Список изменений

Версия | Описание
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
The Imagick class


Creates a new image

Imagick::newImage
Imagick::nextImage
The Imagick class
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.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::newImage
Imagick::nextImage
The Imagick class


Moves to the next image

Imagick::newPseudoImage
Imagick::normalizeImage
The Imagick class
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.

Возвращаемые значения

Returns TRUE on success.

Imagick::newPseudoImage
Imagick::normalizeImage
The Imagick class


Enhances the contrast of a color image

Imagick::nextImage
Imagick::oilPaintImage
The Imagick class
PHP Manual

Imagick::normalizeImage

(PECL imagick 2.0.0)

Imagick::normalizeImage — Enhances the contrast of a color image

Описание

bool Imagick::normalizeImage ([ int $channel ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

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. Defaults to Imagick::CHANNEL_ALL. Refer to this list of channel constants.

Возвращаемые значения

Returns TRUE on success.

Imagick::nextImage
Imagick::oilPaintImage
The Imagick class


Simulates an oil painting

Imagick::normalizeImage
Imagick::optimizeImageLayers
The Imagick class
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.

Возвращаемые значения

Returns TRUE on success.

Imagick::normalizeImage
Imagick::optimizeImageLayers
The Imagick class


Removes repeated portions of images to optimize

Imagick::oilPaintImage
Imagick::orderedPosterizeImage
The Imagick class
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. This method is available if Imagick has been compiled against ImageMagick version 6.2.9 or newer.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Примеры

Пример #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::oilPaintImage
Imagick::orderedPosterizeImage
The Imagick class


Performs an ordered dither

Imagick::optimizeImageLayers
Imagick::paintFloodfillImage
The Imagick class
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. This method is available if Imagick has been compiled against ImageMagick version 6.3.1 or newer.

Список параметров

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. Defaults to Imagick::CHANNEL_ALL. Refer to this list of channel constants.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::optimizeImageLayers
Imagick::paintFloodfillImage
The Imagick class


Changes the color value of any pixel that matches target

Imagick::orderedPosterizeImage
Imagick::paintOpaqueImage
The Imagick class
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.

Список параметров

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

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Defaults to Imagick::CHANNEL_ALL. Refer to this list of channel constants.

Возвращаемые значения

Returns TRUE on success.

Imagick::orderedPosterizeImage
Imagick::paintOpaqueImage
The Imagick class


Change any pixel that matches color

Imagick::paintFloodfillImage
Imagick::paintTransparentImage
The Imagick class
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. Defaults to Imagick::CHANNEL_ALL. Refer to this list of channel constants.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Список изменений

Версия | Описание
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
The Imagick class


Changes any pixel that matches color with the color defined by fill

Imagick::paintOpaqueImage
Imagick::pingImage
The Imagick class
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.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Список изменений

Версия | Описание
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
The Imagick class


Fetch basic attributes about the image

Imagick::paintTransparentImage
Imagick::pingImageBlob
The Imagick class
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.

Возвращаемые значения

Returns TRUE on success.

Imagick::paintTransparentImage
Imagick::pingImageBlob
The Imagick class


Quickly fetch attributes

Imagick::pingImage
Imagick::pingImageFile
The Imagick class
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. This method is available if Imagick has been compiled against ImageMagick version 6.2.9 or newer.

Список параметров

image

A string containing the image.

Возвращаемые значения

Returns TRUE on success.

Примеры

Пример #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
The Imagick class


Get basic image attributes in a lightweight manner

Imagick::pingImageBlob
Imagick::polaroidImage
The Imagick class
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. This method is available if Imagick has been compiled against ImageMagick version 6.2.9 or newer.

Список параметров

filehandle

An open filehandle to the image.

fileName

Optional filename for this image.

Возвращаемые значения

Returns TRUE on success.

Примеры

Пример #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
The Imagick class


Simulates a Polaroid picture

Imagick::pingImageFile
Imagick::posterizeImage
The Imagick class
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. This method is available if Imagick has been compiled against ImageMagick version 6.3.2 or newer.

Список параметров

properties

The polaroid properties

angle

The polaroid angle

Возвращаемые значения

Returns TRUE on success.

Примеры

Пример #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
The Imagick class


Reduces the image to a limited number of color level

Imagick::polaroidImage
Imagick::previewImages
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Imagick::polaroidImage
Imagick::previewImages
The Imagick class


Quickly pin-point appropriate parameters for image processing

Imagick::posterizeImage
Imagick::previousImage
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::posterizeImage
Imagick::previousImage
The Imagick class


Move to the previous image in the object

Imagick::previewImages
Imagick::profileImage
The Imagick class
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.

Возвращаемые значения

Returns TRUE on success.

Imagick::previewImages
Imagick::profileImage
The Imagick class


Adds or removes a profile from an image

Imagick::previousImage
Imagick::quantizeImage
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::previousImage
Imagick::quantizeImage
The Imagick class


Analyzes the colors within a reference image

Imagick::profileImage
Imagick::quantizeImages
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::profileImage
Imagick::quantizeImages
The Imagick class


Analyzes the colors within a sequence of images

Imagick::quantizeImage
Imagick::queryFontMetrics
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::quantizeImage
Imagick::queryFontMetrics
The Imagick class


Returns an array representing the font metrics

Imagick::quantizeImages
Imagick::queryFonts
The Imagick class
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 an array containing the formats supported by Imagick. Throw an ImagickException on error.

Errors/Exceptions

Throws ImagickException on error.

Примеры

Пример #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
The Imagick class


Returns the configured fonts

Imagick::queryFontMetrics
Imagick::queryFormats
The Imagick class
PHP Manual

Imagick::queryFonts

(PECL imagick 2.0.0)

Imagick::queryFonts — Returns the configured fonts

Описание

array Imagick::queryFonts ([ string $pattern= "*" ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns formats supported by Imagick.

Список параметров

pattern

The query pattern

Возвращаемые значения

Returns an array containing the configured fonts. Throw an ImagickException on error.

Imagick::queryFontMetrics
Imagick::queryFormats
The Imagick class


Returns formats supported by Imagick

Imagick::queryFonts
Imagick::radialBlurImage
The Imagick class
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. Throw an ImagickException on error.

Imagick::queryFonts
Imagick::radialBlurImage
The Imagick class


Radial blurs an image

Imagick::queryFormats
Imagick::raiseImage
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Imagick::queryFormats
Imagick::raiseImage
The Imagick class


Creates a simulated 3d button-like effect

Imagick::radialBlurImage
Imagick::randomThresholdImage
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Imagick::radialBlurImage
Imagick::randomThresholdImage
The Imagick class


Creates a high-contrast, two-color image

Imagick::raiseImage
Imagick::readImage
The Imagick class
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. This method is available if Imagick has been compiled against ImageMagick version 6.2.9 or newer.

Список параметров

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. Defaults to Imagick::CHANNEL_ALL. Refer to this list of channel constants.

Возвращаемые значения

Returns TRUE on success.

Imagick::raiseImage
Imagick::readImage
The Imagick class


Reads image from filename

Imagick::randomThresholdImage
Imagick::readImageBlob
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Imagick::randomThresholdImage
Imagick::readImageBlob
The Imagick class


Reads image from a binary string

Imagick::readImage
Imagick::readImageFile
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::readImage
Imagick::readImageFile
The Imagick class


Reads image from open filehandle

Imagick::readImageBlob
Imagick::reduceNoiseImage
The Imagick class
PHP Manual

Imagick::readImageFile

(PECL imagick 2.0.0)

Imagick::readImageFile — Reads image from open filehandle

Описание

bool Imagick::readImageFile ( resource $filehandle [, string $fileName ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Reads image from open filehandle

Список параметров

filehandle

fileName

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::readImageBlob
Imagick::reduceNoiseImage
The Imagick class


Smooths the contours of an image

Imagick::readImageFile
Imagick::removeImage
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::readImageFile
Imagick::removeImage
The Imagick class


Removes an image from the image list

Imagick::reduceNoiseImage
Imagick::removeImageProfile
The Imagick class
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.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::reduceNoiseImage
Imagick::removeImageProfile
The Imagick class


Removes the named image profile and returns it

Imagick::removeImage
Imagick::render
The Imagick class
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. Throw an ImagickException on error.

Imagick::removeImage
Imagick::render
The Imagick class


Renders all preceding drawing commands

Imagick::removeImageProfile
Imagick::resampleImage
The Imagick class
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.

Возвращаемые значения

Returns TRUE on success.

Imagick::removeImageProfile
Imagick::resampleImage
The Imagick class


Resample image to desired resolution

Imagick::render
Imagick::resizeImage
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Imagick::render
Imagick::resizeImage
The Imagick class


Scales an image

Imagick::resampleImage
Imagick::rollImage
The Imagick class
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 $fit= false ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Scales an image to the desired dimensions with a filter.

Список параметров

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.

fit

Optional fit parameter. Defaults to false.

Возвращаемые значения

Returns TRUE on success.

Список изменений

Версия | Описание
2.1.0 | Added optional fit parameter. This method now supports proportional scaling. Pass zero as either parameter for proportional scaling.

Imagick::resampleImage
Imagick::rollImage
The Imagick class


Offsets an image

Imagick::resizeImage
Imagick::rotateImage
The Imagick class
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.

Возвращаемые значения

Returns TRUE on success.

Imagick::resizeImage
Imagick::rotateImage
The Imagick class


Rotates an image

Imagick::rollImage
Imagick::roundCorners
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Список изменений

Версия | Описание
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
The Imagick class


Rounds image corners

Imagick::rotateImage
Imagick::sampleImage
The Imagick class
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. This method is available if Imagick has been compiled against ImageMagick version 6.2.9 or newer.

Список параметров

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");
?>

Возвращаемые значения

Returns TRUE on success.

Imagick::rotateImage
Imagick::sampleImage
The Imagick class


Scales an image with pixel sampling

Imagick::roundCorners
Imagick::scaleImage
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Imagick::roundCorners
Imagick::scaleImage
The Imagick class


Scales the size of an image

Imagick::sampleImage
Imagick::separateImageChannel
The Imagick class
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 $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.

Список параметров

cols

rows

fit

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Список изменений

Версия | Описание
2.1.0 | Added optional fit parameter. This method now supports proportional scaling. Pass zero as either parameter for proportional scaling.

Imagick::sampleImage
Imagick::separateImageChannel
The Imagick class


Separates a channel from the image

Imagick::scaleImage
Imagick::sepiaToneImage
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::scaleImage
Imagick::sepiaToneImage
The Imagick class


Sepia tones an image

Imagick::separateImageChannel
Imagick::setBackgroundColor
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::separateImageChannel
Imagick::setBackgroundColor
The Imagick class


Sets the object's default background color

Imagick::sepiaToneImage
Imagick::setCompression
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Список изменений

Версия | Описание
2.1.0 | Now allows a string representing the color as a parameter. Previous versions allow only an ImagickPixel object.

Imagick::sepiaToneImage
Imagick::setCompression
The Imagick class


Sets the object's default compression type

Imagick::setBackgroundColor
Imagick::setCompressionQuality
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Imagick::setBackgroundColor
Imagick::setCompressionQuality
The Imagick class


Sets the object's default compression quality

Imagick::setCompression
Imagick::setFilename
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Imagick::setCompression
Imagick::setFilename
The Imagick class


Sets the filename before you read or write the image

Imagick::setCompressionQuality
Imagick::setFirstIterator
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Imagick::setCompressionQuality
Imagick::setFirstIterator
The Imagick class


Sets the Imagick iterator to the first image

Imagick::setFilename
Imagick::setFont
The Imagick class
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.

Возвращаемые значения

Returns TRUE on success.

Imagick::setFilename
Imagick::setFont
The Imagick class


Sets the image bias for any method that convolves an image

Imagick::setFirstIterator
Imagick::setFormat
The Imagick class
PHP Manual

Imagick::setFont

(PECL imagick 2.1.0)

Imagick::setFont — Sets the image bias for any method that convolves an image

Описание

bool Imagick::setFont ( string $font )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Внимание

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

Sets object's font property. This method can be used for example to set font for caption: pseudo-format. This method is available if Imagick is compile against at least version 6.3.6-4 of ImageMagick.

Список параметров

font

Font name or a filename

Возвращаемые значения

Returns TRUE on success.

Примеры

Пример #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
The Imagick class


Sets the format of the Imagick object

Imagick::setFont
Imagick::setImage
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Imagick::setFont
Imagick::setImage
The Imagick class


Replaces image in the object

Imagick::setFormat
Imagick::setImageBackgroundColor
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Примеры

Пример #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::setFormat
Imagick::setImageBackgroundColor
The Imagick class


Sets the image background color

Imagick::setImage
Imagick::setImageBias
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Список изменений

Версия | Описание
2.1.0 | Now allows a string representing the color as the parameter. Previous versions allow only an ImagickPixel object.

Imagick::setImage
Imagick::setImageBias
The Imagick class


Sets the image bias for any method that convolves an image

Imagick::setImageBackgroundColor
Imagick::setImageBluePrimary
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::setImageBackgroundColor
Imagick::setImageBluePrimary
The Imagick class


Sets the image chromaticity blue primary point

Imagick::setImageBias
Imagick::setImageBorderColor
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::setImageBias
Imagick::setImageBorderColor
The Imagick class


Sets the image border color

Imagick::setImageBluePrimary
Imagick::setImageChannelDepth
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Список изменений

Версия | Описание
2.1.0 | Now allows a string representing the color as a parameter. Previous versions allow only an ImagickPixel object.

Imagick::setImageBluePrimary
Imagick::setImageChannelDepth
The Imagick class


Sets the depth of a particular image channel

Imagick::setImageBorderColor
Imagick::setImageColormapColor
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::setImageBorderColor
Imagick::setImageColormapColor
The Imagick class


Sets the color of the specified colormap index

Imagick::setImageChannelDepth
Imagick::setImageColorspace
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::setImageChannelDepth
Imagick::setImageColorspace
The Imagick class


Sets the image colorspace

Imagick::setImageColormapColor
Imagick::setImageCompose
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::setImageColormapColor
Imagick::setImageCompose
The Imagick class


Sets the image composite operator

Imagick::setImageColorspace
Imagick::setImageCompression
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::setImageColorspace
Imagick::setImageCompression
The Imagick class


Sets the image compression

Imagick::setImageCompose
Imagick::setImageCompressionQuality
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::setImageCompose
Imagick::setImageCompressionQuality
The Imagick class


Sets the image compression quality

Imagick::setImageCompression
Imagick::setImageDelay
The Imagick class
PHP Manual

Imagick::setImageCompressionQuality

()

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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::setImageCompression
Imagick::setImageDelay
The Imagick class


Sets the image delay

Imagick::setImageCompressionQuality
Imagick::setImageDepth
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::setImageCompressionQuality
Imagick::setImageDepth
The Imagick class


Sets the image depth

Imagick::setImageDelay
Imagick::setImageDispose
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::setImageDelay
Imagick::setImageDispose
The Imagick class


Sets the image disposal method

Imagick::setImageDepth
Imagick::setImageExtent
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::setImageDepth
Imagick::setImageExtent
The Imagick class


Sets the image size

Imagick::setImageDispose
Imagick::setImageFilename
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::setImageDispose
Imagick::setImageFilename
The Imagick class


Sets the filename of a particular image

Imagick::setImageExtent
Imagick::setImageFormat
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::setImageExtent
Imagick::setImageFormat
The Imagick class


Sets the format of a particular image

Imagick::setImageFilename
Imagick::setImageGamma
The Imagick class
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.

Возвращаемые значения

Returns TRUE on success.

Imagick::setImageFilename
Imagick::setImageGamma
The Imagick class


Sets the image gamma

Imagick::setImageFormat
Imagick::setImageGreenPrimary
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::setImageFormat
Imagick::setImageGreenPrimary
The Imagick class


Sets the image chromaticity green primary point

Imagick::setImageGamma
Imagick::setImageIndex
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::setImageGamma
Imagick::setImageIndex
The Imagick class


Set the iterator position

Imagick::setImageGreenPrimary
Imagick::setImageInterlaceScheme
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::setImageGreenPrimary
Imagick::setImageInterlaceScheme
The Imagick class


Sets the image compression

Imagick::setImageIndex
Imagick::setImageInterpolateMethod
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::setImageIndex
Imagick::setImageInterpolateMethod
The Imagick class


Sets the image interpolate pixel method

Imagick::setImageInterlaceScheme
Imagick::setImageIterations
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Imagick::setImageInterlaceScheme
Imagick::setImageIterations
The Imagick class


Sets the image iterations

Imagick::setImageInterpolateMethod
Imagick::setImageMatte
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::setImageInterpolateMethod
Imagick::setImageMatte
The Imagick class


Sets the image matte channel

Imagick::setImageIterations
Imagick::setImageMatteColor
The Imagick class
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. This method is available if Imagick has been compiled against ImageMagick version 6.2.9 or newer.

Список параметров

matte

True activates the matte channel and false disables it.

Возвращаемые значения

Returns TRUE on success.

Imagick::setImageIterations
Imagick::setImageMatteColor
The Imagick class


Sets the image matte color

Imagick::setImageMatte
Imagick::setImageOpacity
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Список изменений

Версия | Описание
2.1.0 | Now allows a string representing the color as the parameter. Previous versions allow only an ImagickPixel object.

Imagick::setImageMatte
Imagick::setImageOpacity
The Imagick class


Sets the image opacity level

Imagick::setImageMatteColor
Imagick::setImageOrientation
The Imagick class
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. This method is available if Imagick has been compiled against ImageMagick version 6.3.1 or newer.

Список параметров

opacity

The level of transparency: 1.0 is fully opaque and 0.0 is fully transparent.

Возвращаемые значения

Returns TRUE on success.

Примеры

Пример #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
The Imagick class


Sets the image orientation.

Imagick::setImageOpacity
Imagick::setImagePage
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Imagick::setImageOpacity
Imagick::setImagePage
The Imagick class


Sets the page geometry of the image

Imagick::setImageOrientation
Imagick::setImageProfile
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::setImageOrientation
Imagick::setImageProfile
The Imagick class


Adds a named profile to the Imagick object

Imagick::setImagePage
Imagick::setImageProperty
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::setImagePage
Imagick::setImageProperty
The Imagick class


Sets an image property

Imagick::setImageProfile
Imagick::setImageRedPrimary
The Imagick class
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. This method is available if Imagick has been compiled against ImageMagick version 6.3.2 or newer.

Список параметров

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

Возвращаемые значения

Returns TRUE on success.

Imagick::setImageProfile
Imagick::setImageRedPrimary
The Imagick class


Sets the image chromaticity red primary point

Imagick::setImageProperty
Imagick::setImageRenderingIntent
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::setImageProperty
Imagick::setImageRenderingIntent
The Imagick class


Sets the image rendering intent

Imagick::setImageRedPrimary
Imagick::setImageResolution
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::setImageRedPrimary
Imagick::setImageResolution
The Imagick class


Sets the image resolution

Imagick::setImageRenderingIntent
Imagick::setImageScene
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::setImageRenderingIntent
Imagick::setImageScene
The Imagick class


Sets the image scene

Imagick::setImageResolution
Imagick::setImageTicksPerSecond
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::setImageResolution
Imagick::setImageTicksPerSecond
The Imagick class


Sets the image ticks-per-second

Imagick::setImageScene
Imagick::setImageType
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Imagick::setImageScene
Imagick::setImageType
The Imagick class


Sets the image type

Imagick::setImageTicksPerSecond
Imagick::setImageUnits
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Imagick::setImageTicksPerSecond
Imagick::setImageUnits
The Imagick class


Sets the image units of resolution

Imagick::setImageType
Imagick::setImageVirtualPixelMethod
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Imagick::setImageType
Imagick::setImageVirtualPixelMethod
The Imagick class


Sets the image virtual pixel method

Imagick::setImageUnits
Imagick::setImageWhitePoint
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Imagick::setImageUnits
Imagick::setImageWhitePoint
The Imagick class


Sets the image chromaticity white point

Imagick::setImageVirtualPixelMethod
Imagick::setInterlaceScheme
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::setImageVirtualPixelMethod
Imagick::setInterlaceScheme
The Imagick class


Sets the image compression

Imagick::setImageWhitePoint
Imagick::setIteratorIndex
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Imagick::setImageWhitePoint
Imagick::setIteratorIndex
The Imagick class


Set the iterator position

Imagick::setInterlaceScheme
Imagick::setLastIterator
The Imagick class
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. This method is available if Imagick has been compiled against ImageMagick version 6.2.9 or newer.

Список параметров

index

The position to set the iterator to

Возвращаемые значения

Returns TRUE on success.

Примеры

Пример #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
The Imagick class


Sets the Imagick iterator to the last image

Imagick::setIteratorIndex
Imagick::setOption
The Imagick class
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.

Возвращаемые значения

Returns TRUE on success.

Imagick::setIteratorIndex
Imagick::setOption
The Imagick class


Set an option

Imagick::setLastIterator
Imagick::setPage
The Imagick class
PHP Manual

Imagick::setOption

(PECL imagick 2.0.0)

Imagick::setOption — Set an option

Описание

bool Imagick::setOption ( string $key , string $value )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Associates one or options with the wand.

Список параметров

key

value

Возвращаемые значения

Returns TRUE on success.

Imagick::setLastIterator
Imagick::setPage
The Imagick class


Sets the page geometry of the Imagick object

Imagick::setOption
Imagick::setResolution
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Imagick::setOption
Imagick::setResolution
The Imagick class


Sets the image resolution

Imagick::setPage
Imagick::setResourceLimit
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Imagick::setPage
Imagick::setResourceLimit
The Imagick class


Sets the limit for a particular resource in megabytes

Imagick::setResolution
Imagick::setSamplingFactors
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Imagick::setResolution
Imagick::setSamplingFactors
The Imagick class


Sets the image sampling factors

Imagick::setResourceLimit
Imagick::setSize
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Imagick::setResourceLimit
Imagick::setSize
The Imagick class


Sets the size of the Imagick object

Imagick::setSamplingFactors
Imagick::setSizeOffset
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Imagick::setSamplingFactors
Imagick::setSizeOffset
The Imagick class


Sets the size and offset of the Imagick object

Imagick::setSize
Imagick::setType
The Imagick class
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. This method is available if Imagick has been compiled against ImageMagick version 6.2.9 or newer.

Список параметров

columns

The width in pixels.

rows

The height in pixels.

offset

The image offset.

Возвращаемые значения

Returns TRUE on success.

Imagick::setSize
Imagick::setType
The Imagick class


Sets the image type attribute

Imagick::setSizeOffset
Imagick::shadeImage
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Imagick::setSizeOffset
Imagick::shadeImage
The Imagick class


Creates a 3D effect

Imagick::setType
Imagick::shadowImage
The Imagick class
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. This method is available if Imagick has been compiled against ImageMagick version 6.2.9 or newer.

Список параметров

gray

A value other than zero shades the intensity of each pixel.

azimuth

Defines the light source direction.

elevation

Defines the light source direction.

Возвращаемые значения

Returns TRUE on success.

Imagick::setType
Imagick::shadowImage
The Imagick class


Simulates an image shadow

Imagick::shadeImage
Imagick::sharpenImage
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Imagick::shadeImage
Imagick::sharpenImage
The Imagick class


Sharpens an image

Imagick::shadowImage
Imagick::shaveImage
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Imagick::shadowImage
Imagick::shaveImage
The Imagick class


Shaves pixels from the image edges

Imagick::sharpenImage
Imagick::shearImage
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Imagick::sharpenImage
Imagick::shearImage
The Imagick class


Creating a parallelogram

Imagick::shaveImage
Imagick::sigmoidalContrastImage
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Список изменений

Версия | Описание
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
The Imagick class


Adjusts the contrast of an image

Imagick::shearImage
Imagick::sketchImage
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::shearImage
Imagick::sketchImage
The Imagick class


Simulates a pencil sketch

Imagick::sigmoidalContrastImage
Imagick::solarizeImage
The Imagick class
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. This method is available if Imagick has been compiled against ImageMagick version 6.2.9 or newer.

Список параметров

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.

Возвращаемые значения

Returns TRUE on success.

Imagick::sigmoidalContrastImage
Imagick::solarizeImage
The Imagick class


Applies a solarizing effect to the image

Imagick::sketchImage
Imagick::spliceImage
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Imagick::sketchImage
Imagick::spliceImage
The Imagick class


Splices a solid color into the image

Imagick::solarizeImage
Imagick::spreadImage
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Imagick::solarizeImage
Imagick::spreadImage
The Imagick class


Randomly displaces each pixel in a block

Imagick::spliceImage
Imagick::steganoImage
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::spliceImage
Imagick::steganoImage
The Imagick class


Hides a digital watermark within the image

Imagick::spreadImage
Imagick::stereoImage
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Imagick::spreadImage
Imagick::stereoImage
The Imagick class


Composites two images

Imagick::steganoImage
Imagick::stripImage
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::steganoImage
Imagick::stripImage
The Imagick class


Strips an image of all profiles and comments

Imagick::stereoImage
Imagick::swirlImage
The Imagick class
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.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::stereoImage
Imagick::swirlImage
The Imagick class


Swirls the pixels about the center of the image

Imagick::stripImage
Imagick::textureImage
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::stripImage
Imagick::textureImage
The Imagick class


Repeatedly tiles the texture image

Imagick::swirlImage
Imagick::thresholdImage
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::swirlImage
Imagick::thresholdImage
The Imagick class


Changes the value of individual pixels based on a threshold

Imagick::textureImage
Imagick::thumbnailImage
The Imagick class
PHP Manual

Imagick::thresholdImage

(PECL imagick 2.0.0)

Imagick::thresholdImage — Changes the value of individual pixels based on a threshold

Описание

bool Imagick::thresholdImage ( float $threshold [, 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.

Список параметров

threshold

channel

Возвращаемые значения

Returns TRUE on success.

Imagick::textureImage
Imagick::thumbnailImage
The Imagick class


Changes the size of an image

Imagick::thresholdImage
Imagick::tintImage
The Imagick class
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 $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.

Список параметров

columns

Image width

rows

Image height

fit

Whether to force maximum values

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::thresholdImage
Imagick::tintImage
The Imagick class


Applies a color vector to each pixel in the image

Imagick::thumbnailImage
Imagick::transformImage
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Список изменений

Версия | Описание
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
The Imagick class


Convenience method for setting crop size and the image geometry

Imagick::tintImage
Imagick::transposeImage
The Imagick class
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. This method is available if Imagick has been compiled against ImageMagick version 6.2.9 or newer.

Список параметров

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.

Возвращаемые значения

Returns TRUE on success.

Примеры

Пример #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() - Extracts a region of the image
  • Imagick::resizeImage() - Scales an image
  • Imagick::thumbnailImage() - Changes the size of an image

Imagick::tintImage
Imagick::transposeImage
The Imagick class


Creates a vertical mirror image

Imagick::transformImage
Imagick::transverseImage
The Imagick class
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. This method is available if Imagick has been compiled against ImageMagick version 6.2.9 or newer.

Возвращаемые значения

Returns TRUE on success.

Смотрите также

  • Imagick::transverseImage() - Creates a horizontal mirror image

Imagick::transformImage
Imagick::transverseImage
The Imagick class


Creates a horizontal mirror image

Imagick::transposeImage
Imagick::trimImage
The Imagick class
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. This method is available if Imagick has been compiled against ImageMagick version 6.2.9 or newer.

Возвращаемые значения

Returns TRUE on success.

Смотрите также

  • Imagick::transposeImage() - Creates a vertical mirror image

Imagick::transposeImage
Imagick::trimImage
The Imagick class


Remove edges from the image

Imagick::transverseImage
Imagick::uniqueImageColors
The Imagick class
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. This method is available if Imagick has been compiled against ImageMagick version 6.2.9 or newer.

Список параметров

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.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Примеры

Пример #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
The Imagick class


Discards all but one of any pixel color

Imagick::trimImage
Imagick::unsharpMaskImage
The Imagick class
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. This method is available if Imagick has been compiled against ImageMagick version 6.2.9 or newer.

Возвращаемые значения

Returns TRUE on success.

Imagick::trimImage
Imagick::unsharpMaskImage
The Imagick class


Sharpens an image

Imagick::uniqueImageColors
Imagick::valid
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Imagick::uniqueImageColors
Imagick::valid
The Imagick class


Checks if the current item is valid

Imagick::unsharpMaskImage
Imagick::vignetteImage
The Imagick class
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.

Возвращаемые значения

Returns TRUE on success.

Imagick::unsharpMaskImage
Imagick::vignetteImage
The Imagick class


Adds vignette filter to the image

Imagick::valid
Imagick::waveImage
The Imagick class
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. This method is available if Imagick has been compiled against ImageMagick version 6.2.9 or newer.

Список параметров

blackPoint

The black point.

whitePoint

The white point

x

X offset of the ellipse

y

Y offset of the ellipse

Возвращаемые значения

Returns TRUE on success.

Смотрите также

  • Imagick::waveImage() - Applies wave filter to the image
  • Imagick::swirlImage() - Swirls the pixels about the center of the image

Imagick::valid
Imagick::waveImage
The Imagick class


Applies wave filter to the image

Imagick::vignetteImage
Imagick::whiteThresholdImage
The Imagick class
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. This method is available if Imagick has been compiled against ImageMagick version 6.2.9 or newer.

Список параметров

amplitude

The amplitude of the wave.

length

The length of the wave.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Смотрите также

  • 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() - Adds random noise to the image
  • Imagick::swirlImage() - Swirls the pixels about the center of the image

Imagick::vignetteImage
Imagick::whiteThresholdImage
The Imagick class


Force all pixels above the threshold into white

Imagick::waveImage
Imagick::writeImage
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Список изменений

Версия | Описание
2.1.0 | Now allows a string representing the color as a parameter. Previous versions allow only an ImagickPixel object.

Imagick::waveImage
Imagick::writeImage
The Imagick class


Writes an image to the specified filename

Imagick::whiteThresholdImage
Imagick::writeImages
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Imagick::whiteThresholdImage
Imagick::writeImages
The Imagick class


Writes an image or image sequence

Imagick::writeImage
The ImagickDraw class
The Imagick class
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

Возвращаемые значения

Returns TRUE on success.

Imagick::writeImage
The ImagickDraw class
The Imagick class


The ImagickDraw class

Class synopsis

ImagickDraw
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 ( ImagickPixel $stroke_color )
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::writeImages
ImagickDraw::affine
ImageMagick


Adjusts the current affine transformation matrix

The ImagickDraw class
ImagickDraw::annotation
The ImagickDraw class
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

Возвращаемые значения

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

The ImagickDraw class
ImagickDraw::annotation
The ImagickDraw class


Draws text on the image

ImagickDraw::affine
ImagickDraw::arc
The ImagickDraw class
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
The ImagickDraw class


Draws an arc

ImagickDraw::annotation
ImagickDraw::bezier
The ImagickDraw class
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
The ImagickDraw class


Draws a bezier curve

ImagickDraw::arc
ImagickDraw::circle
The ImagickDraw class
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
The ImagickDraw class


Draws a circle

ImagickDraw::bezier
ImagickDraw::clear
The ImagickDraw class
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
The ImagickDraw class


Clears the ImagickDraw

ImagickDraw::circle
ImagickDraw::clone
The ImagickDraw class
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
The ImagickDraw class


Makes an exact copy of the specified ImagickDraw object

ImagickDraw::clear
ImagickDraw::color
The ImagickDraw class
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
The ImagickDraw class


Draws color on image

ImagickDraw::clone
ImagickDraw::comment
The ImagickDraw class
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
The ImagickDraw class


Adds a comment

ImagickDraw::color
ImagickDraw::composite
The ImagickDraw class
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
The ImagickDraw class


Composites an image onto the current image

ImagickDraw::comment
ImagickDraw::__construct
The ImagickDraw class
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

Возвращаемые значения

Returns TRUE on success.

ImagickDraw::comment
ImagickDraw::__construct
The ImagickDraw class


The ImagickDraw constructor

ImagickDraw::composite
ImagickDraw::destroy
The ImagickDraw class
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
The ImagickDraw class


Frees all associated resources

ImagickDraw::__construct
ImagickDraw::ellipse
The ImagickDraw class
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
The ImagickDraw class


Draws an ellipse on the image

ImagickDraw::destroy
ImagickDraw::getClipPath
The ImagickDraw class
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
The ImagickDraw class


Obtains the current clipping path ID

ImagickDraw::ellipse
ImagickDraw::getClipRule
The ImagickDraw class
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
The ImagickDraw class


Returns the current polygon fill rule

ImagickDraw::getClipPath
ImagickDraw::getClipUnits
The ImagickDraw class
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
The ImagickDraw class


Returns the interpretation of clip path units

ImagickDraw::getClipRule
ImagickDraw::getFillColor
The ImagickDraw class
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
The ImagickDraw class


Returns the fill color

ImagickDraw::getClipUnits
ImagickDraw::getFillOpacity
The ImagickDraw class
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
The ImagickDraw class


Returns the opacity used when drawing

ImagickDraw::getFillColor
ImagickDraw::getFillRule
The ImagickDraw class
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.

Возвращаемые значения

What the function returns, first on success, then on failure. See also the &return.success; entity

ImagickDraw::getFillColor
ImagickDraw::getFillRule
The ImagickDraw class


Returns the fill rule

ImagickDraw::getFillOpacity
ImagickDraw::getFont
The ImagickDraw class
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
The ImagickDraw class


Returns the font

ImagickDraw::getFillRule
ImagickDraw::getFontFamily
The ImagickDraw class
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
The ImagickDraw class


Returns the font family

ImagickDraw::getFont
ImagickDraw::getFontSize
The ImagickDraw class
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
The ImagickDraw class


Returns the font pointsize

ImagickDraw::getFontFamily
ImagickDraw::getFontStyle
The ImagickDraw class
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
The ImagickDraw class


Returns the font style

ImagickDraw::getFontSize
ImagickDraw::getFontWeight
The ImagickDraw class
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
The ImagickDraw class


Returns the font weight

ImagickDraw::getFontStyle
ImagickDraw::getGravity
The ImagickDraw class
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
The ImagickDraw class


Returns the text placement gravity

ImagickDraw::getFontWeight
ImagickDraw::getStrokeAntialias
The ImagickDraw class
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
The ImagickDraw class


Returns the current stroke antialias setting

ImagickDraw::getGravity
ImagickDraw::getStrokeColor
The ImagickDraw class
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
The ImagickDraw class


Returns the color used for stroking object outlines

ImagickDraw::getStrokeAntialias
ImagickDraw::getStrokeDashArray
The ImagickDraw class
PHP Manual

ImagickDraw::getStrokeColor

(PECL imagick 2.0.0)

ImagickDraw::getStrokeColor — Returns the color used for stroking object outlines

Описание

ImagickPixel ImagickDraw::getStrokeColor ( ImagickPixel $stroke_color )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the color used for stroking object outlines.

Список параметров

stroke_color

Возвращаемые значения

Returns an ImagickPixel object which describes the color.

ImagickDraw::getStrokeAntialias
ImagickDraw::getStrokeDashArray
The ImagickDraw class


Returns an array representing the pattern of dashes and gaps used to stroke paths

ImagickDraw::getStrokeColor
ImagickDraw::getStrokeDashOffset
The ImagickDraw class
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
The ImagickDraw class


Returns the offset into the dash pattern to start the dash

ImagickDraw::getStrokeDashArray
ImagickDraw::getStrokeLineCap
The ImagickDraw class
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
The ImagickDraw class


Returns the shape to be used at the end of open subpaths when they are stroked

ImagickDraw::getStrokeDashOffset
ImagickDraw::getStrokeLineJoin
The ImagickDraw class
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
The ImagickDraw class


Returns the shape to be used at the corners of paths when they are stroked

ImagickDraw::getStrokeLineCap
ImagickDraw::getStrokeMiterLimit
The ImagickDraw class
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
The ImagickDraw class


Returns the stroke miter limit

ImagickDraw::getStrokeLineJoin
ImagickDraw::getStrokeOpacity
The ImagickDraw class
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
The ImagickDraw class


Returns the opacity of stroked object outlines

ImagickDraw::getStrokeMiterLimit
ImagickDraw::getStrokeWidth
The ImagickDraw class
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
The ImagickDraw class


Returns the width of the stroke used to draw object outlines

ImagickDraw::getStrokeOpacity
ImagickDraw::getTextAlignment
The ImagickDraw class
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
The ImagickDraw class


Returns the text alignment

ImagickDraw::getStrokeWidth
ImagickDraw::getTextAntialias
The ImagickDraw class
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
The ImagickDraw class


Returns the current text antialias setting

ImagickDraw::getTextAlignment
ImagickDraw::getTextDecoration
The ImagickDraw class
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
The ImagickDraw class


Returns the text decoration

ImagickDraw::getTextAntialias
ImagickDraw::getTextEncoding
The ImagickDraw class
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
The ImagickDraw class


Returns the code set used for text annotations

ImagickDraw::getTextDecoration
ImagickDraw::getTextUnderColor
The ImagickDraw class
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
The ImagickDraw class


Returns the text under color

ImagickDraw::getTextEncoding
ImagickDraw::getVectorGraphics
The ImagickDraw class
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
The ImagickDraw class


Returns a string containing vector graphics

ImagickDraw::getTextUnderColor
ImagickDraw::line
The ImagickDraw class
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
The ImagickDraw class


Draws a line

ImagickDraw::getVectorGraphics
ImagickDraw::matte
The ImagickDraw class
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
The ImagickDraw class


Paints on the image's opacity channel

ImagickDraw::line
ImagickDraw::pathClose
The ImagickDraw class
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

Возвращаемые значения

What the function returns, first on success, then on failure. See also the &return.success; entity

ImagickDraw::line
ImagickDraw::pathClose
The ImagickDraw class


Adds a path element to the current path

ImagickDraw::matte
ImagickDraw::pathCurveToAbsolute
The ImagickDraw class
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
The ImagickDraw class


Draws a cubic Bezier curve

ImagickDraw::pathClose
ImagickDraw::pathCurveToQuadraticBezierAbsolute
The ImagickDraw class
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
The ImagickDraw class


Draws a quadratic Bezier curve

ImagickDraw::pathCurveToAbsolute
ImagickDraw::pathCurveToQuadraticBezierRelative
The ImagickDraw class
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
The ImagickDraw class


Draws a quadratic Bezier curve

ImagickDraw::pathCurveToQuadraticBezierAbsolute
ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute
The ImagickDraw class
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
The ImagickDraw class


Draws a quadratic Bezier curve

ImagickDraw::pathCurveToQuadraticBezierRelative
ImagickDraw::pathCurveToQuadraticBezierSmoothRelative
The ImagickDraw class
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 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::pathCurveToQuadraticBezierRelative
ImagickDraw::pathCurveToQuadraticBezierSmoothRelative
The ImagickDraw class


Draws a quadratic Bezier curve

ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute
ImagickDraw::pathCurveToRelative
The ImagickDraw class
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
The ImagickDraw class


Draws a cubic Bezier curve

ImagickDraw::pathCurveToQuadraticBezierSmoothRelative
ImagickDraw::pathCurveToSmoothAbsolute
The ImagickDraw class
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
The ImagickDraw class


Draws a cubic Bezier curve

ImagickDraw::pathCurveToRelative
ImagickDraw::pathCurveToSmoothRelative
The ImagickDraw class
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
The ImagickDraw class


Draws a cubic Bezier curve

ImagickDraw::pathCurveToSmoothAbsolute
ImagickDraw::pathEllipticArcAbsolute
The ImagickDraw class
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
The ImagickDraw class


Draws an elliptical arc

ImagickDraw::pathCurveToSmoothRelative
ImagickDraw::pathEllipticArcRelative
The ImagickDraw class
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
The ImagickDraw class


Draws an elliptical arc

ImagickDraw::pathEllipticArcAbsolute
ImagickDraw::pathFinish
The ImagickDraw class
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
The ImagickDraw class


Terminates the current path

ImagickDraw::pathEllipticArcRelative
ImagickDraw::pathLineToAbsolute
The ImagickDraw class
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
The ImagickDraw class


Draws a line path

ImagickDraw::pathFinish
ImagickDraw::pathLineToHorizontalAbsolute
The ImagickDraw class
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
The ImagickDraw class


Draws a horizontal line path

ImagickDraw::pathLineToAbsolute
ImagickDraw::pathLineToHorizontalRelative
The ImagickDraw class
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
The ImagickDraw class


Draws a horizontal line

ImagickDraw::pathLineToHorizontalAbsolute
ImagickDraw::pathLineToRelative
The ImagickDraw class
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
The ImagickDraw class


Draws a line path

ImagickDraw::pathLineToHorizontalRelative
ImagickDraw::pathLineToVerticalAbsolute
The ImagickDraw class
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
The ImagickDraw class


Draws a vertical line

ImagickDraw::pathLineToRelative
ImagickDraw::pathLineToVerticalRelative
The ImagickDraw class
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
The ImagickDraw class


Draws a vertical line path

ImagickDraw::pathLineToVerticalAbsolute
ImagickDraw::pathMoveToAbsolute
The ImagickDraw class
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
The ImagickDraw class


Starts a new sub-path

ImagickDraw::pathLineToVerticalRelative
ImagickDraw::pathMoveToRelative
The ImagickDraw class
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
The ImagickDraw class


Starts a new sub-path

ImagickDraw::pathMoveToAbsolute
ImagickDraw::pathStart
The ImagickDraw class
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
The ImagickDraw class


Declares the start of a path drawing list

ImagickDraw::pathMoveToRelative
ImagickDraw::point
The ImagickDraw class
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
The ImagickDraw class


Draws a point

ImagickDraw::pathStart
ImagickDraw::polygon
The ImagickDraw class
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
The ImagickDraw class


Draws a polygon

ImagickDraw::point
ImagickDraw::polyline
The ImagickDraw class
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 ) );

Возвращаемые значения

Returns TRUE on success.

ImagickDraw::point
ImagickDraw::polyline
The ImagickDraw class


Draws a polyline

ImagickDraw::polygon
ImagickDraw::pop
The ImagickDraw class
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 ) )

Возвращаемые значения

Returns TRUE on success.

ImagickDraw::polygon
ImagickDraw::pop
The ImagickDraw class


Destroys the current ImagickDraw in the stack, and returns to the previously pushed ImagickDraw

ImagickDraw::polyline
ImagickDraw::popClipPath
The ImagickDraw class
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
The ImagickDraw class


Terminates a clip path definition

ImagickDraw::pop
ImagickDraw::popDefs
The ImagickDraw class
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
The ImagickDraw class


Terminates a definition list

ImagickDraw::popClipPath
ImagickDraw::popPattern
The ImagickDraw class
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
The ImagickDraw class


Terminates a pattern definition

ImagickDraw::popDefs
ImagickDraw::push
The ImagickDraw class
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
The ImagickDraw class


Clones the current ImagickDraw and pushes it to the stack

ImagickDraw::popPattern
ImagickDraw::pushClipPath
The ImagickDraw class
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
The ImagickDraw class


Starts a clip path definition

ImagickDraw::push
ImagickDraw::pushDefs
The ImagickDraw class
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
The ImagickDraw class


Indicates that following commands create named elements for early processing

ImagickDraw::pushClipPath
ImagickDraw::pushPattern
The ImagickDraw class
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
The ImagickDraw class


Indicates that subsequent commands up to a ImagickDraw::opPattern() command comprise the definition of a named pattern

ImagickDraw::pushDefs
ImagickDraw::rectangle
The ImagickDraw class
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
The ImagickDraw class


Draws a rectangle

ImagickDraw::pushPattern
ImagickDraw::render
The ImagickDraw class
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
The ImagickDraw class


Renders all preceding drawing commands onto the image

ImagickDraw::rectangle
ImagickDraw::rotate
The ImagickDraw class
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
The ImagickDraw class


Applies the specified rotation to the current coordinate space

ImagickDraw::render
ImagickDraw::roundRectangle
The ImagickDraw class
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
The ImagickDraw class


Draws a rounded rectangle

ImagickDraw::rotate
ImagickDraw::scale
The ImagickDraw class
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
The ImagickDraw class


Adjusts the scaling factor

ImagickDraw::roundRectangle
ImagickDraw::setClipPath
The ImagickDraw class
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
The ImagickDraw class


Associates a named clipping path with the image

ImagickDraw::scale
ImagickDraw::setClipRule
The ImagickDraw class
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
The ImagickDraw class


Set the polygon fill rule to be used by the clipping path

ImagickDraw::setClipPath
ImagickDraw::setClipUnits
The ImagickDraw class
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
The ImagickDraw class


Sets the interpretation of clip path units

ImagickDraw::setClipRule
ImagickDraw::setFillAlpha
The ImagickDraw class
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
The ImagickDraw class


Sets the opacity to use when drawing using the fill color or fill texture

ImagickDraw::setClipUnits
ImagickDraw::setFillColor
The ImagickDraw class
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
The ImagickDraw class


Sets the fill color to be used for drawing filled objects

ImagickDraw::setFillAlpha
ImagickDraw::setFillOpacity
The ImagickDraw class
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
The ImagickDraw class


Sets the opacity to use when drawing using the fill color or fill texture

ImagickDraw::setFillColor
ImagickDraw::setFillPatternURL
The ImagickDraw class
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
The ImagickDraw class


Sets the URL to use as a fill pattern for filling objects

ImagickDraw::setFillOpacity
ImagickDraw::setFillRule
The ImagickDraw class
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
The ImagickDraw class


Sets the fill rule to use while drawing polygons

ImagickDraw::setFillPatternURL
ImagickDraw::setFont
The ImagickDraw class
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
The ImagickDraw class


Sets the fully-specified font to use when annotating with text

ImagickDraw::setFillRule
ImagickDraw::setFontFamily
The ImagickDraw class
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

Возвращаемые значения

Returns TRUE on success.

ImagickDraw::setFillRule
ImagickDraw::setFontFamily
The ImagickDraw class


Sets the font family to use when annotating with text

ImagickDraw::setFont
ImagickDraw::setFontSize
The ImagickDraw class
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

Возвращаемые значения

Returns TRUE on success.

ImagickDraw::setFont
ImagickDraw::setFontSize
The ImagickDraw class


Sets the font pointsize to use when annotating with text

ImagickDraw::setFontFamily
ImagickDraw::setFontStretch
The ImagickDraw class
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
The ImagickDraw class


Sets the font stretch to use when annotating with text

ImagickDraw::setFontSize
ImagickDraw::setFontStyle
The ImagickDraw class
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
The ImagickDraw class


Sets the font style to use when annotating with text

ImagickDraw::setFontStretch
ImagickDraw::setFontWeight
The ImagickDraw class
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
The ImagickDraw class


Sets the font weight

ImagickDraw::setFontStyle
ImagickDraw::setGravity
The ImagickDraw class
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
The ImagickDraw class


Sets the text placement gravity

ImagickDraw::setFontWeight
ImagickDraw::setStrokeAlpha
The ImagickDraw class
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
The ImagickDraw class


Specifies the opacity of stroked object outlines

ImagickDraw::setGravity
ImagickDraw::setStrokeAntialias
The ImagickDraw class
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
The ImagickDraw class


Controls whether stroked outlines are antialiased

ImagickDraw::setStrokeAlpha
ImagickDraw::setStrokeColor
The ImagickDraw class
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
The ImagickDraw class


Sets the color used for stroking object outlines

ImagickDraw::setStrokeAntialias
ImagickDraw::setStrokeDashArray
The ImagickDraw class
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
The ImagickDraw class


Specifies the pattern of dashes and gaps used to stroke paths

ImagickDraw::setStrokeColor
ImagickDraw::setStrokeDashOffset
The ImagickDraw class
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

Возвращаемые значения

Returns TRUE on success.

ImagickDraw::setStrokeColor
ImagickDraw::setStrokeDashOffset
The ImagickDraw class


Specifies the offset into the dash pattern to start the dash

ImagickDraw::setStrokeDashArray
ImagickDraw::setStrokeLineCap
The ImagickDraw class
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
The ImagickDraw class


Specifies the shape to be used at the end of open subpaths when they are stroked

ImagickDraw::setStrokeDashOffset
ImagickDraw::setStrokeLineJoin
The ImagickDraw class
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
The ImagickDraw class


Specifies the shape to be used at the corners of paths when they are stroked

ImagickDraw::setStrokeLineCap
ImagickDraw::setStrokeMiterLimit
The ImagickDraw class
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
The ImagickDraw class


Specifies the miter limit

ImagickDraw::setStrokeLineJoin
ImagickDraw::setStrokeOpacity
The ImagickDraw class
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
The ImagickDraw class


Specifies the opacity of stroked object outlines

ImagickDraw::setStrokeMiterLimit
ImagickDraw::setStrokePatternURL
The ImagickDraw class
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
The ImagickDraw class


Sets the pattern used for stroking object outlines

ImagickDraw::setStrokeOpacity
ImagickDraw::setStrokeWidth
The ImagickDraw class
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
The ImagickDraw class


Sets the width of the stroke used to draw object outlines

ImagickDraw::setStrokePatternURL
ImagickDraw::setTextAlignment
The ImagickDraw class
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
The ImagickDraw class


Specifies a text alignment

ImagickDraw::setStrokeWidth
ImagickDraw::setTextAntialias
The ImagickDraw class
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
The ImagickDraw class


Controls whether text is antialiased

ImagickDraw::setTextAlignment
ImagickDraw::setTextDecoration
The ImagickDraw class
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
The ImagickDraw class


Specifies a decoration

ImagickDraw::setTextAntialias
ImagickDraw::setTextEncoding
The ImagickDraw class
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
The ImagickDraw class


Specifies specifies the text code set

ImagickDraw::setTextDecoration
ImagickDraw::setTextUnderColor
The ImagickDraw class
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
The ImagickDraw class


Specifies the color of a background rectangle

ImagickDraw::setTextEncoding
ImagickDraw::setVectorGraphics
The ImagickDraw class
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
The ImagickDraw class


Sets the vector graphics

ImagickDraw::setTextUnderColor
ImagickDraw::setViewbox
The ImagickDraw class
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
The ImagickDraw class


Sets the overall canvas size

ImagickDraw::setVectorGraphics
ImagickDraw::skewX
The ImagickDraw class
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
The ImagickDraw class


Skews the current coordinate system in the horizontal direction

ImagickDraw::setViewbox
ImagickDraw::skewY
The ImagickDraw class
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
The ImagickDraw class


Skews the current coordinate system in the vertical direction

ImagickDraw::skewX
ImagickDraw::translate
The ImagickDraw class
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
The ImagickDraw class


Applies a translation to the current coordinate system

ImagickDraw::skewY
The ImagickPixel class
The ImagickDraw class
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
The ImagickPixel class
The ImagickDraw class


The ImagickPixel class

Class synopsis

ImagickPixel
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 — Clears resources associated with this object
  • ImagickPixel::__construct — The ImagickPixel constructor
  • ImagickPixel::destroy — Deallocates resources associated with this object
  • ImagickPixel::getColor — Returns the color
  • ImagickPixel::getColorAsString — Returns the color as a string
  • ImagickPixel::getColorCount — Returns the color count associated with this color
  • ImagickPixel::getColorValue — Gets the normalized value of the provided color channel
  • ImagickPixel::getHSL — Returns the normalized HSL color of the ImagickPixel object
  • ImagickPixel::isSimilar — Check the distance between this color and another
  • ImagickPixel::setColor — Sets the color
  • ImagickPixel::setColorValue — Sets the normalized value of one of the channels
  • ImagickPixel::setHSL — Sets the normalized HSL color
ImagickDraw::translate
ImagickPixel::clear
ImageMagick


Clears resources associated with this object

The ImagickPixel class
ImagickPixel::__construct
The ImagickPixel class
PHP Manual

ImagickPixel::clear

(PECL imagick 2.0.0)

ImagickPixel::clear — Clears resources associated with this object

Описание

bool ImagickPixel::clear ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Clears the ImagickPixel object, leaving it in a fresh state. This also unsets any color associated with the object.

Возвращаемые значения

Returns TRUE on success.

The ImagickPixel class
ImagickPixel::__construct
The ImagickPixel class


The ImagickPixel constructor

ImagickPixel::clear
ImagickPixel::destroy
The ImagickPixel class
PHP Manual

ImagickPixel::__construct

(PECL imagick 2.0.0)

ImagickPixel::__construct — The ImagickPixel constructor

Описание

ImagickPixel ImagickPixel::__construct ([ string $color ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Constructs an ImagickPixel 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.

Возвращаемые значения

Returns an ImagickPixel object on success, throwing ImagickPixelException on failure.

ImagickPixel::clear
ImagickPixel::destroy
The ImagickPixel class


Deallocates resources associated with this object

ImagickPixel::__construct
ImagickPixel::getColor
The ImagickPixel class
PHP Manual

ImagickPixel::destroy

(PECL imagick 2.0.0)

ImagickPixel::destroy — Deallocates resources associated with this object

Описание

bool ImagickPixel::destroy ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Deallocates any resources used by the ImagickPixel object, and unsets any associated color. The object should not be used after the destroy function has been called.

Возвращаемые значения

Returns TRUE on success.

ImagickPixel::__construct
ImagickPixel::getColor
The ImagickPixel class


Returns the color

ImagickPixel::destroy
ImagickPixel::getColorAsString
The ImagickPixel class
PHP Manual

ImagickPixel::getColor

(PECL imagick 2.0.0)

ImagickPixel::getColor — Returns the color

Описание

array ImagickPixel::getColor ([ bool $normalized= false ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the color described by the ImagickPixel object, as an array. If the color has an opacity channel set, this is provided as a fourth value in the list.

Список параметров

normalized

Normalize the color values

Возвращаемые значения

An array of channel values, each normalized if TRUE is given as param. Throws ImagickPixelException on error.

ImagickPixel::destroy
ImagickPixel::getColorAsString
The ImagickPixel class


Returns the color as a string

ImagickPixel::getColor
ImagickPixel::getColorCount
The ImagickPixel class
PHP Manual

ImagickPixel::getColorAsString

(PECL imagick 2.1.0)

ImagickPixel::getColorAsString — Returns the color as a string

Описание

string ImagickPixel::getColorAsString ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the color of the ImagickPixel object as a string.

Список параметров

Возвращаемые значения

Returns the color of the ImagickPixel object as a string.

ImagickPixel::getColor
ImagickPixel::getColorCount
The ImagickPixel class


Returns the color count associated with this color

ImagickPixel::getColorAsString
ImagickPixel::getColorValue
The ImagickPixel class
PHP Manual

ImagickPixel::getColorCount

(PECL imagick 2.0.0)

ImagickPixel::getColorCount — Returns the color count associated with this color

Описание

int ImagickPixel::getColorCount ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the color count associated with this color.

Возвращаемые значения

Returns the color count as an integer on success, throws ImagickPixelException on failure.

ImagickPixel::getColorAsString
ImagickPixel::getColorValue
The ImagickPixel class


Gets the normalized value of the provided color channel

ImagickPixel::getColorCount
ImagickPixel::getHSL
The ImagickPixel class
PHP Manual

ImagickPixel::getColorValue

(PECL imagick 2.0.0)

ImagickPixel::getColorValue — Gets the normalized value of the provided color channel

Описание

float ImagickPixel::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 Imagick channel constants.

Возвращаемые значения

The value of the channel, as a normalized floating-point number, throwing ImagickPixelException on error.

ImagickPixel::getColorCount
ImagickPixel::getHSL
The ImagickPixel class


Returns the normalized HSL color of the ImagickPixel object

ImagickPixel::getColorValue
ImagickPixel::isSimilar
The ImagickPixel class
PHP Manual

ImagickPixel::getHSL

(PECL imagick 2.0.0)

ImagickPixel::getHSL — Returns the normalized HSL color of the ImagickPixel object

Описание

array ImagickPixel::getHSL ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the normalized HSL color described by the ImagickPixel object, with each of the three values as floating point numbers between 0.0 and 1.0.

Возвращаемые значения

Returns the HSL value in an array with the keys "hue", "saturation", and "luminosity". Throws ImagickPixelException on failure.

ImagickPixel::getColorValue
ImagickPixel::isSimilar
The ImagickPixel class


Check the distance between this color and another

ImagickPixel::getHSL
ImagickPixel::setColor
The ImagickPixel class
PHP Manual

ImagickPixel::isSimilar

(PECL imagick 2.0.0)

ImagickPixel::isSimilar — Check the distance between this color and another

Описание

bool ImagickPixel::isSimilar ( ImagickPixel $color , float $fuzz )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Checks the distance between the color described by this ImagickPixel object and that of the provided object, by plotting their RGB values on the color cube. If the distance between the two points is less than the fuzz value given, the colors are similar.

Список параметров

color

The ImagickPixel object to compare this object against.

fuzz

The maximum distance within which to consider these colors as similar. The theoretical maximum for this value is the square root of three (1.732).

Возвращаемые значения

Returns TRUE on success.

ImagickPixel::getHSL
ImagickPixel::setColor
The ImagickPixel class


Sets the color

ImagickPixel::isSimilar
ImagickPixel::setColorValue
The ImagickPixel class
PHP Manual

ImagickPixel::setColor

(PECL imagick 2.0.0)

ImagickPixel::setColor — Sets the color

Описание

bool ImagickPixel::setColor ( string $color )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the color described by the ImagickPixel 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 ImagickPixel object.

Возвращаемые значения

Returns TRUE if the specified color was set, FALSE otherwise.

ImagickPixel::isSimilar
ImagickPixel::setColorValue
The ImagickPixel class


Sets the normalized value of one of the channels

ImagickPixel::setColor
ImagickPixel::setHSL
The ImagickPixel class
PHP Manual

ImagickPixel::setColorValue

(PECL imagick 2.0.0)

ImagickPixel::setColorValue — Sets the normalized value of one of the channels

Описание

bool ImagickPixel::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 an ImagickPixel object.

Список параметров

color

One of the Imagick channel color constants.

value

The value to set this channel to, ranging from 0 to 1.

Возвращаемые значения

Returns TRUE on success.

ImagickPixel::setColor
ImagickPixel::setHSL
The ImagickPixel class


Sets the normalized HSL color

ImagickPixel::setColorValue
The ImagickPixelIterator class
The ImagickPixel class
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.

Возвращаемые значения

Returns TRUE on success.

ImagickPixel::setColorValue
The ImagickPixelIterator class
The ImagickPixel class


The ImagickPixelIterator class

Class synopsis

ImagickPixelIterator
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 — Clear resources associated with a PixelIterator
  • ImagickPixelIterator::__construct — The ImagickPixelIterator constructor
  • ImagickPixelIterator::destroy — Deallocates resources associated with a PixelIterator
  • ImagickPixelIterator::getCurrentIteratorRow — Returns the current row of ImagickPixel objects
  • ImagickPixelIterator::getIteratorRow — Returns the current pixel iterator row
  • ImagickPixelIterator::getNextIteratorRow — Returns the next row of the pixel iterator
  • ImagickPixelIterator::getPreviousIteratorRow — Returns the previous row
  • ImagickPixelIterator::newPixelIterator — Returns a new pixel iterator
  • ImagickPixelIterator::newPixelRegionIterator — Returns a new pixel iterator
  • ImagickPixelIterator::resetIterator — Resets the pixel iterator
  • ImagickPixelIterator::setIteratorFirstRow — Sets the pixel iterator to the first pixel row
  • ImagickPixelIterator::setIteratorLastRow — Sets the pixel iterator to the last pixel row
  • ImagickPixelIterator::setIteratorRow — Set the pixel iterator row
  • ImagickPixelIterator::syncIterator — Syncs the pixel iterator
ImagickPixel::setHSL
ImagickPixelIterator::clear
ImageMagick


Clear resources associated with a PixelIterator

The ImagickPixelIterator class
ImagickPixelIterator::__construct
The ImagickPixelIterator class
PHP Manual

ImagickPixelIterator::clear

(PECL imagick 2.0.0)

ImagickPixelIterator::clear — Clear resources associated with a PixelIterator

Описание

bool ImagickPixelIterator::clear ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Clear resources associated with a PixelIterator.

Возвращаемые значения

Returns TRUE on success.

The ImagickPixelIterator class
ImagickPixelIterator::__construct
The ImagickPixelIterator class


The ImagickPixelIterator constructor

ImagickPixelIterator::clear
ImagickPixelIterator::destroy
The ImagickPixelIterator class
PHP Manual

ImagickPixelIterator::__construct

(PECL imagick 2.0.0)

ImagickPixelIterator::__construct — The ImagickPixelIterator constructor

Описание

ImagickPixelIterator ImagickPixelIterator::__construct ( Imagick $wand )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

The ImagickPixelIterator constructor

Возвращаемые значения

Returns TRUE on success.

ImagickPixelIterator::clear
ImagickPixelIterator::destroy
The ImagickPixelIterator class


Deallocates resources associated with a PixelIterator

ImagickPixelIterator::__construct
ImagickPixelIterator::getCurrentIteratorRow
The ImagickPixelIterator class
PHP Manual

ImagickPixelIterator::destroy

(PECL imagick 2.0.0)

ImagickPixelIterator::destroy — Deallocates resources associated with a PixelIterator

Описание

bool ImagickPixelIterator::destroy ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Deallocates resources associated with a PixelIterator.

Возвращаемые значения

Returns TRUE on success.

ImagickPixelIterator::__construct
ImagickPixelIterator::getCurrentIteratorRow
The ImagickPixelIterator class


Returns the current row of ImagickPixel objects

ImagickPixelIterator::destroy
ImagickPixelIterator::getIteratorRow
The ImagickPixelIterator class
PHP Manual

ImagickPixelIterator::getCurrentIteratorRow

(PECL imagick 2.0.0)

ImagickPixelIterator::getCurrentIteratorRow — Returns the current row of ImagickPixel objects

Описание

array ImagickPixelIterator::getCurrentIteratorRow ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the current row as an array of ImagickPixel objects from the pixel iterator.

Возвращаемые значения

Returns a row as an array of ImagickPixel objects that can themselves be iterated.

ImagickPixelIterator::destroy
ImagickPixelIterator::getIteratorRow
The ImagickPixelIterator class


Returns the current pixel iterator row

ImagickPixelIterator::getCurrentIteratorRow
ImagickPixelIterator::getNextIteratorRow
The ImagickPixelIterator class
PHP Manual

ImagickPixelIterator::getIteratorRow

(PECL imagick 2.0.0)

ImagickPixelIterator::getIteratorRow — Returns the current pixel iterator row

Описание

int ImagickPixelIterator::getIteratorRow ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the current pixel iterator row.

Возвращаемые значения

Returns the integer offset of the row, throwing ImagickPixelIteratorException on error.

ImagickPixelIterator::getCurrentIteratorRow
ImagickPixelIterator::getNextIteratorRow
The ImagickPixelIterator class


Returns the next row of the pixel iterator

ImagickPixelIterator::getIteratorRow
ImagickPixelIterator::getPreviousIteratorRow
The ImagickPixelIterator class
PHP Manual

ImagickPixelIterator::getNextIteratorRow

(PECL imagick 2.0.0)

ImagickPixelIterator::getNextIteratorRow — Returns the next row of the pixel iterator

Описание

array ImagickPixelIterator::getNextIteratorRow ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the next row as an array of pixel wands from the pixel iterator.

Возвращаемые значения

Returns ana row as an array of ImagickPixel objects, throwing ImagickPixelIteratorException on error.

ImagickPixelIterator::getIteratorRow
ImagickPixelIterator::getPreviousIteratorRow
The ImagickPixelIterator class


Returns the previous row

ImagickPixelIterator::getNextIteratorRow
ImagickPixelIterator::newPixelIterator
The ImagickPixelIterator class
PHP Manual

ImagickPixelIterator::getPreviousIteratorRow

(PECL imagick 2.0.0)

ImagickPixelIterator::getPreviousIteratorRow — Returns the previous row

Описание

array ImagickPixelIterator::getPreviousIteratorRow ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the previous row as an array of pixel wands from the pixel iterator.

Возвращаемые значения

Returns the previous row as an array of ImagickPixelWand objects from the ImagickPixelIterator, throwing ImagickPixelIteratorException on error.

ImagickPixelIterator::getNextIteratorRow
ImagickPixelIterator::newPixelIterator
The ImagickPixelIterator class


Returns a new pixel iterator

ImagickPixelIterator::getPreviousIteratorRow
ImagickPixelIterator::newPixelRegionIterator
The ImagickPixelIterator class
PHP Manual

ImagickPixelIterator::newPixelIterator

(PECL imagick 2.0.0)

ImagickPixelIterator::newPixelIterator — Returns a new pixel iterator

Описание

bool ImagickPixelIterator::newPixelIterator ( Imagick $wand )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns a new pixel iterator.

Возвращаемые значения

Returns TRUE on success. Throwing ImagickPixelIteratorException.

ImagickPixelIterator::getPreviousIteratorRow
ImagickPixelIterator::newPixelRegionIterator
The ImagickPixelIterator class


Returns a new pixel iterator

ImagickPixelIterator::newPixelIterator
ImagickPixelIterator::resetIterator
The ImagickPixelIterator class
PHP Manual

ImagickPixelIterator::newPixelRegionIterator

(PECL imagick 2.0.0)

ImagickPixelIterator::newPixelRegionIterator — Returns a new pixel iterator

Описание

bool ImagickPixelIterator::newPixelRegionIterator ( Imagick $wand , int $x , int $y , int $columns , int $rows )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns a new pixel iterator.

Список параметров

wand

x

y

columns

rows

Возвращаемые значения

Returns a new ImagickPixelIterator on success; on failure, throws ImagickPixelIteratorException.

ImagickPixelIterator::newPixelIterator
ImagickPixelIterator::resetIterator
The ImagickPixelIterator class


Resets the pixel iterator

ImagickPixelIterator::newPixelRegionIterator
ImagickPixelIterator::setIteratorFirstRow
The ImagickPixelIterator class
PHP Manual

ImagickPixelIterator::resetIterator

(PECL imagick 2.0.0)

ImagickPixelIterator::resetIterator — Resets the pixel iterator

Описание

bool ImagickPixelIterator::resetIterator ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Resets the pixel iterator. Use it in conjunction with ImagickPixelIterator::getNextIteratorRow() to iterate over all the pixels in a pixel container.

Возвращаемые значения

Returns TRUE on success.

ImagickPixelIterator::newPixelRegionIterator
ImagickPixelIterator::setIteratorFirstRow
The ImagickPixelIterator class


Sets the pixel iterator to the first pixel row

ImagickPixelIterator::resetIterator
ImagickPixelIterator::setIteratorLastRow
The ImagickPixelIterator class
PHP Manual

ImagickPixelIterator::setIteratorFirstRow

(PECL imagick 2.0.0)

ImagickPixelIterator::setIteratorFirstRow — Sets the pixel iterator to the first pixel row

Описание

bool ImagickPixelIterator::setIteratorFirstRow ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the pixel iterator to the first pixel row.

Возвращаемые значения

Returns TRUE on success.

ImagickPixelIterator::resetIterator
ImagickPixelIterator::setIteratorLastRow
The ImagickPixelIterator class


Sets the pixel iterator to the last pixel row

ImagickPixelIterator::setIteratorFirstRow
ImagickPixelIterator::setIteratorRow
The ImagickPixelIterator class
PHP Manual

ImagickPixelIterator::setIteratorLastRow

(PECL imagick 2.0.0)

ImagickPixelIterator::setIteratorLastRow — Sets the pixel iterator to the last pixel row

Описание

bool ImagickPixelIterator::setIteratorLastRow ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Sets the pixel iterator to the last pixel row.

Возвращаемые значения

Returns TRUE on success.

ImagickPixelIterator::setIteratorFirstRow
ImagickPixelIterator::setIteratorRow
The ImagickPixelIterator class


Set the pixel iterator row

ImagickPixelIterator::setIteratorLastRow
ImagickPixelIterator::syncIterator
The ImagickPixelIterator class
PHP Manual

ImagickPixelIterator::setIteratorRow

(PECL imagick 2.0.0)

ImagickPixelIterator::setIteratorRow — Set the pixel iterator row

Описание

bool ImagickPixelIterator::setIteratorRow ( int $row )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Set the pixel iterator row.

Список параметров

row

Возвращаемые значения

Returns TRUE on success.

ImagickPixelIterator::setIteratorLastRow
ImagickPixelIterator::syncIterator
The ImagickPixelIterator class


Syncs the pixel iterator

ImagickPixelIterator::setIteratorRow
Mail Related Extensions
The ImagickPixelIterator class
PHP Manual

ImagickPixelIterator::syncIterator

(PECL imagick 2.0.0)

ImagickPixelIterator::syncIterator — Syncs the pixel iterator

Описание

bool ImagickPixelIterator::syncIterator ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Syncs the pixel iterator.

Возвращаемые значения

Returns TRUE on success.

ImagickPixelIterator::setIteratorRow
Mail Related Extensions
The ImagickPixelIterator class


Mail Related Extensions

  • Cyrus — Cyrus IMAP administration
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Cyrus Функции
  • IMAP — IMAP, POP3 and NNTP
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • IMAP Функции
  • Mail
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Mail Функции
  • Mailparse
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Mailparse Функции
  • vpopmail
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • vpopmail Функции
ImagickPixelIterator::syncIterator
Cyrus
Справочник функций


Cyrus IMAP administration

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Cyrus Функции
    • cyrus_authenticate — Authenticate against a Cyrus IMAP server
    • cyrus_bind — Bind callbacks to a Cyrus IMAP connection
    • cyrus_close — Close connection to a Cyrus IMAP server
    • cyrus_connect — Connect to a Cyrus IMAP server
    • cyrus_query — Send a query to a Cyrus IMAP server
    • cyrus_unbind — Unbind ...
Mail Related Extensions
Введение
Mail Related Extensions


Введение

Замечание: Для Windows-платформ это расширение недоступно.

Замечание: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 5.0.0.

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


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Cyrus


Установка

To enable Cyrus IMAP support and to use these functions you have to compile PHP with the --with-cyrus option.

Внимание

Расширение IMAP не может использоваться вместе с расширениями перекодировки или YAZ. Это связано с тем фактом, что они оба используют один и тот же внутренний символ.

Требования
Настройка во время выполнения
Установка и настройка


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

This extension defines a Cyrus IMAP connection identifier returned by cyrus_connect().

Настройка во время выполнения
Предопределенные константы
Установка и настройка


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

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

CYRUS_CONN_NONSYNCLITERAL (integer)
CYRUS_CONN_INITIALRESPONSE (integer)
CYRUS_CALLBACK_NUMBERED (integer)
CYRUS_CALLBACK_NOLITERAL (integer)
Типы ресурсов
Cyrus Функции
Cyrus


Cyrus Функции

Содержание

  • cyrus_authenticate — Authenticate against a Cyrus IMAP server
  • cyrus_bind — Bind callbacks to a Cyrus IMAP connection
  • cyrus_close — Close connection to a Cyrus IMAP server
  • cyrus_connect — Connect to a Cyrus IMAP server
  • cyrus_query — Send a query to a Cyrus IMAP server
  • cyrus_unbind — Unbind ...
Предопределенные константы
cyrus_authenticate
Cyrus


Authenticate against a Cyrus IMAP server

Cyrus Функции
cyrus_bind
Cyrus Функции
PHP Manual

cyrus_authenticate

(PHP 4 >= 4.1.0, PECL cyrus 1.0)

cyrus_authenticate — Authenticate against a Cyrus IMAP server

Описание

void cyrus_authenticate ( resource $connection [, string $mechlist [, string $service [, string $user [, int $minssf [, int $maxssf [, string $authname [, string $password ]]]]]]] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

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

Cyrus Функции
cyrus_bind
Cyrus Функции


Bind callbacks to a Cyrus IMAP connection

cyrus_authenticate
cyrus_close
Cyrus Функции
PHP Manual

cyrus_bind

(PHP 4 >= 4.1.0, PECL cyrus 1.0)

cyrus_bind — Bind callbacks to a Cyrus IMAP connection

Описание

bool cyrus_bind ( resource $connection , array $callbacks )

Binds callbacks to a Cyrus IMAP connection.

Список параметров

connection

The connection handle.

callbacks

An array of callbacks.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

cyrus_authenticate
cyrus_close
Cyrus Функции


Close connection to a Cyrus IMAP server

cyrus_bind
cyrus_connect
Cyrus Функции
PHP Manual

cyrus_close

(PHP 4 >= 4.1.0, PECL cyrus 1.0)

cyrus_close — Close connection to a Cyrus IMAP server

Описание

bool cyrus_close ( resource $connection )

Closes the connection to a Cyrus IMAP server.

Список параметров

connection

The connection handle.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

cyrus_bind
cyrus_connect
Cyrus Функции


Connect to a Cyrus IMAP server

cyrus_close
cyrus_query
Cyrus Функции
PHP Manual

cyrus_connect

(PHP 4 >= 4.1.0, PECL cyrus 1.0)

cyrus_connect — Connect to a Cyrus IMAP server

Описание

resource cyrus_connect ([ string $host [, string $port [, int $flags ]]] )

Connects to a Cyrus IMAP server.

Список параметров

host

The Cyrus IMAP host name.

port

The port number.

flags

Возвращаемые значения

Returns a connection handler on success, or FALSE on failure.

cyrus_close
cyrus_query
Cyrus Функции


Send a query to a Cyrus IMAP server

cyrus_connect
cyrus_unbind
Cyrus Функции
PHP Manual

cyrus_query

(PHP 4 >= 4.1.0, PECL cyrus 1.0)

cyrus_query — Send a query to a Cyrus IMAP server

Описание

array cyrus_query ( resource $connection , string $query )

Sends a query to a Cyrus IMAP server.

Список параметров

connection

The connection handle.

query

The query string.

Возвращаемые значения

Returns an associative array with the following keys: text, msgno, and keyword.

cyrus_connect
cyrus_unbind
Cyrus Функции


Unbind ...

cyrus_query
IMAP
Cyrus Функции
PHP Manual

cyrus_unbind

(PHP 4 >= 4.1.0, PECL cyrus 1.0)

cyrus_unbind — Unbind ...

Описание

bool cyrus_unbind ( resource $connection , string $trigger_name )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

connection

The connection handle.

trigger_name

The trigger name.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

cyrus_query
IMAP
Cyrus Функции


IMAP, POP3 and NNTP

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • IMAP Функции
    • imap_8bit — Convert an 8bit string to a quoted-printable string
    • imap_alerts — Returns all IMAP alert messages that have occurred
    • imap_append — Append a string message to a specified mailbox
    • 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_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_fetchstructure — Read the structure of a particular message
    • 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_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_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
Введение
Mail Related Extensions


Введение

These functions enable you to operate with the IMAP protocol, as well as the NNTP, POP3 and local mailbox access methods.

Be warned however, that some of IMAP functions will not work correctly with the POP protocol.

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


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
IMAP


Требования

This extension requires the c-client library to be installed. Grab the latest version from » ftp://ftp.cac.washington.edu/imap/ and compile it.

It's important that you do not copy the IMAP source files directly into the system include directory as there may be conflicts. Instead, create a new directory inside the system include directory, such as /usr/local/imap-2000b/ (location and name depend on your setup and IMAP version), and inside this new directory create additional directories named lib/ and include/. From the c-client directory from your IMAP source tree, copy all the *.h files into include/ and all the *.c files into lib/. Additionally when you compiled IMAP, a file named c-client.a was created. Also put this in the lib/ directory but rename it as libc-client.a.

Замечание: To build the c-client library with SSL or/and Kerberos support read the docs supplied with the package.

Замечание: In Mandrake Linux, the IMAP library (libc-client.a) is compiled without Kerberos support. A separate version with SSL (client-PHP4.a) is installed. The library must be recompiled in order to add Kerberos support.

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


Установка

To get these functions to work, you have to compile PHP with --with-imap[=DIR], where DIR is the c-client install prefix. From our example above, you would use --with-imap=/usr/local/imap-2000b. This location depends on where you created this directory according to the description above. Windows users may include the php_imap.dll DLL in php.ini. IMAP is not supported on systems earlier that Windows 2000. This is because it uses encryption functions in order to enable SSL connections to the mail servers.

Замечание: Depending how the c-client was configured, you might also need to add --with-imap-ssl=/path/to/openssl/ and/or --with-kerberos=/path/to/kerberos into the PHP configure line.

Внимание

Расширение IMAP не может использоваться вместе с расширениями перекодировки или YAZ. Это связано с тем фактом, что они оба используют один и тот же внутренний символ.

Требования
Настройка во время выполнения
Установка и настройка


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

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если 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 Функции
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 — Convert an 8bit string to a quoted-printable string
  • imap_alerts — Returns all IMAP alert messages that have occurred
  • imap_append — Append a string message to a specified mailbox
  • 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_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_fetchstructure — Read the structure of a particular message
  • 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_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_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


Convert an 8bit string to a quoted-printable string

IMAP Функции
imap_alerts
IMAP Функции
PHP Manual

imap_8bit

(PHP 4, PHP 5)

imap_8bit — Convert an 8bit string to a quoted-printable string

Описание

string imap_8bit ( string $string )

Convert an 8bit string to a quoted-printable string (according to » RFC2045, section 6.7).

Список параметров

string

The 8bit string to convert

Возвращаемые значения

Returns a quoted-printable string.

Смотрите также

  • 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 Функции


Append a string message to a specified mailbox

imap_alerts
imap_base64
IMAP Функции
PHP Manual

imap_append

(PHP 4, PHP 5)

imap_append — Append a string message to a specified mailbox

Описание

bool imap_append ( resource $imap_stream , string $mailbox , string $message [, string $options= NULL ] )

Appends a string message to the specified mailbox .

Список параметров

imap_stream

An IMAP stream returned by imap_open().

mailbox

The mailbox name, see imap_open() for more information

message

The message to be append, as a string

When talking to the Cyrus IMAP server, you must use "\r\n" as your end-of-line terminator instead of "\n" or the operation will fail

options

If provided, the options will also be written to the mailbox

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 imap_append() example

<?php
$stream = imap_open("{imap.example.org}INBOX.Drafts", "username", "password");

$check = imap_check($stream);
echo "Msg Count before append: ". $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"
                   . "this is a test message, please ignore\r\n"
                   );

$check = imap_check($stream);
echo "Msg Count after append : ". $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

An IMAP stream returned by 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

An IMAP stream returned by 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

An IMAP stream returned by 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

An IMAP stream returned by 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_createmailbox
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

An IMAP stream returned by 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_createmailbox
IMAP Функции


Create a new mailbox

imap_close
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

An IMAP stream returned by 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&ouml;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_close
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

An IMAP stream returned by 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

An IMAP stream returned by 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

An IMAP stream returned by 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

An IMAP stream returned by 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

An IMAP stream returned by 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_fetchstructure
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

An IMAP stream returned by 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_fetchstructure
IMAP Функции


Read the structure of a particular message

imap_fetchheader
imap_get_quota
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

An IMAP stream returned by 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
0 | text
1 | multipart
2 | message
3 | application
4 | audio
5 | image
6 | video
7 | other

Transfer encodings
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_fetchheader
imap_get_quota
IMAP Функции


Retrieve the quota level settings, and usage statics per mailbox

imap_fetchstructure
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

An IMAP stream returned by 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_fetchstructure
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

An IMAP stream returned by 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

An IMAP stream returned by 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

An IMAP stream returned by imap_open().

ref

ref should normally be just the server specification as described in imap_open()

pattern

Specifies where in the mailbox hierarchy to start searching.

There are two special characters you can pass as part of the pattern : '*' and '%'. '*' means to return all mailboxes. If you pass pattern as '*', you will get a list of the entire mailbox hierarchy. '%' means to return the current level only. '%' as the pattern parameter will return only the top level mailboxes; '~/mail/%' on UW_IMAPD will return every mailbox in the ~/mail directory, but none in subfolders of that directory.

Возвращаемые значения

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

An IMAP stream returned by imap_open().

ref

ref should normally be just the server specification as described in imap_open()

pattern

Specifies where in the mailbox hierarchy to start searching.

There are two special characters you can pass as part of the pattern : '*' and '%'. '*' means to return all mailboxes. If you pass pattern as '*', you will get a list of the entire mailbox hierarchy. '%' means to return the current level only. '%' as the pattern parameter will return only the top level mailboxes; '~/mail/%' on UW_IMAPD will return every mailbox in the ~/mail directory, but none in subfolders of that directory.

Возвращаемые значения

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

An IMAP stream returned by 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

An IMAP stream returned by 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

An IMAP stream returned by imap_open().

ref

ref should normally be just the server specification as described in imap_open().

pattern

Specifies where in the mailbox hierarchy to start searching.

There are two special characters you can pass as part of the pattern : '*' and '%'. '*' means to return all mailboxes. If you pass pattern as '*', you will get a list of the entire mailbox hierarchy. '%' means to return the current level only. '%' as the pattern parameter will return only the top level mailboxes; '~/mail/%' on UW_IMAPD will return every mailbox in the ~/mail directory, but none in subfolders of that directory.

Возвращаемые значения

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

An IMAP stream returned by imap_open().

ref

ref should normally be just the server specification as described in imap_open()

pattern

Specifies where in the mailbox hierarchy to start searching.

There are two special characters you can pass as part of the pattern : '*' and '%'. '*' means to return all mailboxes. If you pass pattern as '*', you will get a list of the entire mailbox hierarchy. '%' means to return the current level only. '%' as the pattern parameter will return only the top level mailboxes; '~/mail/%' on UW_IMAPD will return every mailbox in the ~/mail directory, but none in subfolders of that directory.

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

An IMAP stream returned by imap_open().

ref

ref should normally be just the server specification as described in imap_open()

pattern

Specifies where in the mailbox hierarchy to start searching.

There are two special characters you can pass as part of the pattern : '*' and '%'. '*' means to return all mailboxes. If you pass pattern as '*', you will get a list of the entire mailbox hierarchy. '%' means to return the current level only. '%' as the pattern parameter will return only the top level mailboxes; '~/mail/%' on UW_IMAPD will return every mailbox in the ~/mail directory, but none in subfolders of that directory.

Возвращаемые значения

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

body

An indexed array of bodies

A body is an associative array which can consist of the following keys: "type", "encoding", "subtype", "description" and "contents.data"

Возвращаемые значения

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

An IMAP stream returned by 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

An IMAP stream returned by 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_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() - Send 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

An IMAP stream returned by 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

An IMAP stream returned by 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

An IMAP stream returned by 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

An IMAP stream returned by 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 ]] )

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

Возвращаемые значения

Returns an IMAP stream on success or FALSE on error.

Список изменений

Версия | Описание
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

An IMAP stream returned by 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_renamemailbox
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() - Convert an 8bit string to a quoted-printable string

imap_ping
imap_renamemailbox
IMAP Функции


Rename an old mailbox to new mailbox

imap_qprint
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

An IMAP stream returned by 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_qprint
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

An IMAP stream returned by 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

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
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_scanmailbox
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

An IMAP stream returned by 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_scanmailbox
IMAP Функции


Псевдоним imap_listscan

imap_savebody
imap_search
IMAP Функции
PHP Manual

imap_scanmailbox

(PHP 4, PHP 5)

imap_scanmailbox — Псевдоним imap_listscan()

Описание

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

imap_savebody
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

An IMAP stream returned by 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.

  • 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

Смотрите также

  • 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

An IMAP stream returned by 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

An IMAP stream returned by 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

An IMAP stream returned by 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

An IMAP stream returned by 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

An IMAP stream returned by 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

An IMAP stream returned by 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

An IMAP stream returned by 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

An IMAP stream returned by 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

An IMAP stream returned by 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

An IMAP stream returned by 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

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Mail Функции
    • ezmlm_hash — Calculate the hash value needed by EZMLM
    • mail — Send mail
imap_utf8
Введение
Mail Related Extensions


Введение

The mail() function allows you to send mail.

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


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Mail


Требования

For the Mail functions to be available, PHP must have access to the sendmail binary on your system during compile time. If you use another mail program, such as qmail or postfix, be sure to use the appropriate sendmail wrappers that come with them. PHP will first look for sendmail in your PATH, and then in the following: /usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/lib. It's highly recommended to have sendmail available from your PATH. Also, the user that compiled PHP must have permission to access the sendmail binary.

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


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Mail configuration options
Name | Default | Changeable | Changelog
mail.add_x_header | "0" | PHP_INI_ALL | Available since PHP 5.3.0.
mail.log | "" | PHP_INI_ALL | Available since PHP 5.3.0.
SMTP | "localhost" | PHP_INI_ALL |
smtp_port | "25" | PHP_INI_ALL | Available since PHP 4.3.0.
sendmail_from | NULL | PHP_INI_ALL |
sendmail_path | "/usr/sbin/sendmail -t -i" | PHP_INI_SYSTEM |

Для подробного описания констант PHP_INI_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

mail.add_x_header bool

Add X-PHP-Originating-Script that will include UID of the script followed by the filename.

mail.log string

Log all mail() calls including the full path of the script, line number, To address and headers.

SMTP string

Used under Windows only: host name or IP address of the SMTP server PHP should use for mail sent with the mail() function.

smtp_port int

Used under Windows only: Number of the port to connect to the server specified with the SMTP setting when sending mail with mail(); defaults to 25. Only available since PHP 4.3.0.

sendmail_from string

Which "From:" mail address should be used in mail sent from PHP under Windows. This directive also sets the "Return-Path:" header.

sendmail_path string

Where the sendmail program can be found, usually /usr/sbin/sendmail or /usr/lib/sendmail. configure does an honest attempt of locating this one for you and set a default, but if it fails, you can set it here.

Systems not using sendmail should set this directive to the sendmail wrapper/replacement their mail system offers, if any. For example, » Qmail users can normally set it to /var/qmail/bin/sendmail or /var/qmail/bin/qmail-inject.

qmail-inject does not require any option to process mail correctly.

This directive works also under Windows. If set, smtp, smtp_port and sendmail_from are ignored and the specified command is executed.

Установка
Типы ресурсов
Установка и настройка


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

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

Типы ресурсов
Mail Функции
Mail


Mail Функции

Содержание

  • ezmlm_hash — Calculate the hash value needed by EZMLM
  • mail — Send mail
Предопределенные константы
ezmlm_hash
Mail


Calculate the hash value needed by EZMLM

Mail Функции
mail
Mail Функции
PHP Manual

ezmlm_hash

(PHP 4 >= 4.0.2, PHP 5)

ezmlm_hash — Calculate the hash value needed by EZMLM

Описание

int ezmlm_hash ( string $addr )

ezmlm_hash() calculates the hash value needed when keeping EZMLM mailing lists in a MySQL database.

Список параметров

addr

The email address that's being hashed.

Возвращаемые значения

The hash value of addr .

Примеры

Пример #1 Calculating the hash and subscribing a user

<?php

$user = "joecool@example.com";
$hash = ezmlm_hash($user);
$query = sprintf("INSERT INTO sample VALUES (%s, '%s')", $hash, $user);
$db->query($query); // using PHPLIB db interface

?>

Mail Функции
mail
Mail Функции


Send mail

ezmlm_hash
Mailparse
Mail Функции
PHP Manual

mail

(PHP 4, PHP 5)

mail — Send mail

Описание

bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )

Sends an email.

Список параметров

to

Receiver, or receivers of the mail.

The formatting of this string must comply with » RFC 2822. Some examples are:

  • user@example.com
  • user@example.com, anotheruser@example.com
  • User <user@example.com>
  • User <user@example.com>, Another User <anotheruser@example.com>

subject

Subject of the email to be sent.

Предостережение

Subject must satisfy » RFC 2047.

message

Message to be sent.

Each line should be separated with a LF (\n). Lines should not be larger than 70 characters.

Предостережение

(Windows only) When PHP is talking to a SMTP server directly, if a full stop is found on the start of a line, it is removed. To counter-act this, replace these occurrences with a double dot.

<?php
$text = str_replace("\n.", "\n..", $text);
?>

additional_headers (optional)

String to be inserted at the end of the email header.

This is typically used to add extra headers (From, Cc, and Bcc). Multiple extra headers should be separated with a CRLF (\r\n).

Замечание: When sending mail, the mail must contain a From header. This can be set with the additional_headers parameter, or a default can be set in php.ini.
Failing to do this will result in an error message similar to Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing. The From header sets also Return-Path under Windows.

Замечание: If messages are not received, try using a LF (\n) only. Some poor quality Unix mail transfer agents replace LF by CRLF automatically (which leads to doubling CR if CRLF is used). This should be a last resort, as it does not comply with » RFC 2822.

additional_parameters (optional)

The additional_parameters parameter can be used to pass additional flags as command line options to the program configured to be used when sending mail, as defined by the sendmail_path configuration setting. For example, this can be used to set the envelope sender address when using sendmail with the -f sendmail option.

The user that the webserver runs as should be added as a trusted user to the sendmail configuration to prevent a 'X-Warning' header from being added to the message when the envelope sender (-f) is set using this method. For sendmail users, this file is /etc/mail/trusted-users.

Возвращаемые значения

Returns TRUE if the mail was successfully accepted for delivery, FALSE otherwise.

It is important to note that just because the mail was accepted for delivery, it does NOT mean the mail will actually reach the intended destination.

Список изменений

Версия | Описание
4.3.0 (Windows only) | All custom headers (like From, Cc, Bcc and Date) are supported, and are not case-sensitive. (As custom headers are not interpreted by the MTA in the first place, but are parsed by PHP, PHP < 4.3 only supported the Cc header element and was case-sensitive).
4.2.3 | The additional_parameters parameter is disabled in safe_mode and the mail() function will expose a warning message and return FALSE when used.
4.0.5 | The additional_parameters parameter was added.

Примеры

Пример #1 Sending mail.

Using mail() to send a simple email:

<?php
// The message
$message = "Line 1\nLine 2\nLine 3";

// In case any of our lines are larger than 70 characters, we should use wordwrap()
$message = wordwrap($message, 70);

// Send
mail('caffeinated@example.com', 'My Subject', $message);
?>

Пример #2 Sending mail with extra headers.

The addition of basic headers, telling the MUA the From and Reply-To addresses:

<?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 Sending mail with an additional command line parameter.

The additional_parameters parameter can be used to pass an additional parameter to the program configured to use when sending mail using the sendmail_path.

<?php
mail('nobody@example.com', 'the subject', 'the message', null,
   '-fwebmaster@example.com');
?>

Пример #4 Sending HTML email

It is also possible to send HTML email with mail().

<?php
// multiple recipients
$to  = 'aidan@example.com' . ', '; // note the comma
$to .= 'wez@example.com';

// subject
$subject = 'Birthday Reminders for August';

// message
$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>
';

// To send HTML mail, the Content-type header must be set
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

// Additional headers
$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 it
mail($to, $subject, $message, $headers);
?>

Замечание: If intending to send HTML or otherwise Complex mails, it is recommended to use the PEAR package » PEAR::Mail_Mime.

Примечания

Замечание: The Windows implementation of mail() differs in many ways from the Unix implementation. First, it doesn't use a local binary for composing messages but only operates on direct sockets which means a MTA is needed listening on a network socket (which can either on the localhost or a remote machine).
Second, the custom headers like From:, Cc:, Bcc: and Date: are not interpreted by the MTA in the first place, but are parsed by PHP.
As such, the to parameter should not be an address in the form of "Something <someone@example.com>". The mail command may not parse this properly while talking with the MTA.

Замечание: Email with attachments and special types of content (e.g. HTML) can be sent using this function. This is accomplished via MIME-encoding - for more information, see this » Zend article or the » PEAR Mime Classes.

Замечание: It is worth noting that the mail() function is not suitable for larger volumes of email in a loop. This function opens and closes an SMTP socket for each email, which is not very efficient.
For the sending of large amounts of email, see the » PEAR::Mail, and » PEAR::Mail_Queue packages.

Замечание: The following RFCs may be useful: » RFC 1896, » RFC 2045, » RFC 2046, » RFC 2047, » RFC 2048, » RFC 2049, and » RFC 2822.

Смотрите также

  • imap_mail() - Send an email message
  • » PEAR::Mail
  • » PEAR::Mail_Mime

ezmlm_hash
Mailparse
Mail Функции


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
Введение
Mail Related Extensions


Введение

Mailparse is an extension for parsing and working with email messages. It can deal with » RFC 822 and » RFC 2045 (MIME) compliant messages.

Mailparse is stream based, which means that it does not keep in-memory copies of the files it processes - so it is very resource efficient when dealing with large messages.

Замечание: Mailparse requires the mbstring extension, and mbstring must be loaded before mailparse.

This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 4.2.0.

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


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Mailparse


Установка

Это расширение » PECL не поставляется вместе с PHP. Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, могут быть найдены здесь: » http://pecl.php.net/package/mailparse.

In order to use these functions you must compile PHP with mailparse support by using the --enable-mailparse configure option.

Windows users will enable php_mailparse.dll inside of php.ini in order to use these functions. Вы можете скачать DLL этого расширения PECL со страницы » PHP Downloads или » http://snaps.php.net/.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Mailparse configuration options
Name | Default | Changeable | Changelog
mailparse.def_charset | "us-ascii" | PHP_INI_ALL | Available since PHP 4.1.0. Removed in PHP 4.2.0.

Для подробного описания констант PHP_INI_*, обратитесь к документации функции ini_set().

Установка
Типы ресурсов
Установка и настройка


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

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

MAILPARSE_EXTRACT_OUTPUT (integer)
MAILPARSE_EXTRACT_STREAM (integer)
MAILPARSE_EXTRACT_RETURN (integer)
Типы ресурсов
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
Предопределенные константы
mailparse_determine_best_xfer_encoding
Mailparse


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
Введение
Mail Related Extensions


Введение

Внимание

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

This extension has been moved from PHP as of PHP 4.3.0 and now vpopmail lives in » PECL.

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


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
vpopmail


Установка

As of PHP 4, these functions are only available if PHP was configured with --with-vpopmail[=DIR].

Требования
Настройка во время выполнения
Установка и настройка


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

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

Типы ресурсов
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
Mathematical Extensions
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
Mathematical Extensions
vpopmail Функции


Mathematical Extensions

  • 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
Mathematical Extensions
Введение
Mathematical Extensions


Введение

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_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

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

This optional parameter is used to set the number of digits after the decimal place in the result. You can also set the global default scale for all functions by using 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

This optional parameter is used to set the number of digits after the decimal place in the result. You can also set the global default scale for all functions by using 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

This optional parameter is used to set the number of digits after the decimal place in the result. You can also set the global default scale for all functions by using 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

This optional parameter is used to set the number of digits after the decimal place in the result. You can also set the global default scale for all functions by using bcscale().

Возвращаемые значения

Returns the result as a string.

Примеры

Пример #1 bcpow() example

<?php

echo bcpow('4.2', '3', 2); // 74.08

?>

Смотрите также

  • 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

This optional parameter is used to set the number of digits after the decimal place in the result. You can also set the global default scale for all functions by using bcscale().

Возвращаемые значения

Returns the result as a string, or NULL if modulus is 0.

Примечания

Замечание: Because this method uses the modulus operation, non-natural numbers may give unexpected results. A natural number is any positive non-zero integer.

Примеры

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

This optional parameter is used to set the number of digits after the decimal place in the result. You can also set the global default scale for all functions by using 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

This optional parameter is used to set the number of digits after the decimal place in the result. You can also set the global default scale for all functions by using 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
Введение
Mathematical Extensions


Введение

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)
The GMP library version
Типы ресурсов
Примеры
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 Mathematical Extensions 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

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

Возвращаемые значения

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.

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

b

A number that will be added.

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

Возвращаемые значения

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

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

b

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

Возвращаемые значения

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

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

index

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

Возвращаемые значения

A GMP number resource.

Примеры

Пример #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

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

b

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

Возвращаемые значения

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

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

Возвращаемые значения

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.

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

b

The number that a is being divided by.

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

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.

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

Возвращаемые значения

A GMP number resource.

Примеры

Пример #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.

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

d

The number that n is being divided by.

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

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.

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

d

The number that n is being divided by.

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

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.

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

d

The number that a is being divided by.

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

Возвращаемые значения

A GMP number resource.

Примеры

Пример #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 ( int $a )

Calculates factorial (a!) of a .

Список параметров

a

The factorial number.

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

Возвращаемые значения

A GMP number resource.

Примеры

Пример #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

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

b

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

Возвращаемые значения

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

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

b

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

Возвращаемые значения

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

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

It should be positive.

b

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

It should be positive.

Возвращаемые значения

A GMP number resource.

Примеры

Пример #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. Defaults to 0.

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.

Возвращаемые значения

A GMP number resource.

Список изменений

Версия | Описание
4.1.0 | The optional base parameter was added.

Примеры

Пример #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

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

b

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

Возвращаемые значения

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

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

p

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

Should be odd and must be positive.

Возвращаемые значения

A GMP number resource.

Примеры

Пример #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

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

p

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

Should be odd and must be positive.

Возвращаемые значения

A GMP number resource.

Примеры

Пример #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

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

d

The modulo that is being evaluated.

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

Возвращаемые значения

A GMP number resource.

Примеры

Пример #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 .

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

b

A number that will be multiplied by a .

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

Возвращаемые значения

A GMP number resource.

Примеры

Пример #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

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

Возвращаемые значения

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

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

Возвращаемые значения

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

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

b

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

Возвращаемые значения

A GMP number resource.

Примеры

Пример #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.

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

Возвращаемые значения

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

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

Возвращаемые значения

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.

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

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.

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

exp

The positive power to raise the base .

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

mod

The modulo.

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

Возвращаемые значения

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.

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

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.

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

Возвращаемые значения

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. Defaults to 20.

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

Возвращаемые значения

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.

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

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.

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

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.

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

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.

Возвращаемые значения

A GMP number resource.

Примеры

Пример #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

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

Возвращаемые значения

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_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

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

Возвращаемые значения

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.

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

Возвращаемые значения

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 ] )

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.

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

base

The base of the returned number. The default base is 10. Allowed values for the base are from 2 to 36.

Возвращаемые значения

The number, as a string.

Примеры

Пример #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.

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

b

The number subtracted from a .

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

Возвращаемые значения

A GMP number resource.

Примеры

Пример #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

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

index

The bit to test

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Errors/Exceptions

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

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

b

It can be either a GMP number resource, or a numeric string given that it is possible to convert the latter to a number.

Возвращаемые значения

A GMP number resource.

Примеры

Пример #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 — Arc cosine
    • acosh — Inverse hyperbolic cosine
    • asin — Arc sine
    • asinh — Inverse hyperbolic sine
    • atan2 — Arc tangent of two variables
    • atan — Arc tangent
    • atanh — Inverse hyperbolic tangent
    • base_convert — Convert a number between arbitrary bases
    • bindec — Binary to decimal
    • ceil — Округляет дробь в большую сторону
    • cos — Cosine
    • cosh — Hyperbolic cosine
    • decbin — Decimal to binary
    • dechex — Decimal to hexadecimal
    • decoct — Decimal to octal
    • deg2rad — Converts the number in degrees to the radian equivalent
    • exp — Calculates the exponent of e
    • expm1 — Returns exp(number) - 1, computed in a way that is accurate even when the value of number is close to zero
    • floor — Округляет дробь в меньшую сторону
    • fmod — Возвращает дробный остаток от деления
    • getrandmax — Вовзращает максимально возможное случайное число
    • hexdec — Hexadecimal to decimal
    • hypot — Calculate the length of the hypotenuse of a right-angle triangle
    • is_finite — Finds whether a value is a legal finite number
    • is_infinite — Finds whether a value is infinite
    • is_nan — Finds whether a value is not a number
    • lcg_value — Combined linear congruential generator
    • log10 — Base-10 logarithm
    • log1p — Returns log(1 + number), computed in a way that is accurate even when the value of number is close to zero
    • log — Natural logarithm
    • max — Находит наибольшее значение
    • min — Находит наименьшее значение
    • mt_getrandmax — Show largest possible random value
    • mt_rand — Generate a better random value
    • mt_srand — Seed the better random number generator
    • octdec — Octal to decimal
    • pi — Возвращает число Пи
    • pow — Exponential expression
    • rad2deg — Converts the radian number to the equivalent number in degrees
    • rand — Генерирует случайное число
    • round — Округляет число типа float
    • sin — Sine
    • sinh — Hyperbolic sine
    • sqrt — Square root
    • srand — Изменяет начальное число генератора псевдослучайных чисел
    • tan — Tangent
    • tanh — Hyperbolic tangent
gmp_xor
Введение
Mathematical Extensions


Введение

Данные функции работают с числами в диапазонах типов integer и float на вашей машине (это соответствует C-типам long и double). Если вам нужно работать с большими числами, обратитесь к разделу BC Math Функции.

См. также Арифметические операторы.

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


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Math


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

Перечисленные ниже константы всегда доступны как часть ядра PHP.

Математические константы
Константа | Значение | Описание
M_PI | 3.14159265358979323846 | число пи
M_E | 2.7182818284590452354 | число Эйлера
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(пи) [4.0.2]
M_2_SQRTPI | 1.12837916709551257390 | 2/sqrt(пи)
M_SQRT2 | 1.41421356237309504880 | sqrt(2)
M_SQRT3 | 1.73205080756887729352 | sqrt(3) [4.0.2]
M_SQRT1_2 | 0.70710678118654752440 | 1/sqrt(2)
M_LNPI | 1.14472988584940017414 | ln пи [4.0.2]
M_EULER | 0.57721566490153286061 | Постоянная эйлера [4.0.2]

В версиях PHP до 4.0.0 включительно доступна только M_PI. Все остальные были добавлены с следующей версии, кроме констант с пометкой [4.0.2], которые были добавлены в версии PHP 4.0.2.

Типы ресурсов
Математические функции
Math


Математические функции

Содержание

  • abs — Модуль числа
  • acos — Arc cosine
  • acosh — Inverse hyperbolic cosine
  • asin — Arc sine
  • asinh — Inverse hyperbolic sine
  • atan2 — Arc tangent of two variables
  • atan — Arc tangent
  • atanh — Inverse hyperbolic tangent
  • base_convert — Convert a number between arbitrary bases
  • bindec — Binary to decimal
  • ceil — Округляет дробь в большую сторону
  • cos — Cosine
  • cosh — Hyperbolic cosine
  • decbin — Decimal to binary
  • dechex — Decimal to hexadecimal
  • decoct — Decimal to octal
  • deg2rad — Converts the number in degrees to the radian equivalent
  • exp — Calculates the exponent of e
  • expm1 — Returns exp(number) - 1, computed in a way that is accurate even when the value of number is close to zero
  • floor — Округляет дробь в меньшую сторону
  • fmod — Возвращает дробный остаток от деления
  • getrandmax — Вовзращает максимально возможное случайное число
  • hexdec — Hexadecimal to decimal
  • hypot — Calculate the length of the hypotenuse of a right-angle triangle
  • is_finite — Finds whether a value is a legal finite number
  • is_infinite — Finds whether a value is infinite
  • is_nan — Finds whether a value is not a number
  • lcg_value — Combined linear congruential generator
  • log10 — Base-10 logarithm
  • log1p — Returns log(1 + number), computed in a way that is accurate even when the value of number is close to zero
  • log — Natural logarithm
  • max — Находит наибольшее значение
  • min — Находит наименьшее значение
  • mt_getrandmax — Show largest possible random value
  • mt_rand — Generate a better random value
  • mt_srand — Seed the better random number generator
  • octdec — Octal to decimal
  • pi — Возвращает число Пи
  • pow — Exponential expression
  • rad2deg — Converts the radian number to the equivalent number in degrees
  • rand — Генерирует случайное число
  • round — Округляет число типа float
  • sin — Sine
  • sinh — Hyperbolic sine
  • sqrt — Square root
  • srand — Изменяет начальное число генератора псевдослучайных чисел
  • tan — Tangent
  • tanh — Hyperbolic tangent
Предопределенные константы
abs
Math


Модуль числа

Математические функции
acos
Математические функции
PHP Manual

abs

(PHP 4, PHP 5)

abs — Модуль числа

Описание

number abs ( mixed $number )

Возвращает абсолютное значение number . Если number имеет тип float, возвращаемое значение также будет иметь тип float, иначе - integer.

Пример #1 Пример

<?php
$abs = abs(-4.2); // $abs = 4.2; (double/float)
$abs2 = abs(5);   // $abs2 = 5; (integer)
$abs3 = abs(-5);  // $abs3 = 5; (integer)
?>
Математические функции
acos
Математические функции


Arc cosine

abs
acosh
Математические функции
PHP Manual

acos

(PHP 4, PHP 5)

acos — Arc cosine

Описание

float acos ( float $arg )

Returns the arc cosine of arg in radians. acos() is the complementary function of cos(), which means that a==cos(acos(a)) for every value of a that is within acos()' range.

Список параметров

arg

The argument to process

Возвращаемые значения

The arc cosine of arg in radians.

Смотрите также

  • cos() - Cosine
  • acosh() - Inverse hyperbolic cosine
  • asin() - Arc sine
  • atan() - Arc tangent

abs
acosh
Математические функции


Inverse hyperbolic cosine

acos
asin
Математические функции
PHP Manual

acosh

(PHP 4 >= 4.1.0, PHP 5)

acosh — Inverse hyperbolic cosine

Описание

float acosh ( float $arg )

Returns the inverse hyperbolic cosine of arg , i.e. the value whose hyperbolic cosine is arg .

Список параметров

arg

The value to process

Возвращаемые значения

The inverse hyperbolic cosine of arg

Список изменений

Версия | Описание
5.3.0 | This function is now available on all platforms

Смотрите также

  • cosh() - Hyperbolic cosine
  • acos() - Arc cosine
  • asinh() - Inverse hyperbolic sine
  • atanh() - Inverse hyperbolic tangent

acos
asin
Математические функции


Arc sine

acosh
asinh
Математические функции
PHP Manual

asin

(PHP 4, PHP 5)

asin — Arc sine

Описание

float asin ( float $arg )

Returns the arc sine of arg in radians. asin() is the complementary function of sin(), which means that a==sin(asin(a)) for every value of a that is within asin()'s range.

Список параметров

arg

The argument to process

Возвращаемые значения

The arc sine of arg in radians

Смотрите также

  • sin() - Sine
  • asinh() - Inverse hyperbolic sine
  • acos() - Arc cosine
  • atan() - Arc tangent

acosh
asinh
Математические функции


Inverse hyperbolic sine

asin
atan2
Математические функции
PHP Manual

asinh

(PHP 4 >= 4.1.0, PHP 5)

asinh — Inverse hyperbolic sine

Описание

float asinh ( float $arg )

Returns the inverse hyperbolic sine of arg , i.e. the value whose hyperbolic sine is arg .

Список параметров

arg

The argument to process

Возвращаемые значения

The inverse hyperbolic sine of arg

Список изменений

Версия | Описание
5.3.0 | This function is now available on all platforms

Смотрите также

  • sinh() - Hyperbolic sine
  • asin() - Arc sine
  • acosh() - Inverse hyperbolic cosine
  • atanh() - Inverse hyperbolic tangent

asin
atan2
Математические функции


Arc tangent of two variables

asinh
atan
Математические функции
PHP Manual

atan2

(PHP 4, PHP 5)

atan2 — Arc tangent of two variables

Описание

float atan2 ( float $y , float $x )

This function calculates the arc tangent of the two variables x and y . It is similar to calculating the arc tangent of y / x , except that the signs of both arguments are used to determine the quadrant of the result.

The function returns the result in radians, which is between -PI and PI (inclusive).

Список параметров

y

Dividend parameter

x

Divisor parameter

Возвращаемые значения

The arc tangent of y /x in radians.

Смотрите также

  • atan() - Arc tangent

asinh
atan
Математические функции


Arc tangent

atan2
atanh
Математические функции
PHP Manual

atan

(PHP 4, PHP 5)

atan — Arc tangent

Описание

float atan ( float $arg )

Returns the arc tangent of arg in radians. atan() is the complementary function of tan(), which means that a==tan(atan(a)) for every value of a that is within atan()'s range.

Список параметров

arg

The argument to process

Возвращаемые значения

The arc tangent of arg in radians.

Смотрите также

  • tan() - Tangent
  • atanh() - Inverse hyperbolic tangent
  • asin() - Arc sine
  • acos() - Arc cosine

atan2
atanh
Математические функции


Inverse hyperbolic tangent

atan
base_convert
Математические функции
PHP Manual

atanh

(PHP 4 >= 4.1.0, PHP 5)

atanh — Inverse hyperbolic tangent

Описание

float atanh ( float $arg )

Returns the inverse hyperbolic tangent of arg , i.e. the value whose hyperbolic tangent is arg .

Список параметров

arg

The argument to process

Возвращаемые значения

Inverse hyperbolic tangent of arg

Список изменений

Версия | Описание
5.3.0 | This function is now available on all platforms

Смотрите также

  • tanh() - Hyperbolic tangent
  • atan() - Arc tangent
  • asinh() - Inverse hyperbolic sine
  • acosh() - Inverse hyperbolic cosine

atan
base_convert
Математические функции


Convert a number between arbitrary bases

atanh
bindec
Математические функции
PHP Manual

base_convert

(PHP 4, PHP 5)

base_convert — Convert a number between arbitrary bases

Описание

string base_convert ( string $number , int $frombase , int $tobase )

Returns a string containing number represented in base tobase . The base in which number is given is specified in frombase . Both frombase and tobase have to be between 2 and 36, inclusive. Digits in numbers with a base higher than 10 will be represented with the letters a-z, with a meaning 10, b meaning 11 and z meaning 35.

Внимание

base_convert() may lose precision on large numbers due to properties related to the internal "double" or "float" type used. Please see the Floating point numbers section in the manual for more specific information and limitations.

Список параметров

number

The number to convert

frombase

The base number is in

tobase

The base to convert number to

Возвращаемые значения

number converted to base tobase

Примеры

Пример #1 base_convert() example

<?php
$hexadecimal = 'A37334';
echo base_convert($hexadecimal, 16, 2);
?>

Результат выполнения данного примера:

101000110111001100110100

Смотрите также

  • intval() - Возвращает целое значение переменной

atanh
bindec
Математические функции


Binary to decimal

base_convert
ceil
Математические функции
PHP Manual

bindec

(PHP 4, PHP 5)

bindec — Binary to decimal

Описание

number bindec ( string $binary_string )

Returns the decimal equivalent of the binary number represented by the binary_string argument.

bindec() converts a binary number to an integer or, if needed for size reasons, float.

bindec() interprets all binary_string values as unsigned integers. This is because bindec() sees the most significant bit as another order of magnitude rather than as the sign bit.

Список параметров

binary_string

The binary string to convert

Внимание

The parameter must be a string. Using other data types will produce unexpected results.

Возвращаемые значения

The decimal value of binary_string

Список изменений

Версия | Описание
Since 4.1.0 | The function can now convert numbers that are too large to fit into the platforms integer type, larger values are returned as float in that case.

Примеры

Пример #1 bindec() example

<?php
echo bindec('110011') . "\n";
echo bindec('000110011') . "\n";

echo bindec('111');
?>

Результат выполнения данного примера:

51
51
7

Пример #2 bindec() interprets input as unsigned integers

<?php
/*
 * The lesson from this example is in the output
 * rather than the PHP code itself.
 */

$magnitude_lower = pow(2, (PHP_INT_SIZE * 8) - 2);
p($magnitude_lower - 1);
p($magnitude_lower, 'See the rollover?  Watch it next time around...');

p(PHP_INT_MAX, 'PHP_INT_MAX');
p(~PHP_INT_MAX, 'interpreted to be one more than PHP_INT_MAX');

if (PHP_INT_SIZE == 4) {
    $note = 'interpreted to be the largest unsigned integer';
} else {
    $note = 'interpreted to be the largest unsigned integer
              (18446744073709551615) but skewed by float precision';
}
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);  // For readability on 64 bit boxes.
    $dec = bindec($bin);
    echo 'bindec():     ' . $dec . "\n";

    if ($note) {
        echo "NOTE:         $note\n";
    }

    echo "\n";
}
?>

Output of the above example on 32 bit machines:

input:        1073741823
binary:       00111111111111111111111111111111
bindec():     1073741823

input:        1073741824
binary:       01000000000000000000000000000000
bindec():     1073741824
NOTE:         See the rollover?  Watch it next time around...

input:        2147483647
binary:       01111111111111111111111111111111
bindec():     2147483647
NOTE:         PHP_INT_MAX

input:        -2147483648
binary:       10000000000000000000000000000000
bindec():     2147483648
NOTE:         interpreted to be one more than PHP_INT_MAX

input:        -1
binary:       11111111111111111111111111111111
bindec():     4294967295
NOTE:         interpreted to be the largest unsigned integer

Output of the above example on 64 bit machines:

input:        4611686018427387903
binary:       0011111111111111111111111111111111111111111111111111111111111111
bindec():     4611686018427387903

input:        4611686018427387904
binary:       0100000000000000000000000000000000000000000000000000000000000000
bindec():     4611686018427387904
NOTE:         See the rollover?  Watch it next time around...

input:        9223372036854775807
binary:       0111111111111111111111111111111111111111111111111111111111111111
bindec():     9223372036854775807
NOTE:         PHP_INT_MAX

input:        -9223372036854775808
binary:       1000000000000000000000000000000000000000000000000000000000000000
bindec():     9223372036854775808
NOTE:         interpreted to be one more than PHP_INT_MAX

input:        -1
binary:       1111111111111111111111111111111111111111111111111111111111111111
bindec():     18446744073709551616
NOTE:         interpreted to be the largest unsigned integer
              (18446744073709551615) but skewed by float precision

Смотрите также

  • decbin() - Decimal to binary
  • octdec() - Octal to decimal
  • hexdec() - Hexadecimal to decimal
  • base_convert() - Convert a number between arbitrary bases

base_convert
ceil
Математические функции


Округляет дробь в большую сторону

bindec
cos
Математические функции
PHP Manual

ceil

(PHP 4, PHP 5)

ceil — Округляет дробь в большую сторону

Описание

float ceil ( float $value )

Возвращает ближайшее большее целое от value . Тип возвращаемого значения остаётся float т.к. диапазон float больше integer.

Пример #1 Пример функции ceil()

<?php
echo ceil(4.3);    // 5
echo ceil(9.999);  // 10
echo ceil(3.0);    // 3
?>

См. также floor() и round().

bindec
cos
Математические функции


Cosine

ceil
cosh
Математические функции
PHP Manual

cos

(PHP 4, PHP 5)

cos — Cosine

Описание

float cos ( float $arg )

cos() returns the cosine of the arg parameter. The arg parameter is in radians.

Список параметров

arg

An angle in radians

Возвращаемые значения

The cosine of arg

Примеры

Пример #1 cos() example

<?php

echo cos(M_PI); // -1

?>

Смотрите также

  • acos() - Arc cosine
  • sin() - Sine
  • tan() - Tangent
  • deg2rad() - Converts the number in degrees to the radian equivalent

ceil
cosh
Математические функции


Hyperbolic cosine

cos
decbin
Математические функции
PHP Manual

cosh

(PHP 4 >= 4.1.0, PHP 5)

cosh — Hyperbolic cosine

Описание

float cosh ( float $arg )

Returns the hyperbolic cosine of arg , defined as (exp(arg) + exp(-arg))/2.

Список параметров

arg

The argument to process

Возвращаемые значения

The hyperbolic cosine of arg

Смотрите также

  • cos() - Cosine
  • acosh() - Inverse hyperbolic cosine
  • sinh() - Hyperbolic sine
  • cosh()

cos
decbin
Математические функции


Decimal to binary

cosh
dechex
Математические функции
PHP Manual

decbin

(PHP 4, PHP 5)

decbin — Decimal to binary

Описание

string decbin ( int $number )

Returns a string containing a binary representation of the given number argument.

Список параметров

number

Decimal value to convert

Range of inputs on 32-bit machines
positive number | negative number | return value
0 | 0
1 | 1
2 | 10
... normal progression ...
2147483646 | 1111111111111111111111111111110
2147483647 (largest signed integer) | 1111111111111111111111111111111 (31 1's)
2147483648 | -2147483648 | 10000000000000000000000000000000
... normal progression ...
4294967294 | -2 | 11111111111111111111111111111110
4294967295 (largest unsigned integer) | -1 | 11111111111111111111111111111111 (32 1's)
Range of inputs on 64-bit machines
positive number | negative number | return value
0 | 0
1 | 1
2 | 10
... normal progression ...
9223372036854775806 | 111111111111111111111111111111111111111111111111111111111111110
9223372036854775807 (largest signed integer) | 111111111111111111111111111111111111111111111111111111111111111 (31 1's)
-9223372036854775808 | 1000000000000000000000000000000000000000000000000000000000000000
... normal progression ...
-2 | 1111111111111111111111111111111111111111111111111111111111111110
-1 | 1111111111111111111111111111111111111111111111111111111111111111 (64 1's)

Возвращаемые значения

Binary string representation of number

Примеры

Пример #1 decbin() example

<?php
echo decbin(12) . "\n";
echo decbin(26);
?>

Результат выполнения данного примера:

1100
11010

Смотрите также

  • bindec() - Binary to decimal
  • decoct() - Decimal to octal
  • dechex() - Decimal to hexadecimal
  • base_convert() - Convert a number between arbitrary bases
  • printf() - Выводит отформатированную строку, using %b, %032b or %064b as the format
  • sprintf(), using %b, %032b or %064b as the format

cosh
dechex
Математические функции


Decimal to hexadecimal

decbin
decoct
Математические функции
PHP Manual

dechex

(PHP 4, PHP 5)

dechex — Decimal to hexadecimal

Описание

string dechex ( int $number )

Returns a string containing a hexadecimal representation of the given number argument. The largest number that can be converted is 4294967295 in decimal resulting to "ffffffff".

Список параметров

number

Decimal value to convert

Возвращаемые значения

Hexadecimal string representation of number

Примеры

Пример #1 dechex() example

<?php
echo dechex(10) . "\n";
echo dechex(47);
?>

Результат выполнения данного примера:

a
2f

Смотрите также

  • hexdec() - Hexadecimal to decimal
  • decbin() - Decimal to binary
  • decoct() - Decimal to octal
  • base_convert() - Convert a number between arbitrary bases

decbin
decoct
Математические функции


Decimal to octal

dechex
deg2rad
Математические функции
PHP Manual

decoct

(PHP 4, PHP 5)

decoct — Decimal to octal

Описание

string decoct ( int $number )

Returns a string containing an octal representation of the given number argument. The largest number that can be converted is 4294967295 in decimal resulting to "37777777777".

Список параметров

number

Decimal value to convert

Возвращаемые значения

Octal string representation of number

Примеры

Пример #1 decoct() example

<?php
echo decoct(15) . "\n";
echo decoct(264);
?>

Результат выполнения данного примера:

17
410

Смотрите также

  • octdec() - Octal to decimal
  • decbin() - Decimal to binary
  • dechex() - Decimal to hexadecimal
  • base_convert() - Convert a number between arbitrary bases

dechex
deg2rad
Математические функции


Converts the number in degrees to the radian equivalent

decoct
exp
Математические функции
PHP Manual

deg2rad

(PHP 4, PHP 5)

deg2rad — Converts the number in degrees to the radian equivalent

Описание

float deg2rad ( float $number )

This function converts number from degrees to the radian equivalent.

Список параметров

number

Angular value in degrees

Возвращаемые значения

The radian equivalent of number

Примеры

Пример #1 deg2rad() example

<?php

echo deg2rad(45); // 0.785398163397
var_dump(deg2rad(45) === M_PI_4); // bool(true)

?>

Смотрите также

  • rad2deg() - Converts the radian number to the equivalent number in degrees

decoct
exp
Математические функции


Calculates the exponent of e

deg2rad
expm1
Математические функции
PHP Manual

exp

(PHP 4, PHP 5)

exp — Calculates the exponent of e

Описание

float exp ( float $arg )

Returns e raised to the power of arg .

Замечание: 'e' is the base of the natural system of logarithms, or approximately 2.718282.

Список параметров

arg

The argument to process

Возвращаемые значения

'e' raised to the power of arg

Примеры

Пример #1 exp() example

<?php
echo exp(12) . "\n";
echo exp(5.7);
?>

Результат выполнения данного примера:

1.6275E+005
298.87

Смотрите также

  • log() - Natural logarithm
  • pow() - Exponential expression

deg2rad
expm1
Математические функции


Returns exp(number) - 1, computed in a way that is accurate even when the value of number is close to zero

exp
floor
Математические функции
PHP Manual

expm1

(PHP 4 >= 4.1.0, PHP 5)

expm1 — Returns exp(number) - 1, computed in a way that is accurate even when the value of number is close to zero

Описание

float expm1 ( float $arg )
Внимание

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

expm1() returns the equivalent to 'exp(arg ) - 1' computed in a way that is accurate even if the value of arg is near zero, a case where 'exp (arg ) - 1' would be inaccurate due to subtraction of two numbers that are nearly equal.

Список параметров

arg

The argument to process

Возвращаемые значения

'e' to the power of arg minus one

Список изменений

Версия | Описание
5.3.0 | This function is now available on all platforms

Смотрите также

  • log1p() - Returns log(1 + number), computed in a way that is accurate even when the value of number is close to zero
  • exp() - Calculates the exponent of e

exp
floor
Математические функции


Округляет дробь в меньшую сторону

expm1
fmod
Математические функции
PHP Manual

floor

(PHP 4, PHP 5)

floor — Округляет дробь в меньшую сторону

Описание

float floor ( float $value )

Возвращает ближайшее меньшее целое от value . Тип возвращаемого значения остаётся float т.к. диапазон float больше integer.

Пример #1 Пример функции floor()

<?php
echo floor(4.3);   // 4
echo floor(9.999); // 9
echo floor(5.0); // 5
?>

См. также ceil() и round().

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 - некоторое целое. r всегда имеет такоей же знак, как и 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(), srand() и mt_getrandmax().

fmod
hexdec
Математические функции


Hexadecimal to decimal

getrandmax
hypot
Математические функции
PHP Manual

hexdec

(PHP 4, PHP 5)

hexdec — Hexadecimal to decimal

Описание

number hexdec ( string $hex_string )

Returns the decimal equivalent of the hexadecimal number represented by the hex_string argument. hexdec() converts a hexadecimal string to a decimal number.

hexdec() will ignore any non-hexadecimal characters it encounters.

Список параметров

hex_string

The hexadecimal string to convert

Возвращаемые значения

The decimal representation of hex_string

Список изменений

Версия | Описание
Since 4.1.0 | The function can now convert values that are to big for the platforms integer type, it will return the value as float instead in that case.

Примеры

Пример #1 hexdec() example

<?php
var_dump(hexdec("See"));
var_dump(hexdec("ee"));
// both print "int(238)"

var_dump(hexdec("that")); // print "int(10)"
var_dump(hexdec("a0")); // print "int(160)"
?>

Смотрите также

  • dechex() - Decimal to hexadecimal
  • bindec() - Binary to decimal
  • octdec() - Octal to decimal
  • base_convert() - Convert a number between arbitrary bases

getrandmax
hypot
Математические функции


Calculate the length of the hypotenuse of a right-angle triangle

hexdec
is_finite
Математические функции
PHP Manual

hypot

(PHP 4 >= 4.1.0, PHP 5)

hypot — Calculate the length of the hypotenuse of a right-angle triangle

Описание

float hypot ( float $x , float $y )

hypot() returns the length of the hypotenuse of a right-angle triangle with sides of length x and y , or the distance of the point (x , y ) from the origin. This is equivalent to sqrt(x*x + y*y).

Список параметров

x

Length of first side

y

Length of second side

Возвращаемые значения

Calculated length of the hypotenuse

hexdec
is_finite
Математические функции


Finds whether a value is a legal finite number

hypot
is_infinite
Математические функции
PHP Manual

is_finite

(PHP 4 >= 4.2.0, PHP 5)

is_finite — Finds whether a value is a legal finite number

Описание

bool is_finite ( float $val )

Checks whether val is a legal finite on this platform.

Список параметров

val

The value to check

Возвращаемые значения

TRUE if val is a legal finite number within the allowed range for a PHP float on this platform, else FALSE.

Смотрите также

  • is_infinite() - Finds whether a value is infinite
  • is_nan() - Finds whether a value is not a number

hypot
is_infinite
Математические функции


Finds whether a value is infinite

is_finite
is_nan
Математические функции
PHP Manual

is_infinite

(PHP 4 >= 4.2.0, PHP 5)

is_infinite — Finds whether a value is infinite

Описание

bool is_infinite ( float $val )

Returns TRUE if val is infinite (positive or negative), like the result of log(0) or any value too big to fit into a float on this platform.

Список параметров

val

The value to check

Возвращаемые значения

TRUE if val is infinite, else FALSE.

Смотрите также

  • is_finite() - Finds whether a value is a legal finite number
  • is_nan() - Finds whether a value is not a number

is_finite
is_nan
Математические функции


Finds whether a value is not a number

is_infinite
lcg_value
Математические функции
PHP Manual

is_nan

(PHP 4 >= 4.2.0, PHP 5)

is_nan — Finds whether a value is not a number

Описание

bool is_nan ( float $val )

Checks whether val is 'not a number', like the result of acos(1.01).

Список параметров

val

The value to check

Возвращаемые значения

Returns TRUE if val is 'not a number', else FALSE.

Примеры

Пример #1 is_nan() example

<?php
// Invalid calculation, will return a
// NaN value
$nan = acos(8);

var_dump($nan, is_nan($nan));
?>

Результат выполнения данного примера:

float(NAN)
bool(true)

Смотрите также

  • is_finite() - Finds whether a value is a legal finite number
  • is_infinite() - Finds whether a value is infinite

is_infinite
lcg_value
Математические функции


Combined linear congruential generator

is_nan
log10
Математические функции
PHP Manual

lcg_value

(PHP 4, PHP 5)

lcg_value — Combined linear congruential generator

Описание

float lcg_value ( void )

lcg_value() returns a pseudo random number in the range of (0, 1). The function combines two CGs with periods of 2^31 - 85 and 2^31 - 249. The period of this function is equal to the product of both primes.

Возвращаемые значения

A pseudo random float value in the range of (0, 1)

Смотрите также

  • rand() - Генерирует случайное число
  • mt_rand() - Generate a better random value

is_nan
log10
Математические функции


Base-10 logarithm

lcg_value
log1p
Математические функции
PHP Manual

log10

(PHP 4, PHP 5)

log10 — Base-10 logarithm

Описание

float log10 ( float $arg )

Returns the base-10 logarithm of arg .

Список параметров

arg

The argument to process

Возвращаемые значения

The base-10 logarithm of arg

Смотрите также

  • log() - Natural logarithm

lcg_value
log1p
Математические функции


Returns log(1 + number), computed in a way that is accurate even when the value of number is close to zero

log10
log
Математические функции
PHP Manual

log1p

(PHP 4 >= 4.1.0, PHP 5)

log1p — Returns log(1 + number), computed in a way that is accurate even when the value of number is close to zero

Описание

float log1p ( float $number )
Внимание

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

log1p() returns log(1 + number ) computed in a way that is accurate even when the value of number is close to zero. log() might only return log(1) in this case due to lack of precision.

Список параметров

number

The argument to process

Возвращаемые значения

log(1 + number )

Список изменений

Версия | Описание
5.3.0 | This function is now available on all platforms

Смотрите также

  • expm1() - Returns exp(number) - 1, computed in a way that is accurate even when the value of number is close to zero
  • log() - Natural logarithm
  • log10() - Base-10 logarithm

log10
log
Математические функции


Natural logarithm

log1p
max
Математические функции
PHP Manual

log

(PHP 4, PHP 5)

log — Natural logarithm

Описание

float log ( float $arg [, float $base= M_E ] )

If the optional base parameter is specified, log() returns logbase arg , otherwise log() returns the natural logarithm of arg .

Список параметров

arg

The value to calculate the logarithm for

base

The optional logarithmic base to use (defaults to 'e' and so to the natural logarithm).

Возвращаемые значения

The logarithm of arg to base , if given, or the natural logarithm.

Список изменений

Версия | Описание
Since 4.3.0 | The optional parameter base became available. For older versions you can calculate the logarithm in base b of a number n, but using the mathematical identity: logb(n) = log(n)/log(b), where log is the neperian (or natural) logarithm.

Смотрите также

  • log10() - Base-10 logarithm
  • exp() - Calculates the exponent of e
  • pow() - Exponential expression

log1p
max
Математические функции


Находит наибольшее значение

log
min
Математические функции
PHP Manual

max

(PHP 4, PHP 5)

max — Находит наибольшее значение

Описание

mixed max ( number $arg1 , number $arg2 [, number $... ] )
mixed max ( array $numbers )

Возвращает наибольшее из предложенных чисел.

Если в качестве аргументов передан только один - массив чисел, max() возвращает наибольшее из них. Если первый аргумент - integer или float, то обязательно должен быть хотя бы ещё один. В этом случае функция вернёт наибольшее из них. Можно сравнивать неограниченное количество чисел.

Замечание: PHP считает строку, которую не удалось преобразовать в число, как 0, но вернёт саму строку, в случае, если все остальные числа отрицательные. Если указано несколько элементов, эквивалентных 0, max() вернёт первый из них (самый левый).

Пример #1 Примеры использования max()

<?php
echo max(1, 3, 5, 6, 7);  // 7
echo max(array(2, 4, 5)); // 5

echo max(0, 'hello');     // 0
echo max('hello', 0);     // hello
echo max(-1, 'hello');    // hello

// При указании нескольких массивов, они сравниваются полностью
// в нашем примере: 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 ( number $arg1 , number $arg2 [, number $... ] )
mixed min ( array $numbers )

Возвращает наименьшее из предложенных чисел.

Если в качестве аргументов передан только один - массив чисел, min() возвращает наименьшее из них. Если первый аргумент - integer или float, то обязательно должен быть хотя бы ещё один. В этом случае функция вернёт наименьшее из них. Можно сравнивать неограниченное количество чисел.

Замечание: PHP считает строку, которую не удалось преобразовать в число, как 0, но вернёт саму строку, в случае, если все остальные числа положительные. Если указано несколько элементов, эквивалентных 0, 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
Математические функции


Show largest possible random value

min
mt_rand
Математические функции
PHP Manual

mt_getrandmax

(PHP 4, PHP 5)

mt_getrandmax — Show largest possible random value

Описание

int mt_getrandmax ( void )

Returns the maximum value that can be returned by a call to mt_rand().

Возвращаемые значения

Returns the maximum random value returned by mt_rand()

Смотрите также

  • mt_rand() - Generate a better random value
  • mt_srand() - Seed the better random number generator
  • getrandmax() - Вовзращает максимально возможное случайное число

min
mt_rand
Математические функции


Generate a better random value

mt_getrandmax
mt_srand
Математические функции
PHP Manual

mt_rand

(PHP 4, PHP 5)

mt_rand — Generate a better random value

Описание

int mt_rand ( void )
int mt_rand ( int $min , int $max )

Many random number generators of older libcs have dubious or unknown characteristics and are slow. By default, PHP uses the libc random number generator with the rand() function. The mt_rand() function is a drop-in replacement for this. It uses a random number generator with known characteristics using the » Mersenne Twister, which will produce random numbers four times faster than what the average libc rand() provides.

If called without the optional min , max arguments mt_rand() returns a pseudo-random value between 0 and mt_getrandmax(). If you want a random number between 5 and 15 (inclusive), for example, use mt_rand(5, 15).

Список параметров

min

Optional lowest value to be returned (default: 0)

max

Optional highest value to be returned (default: mt_getrandmax())

Возвращаемые значения

A random integer value between min (or 0) and max (or mt_getrandmax(), inclusive)

Список изменений

Версия | Описание
4.2.0 | The random number generator is seeded automatically.

Примеры

Пример #1 mt_rand() example

<?php
echo mt_rand() . "\n";
echo mt_rand() . "\n";

echo mt_rand(5, 15);
?>

Результатом выполнения данного примера будет что-то подобное:

1604716014
1478613278
6

Смотрите также

  • mt_srand() - Seed the better random number generator
  • mt_getrandmax() - Show largest possible random value
  • rand() - Генерирует случайное число

mt_getrandmax
mt_srand
Математические функции


Seed the better random number generator

mt_rand
octdec
Математические функции
PHP Manual

mt_srand

(PHP 4, PHP 5)

mt_srand — Seed the better random number generator

Описание

void mt_srand ([ int $seed ] )

Seeds the random number generator with seed or with a random value if no seed is given.

Замечание: Начиная с PHP 4.2.0, больше нет необходимости инициализировать генератор случайных чисел функциями srand() или mt_srand(), поскольку теперь это происходит автоматически.

Список параметров

seed

An optional seed value

Возвращаемые значения

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

Список изменений

Версия | Описание
Since 4.2.0 | The seed becomes optional and defaults to a random value if omitted.
Since 5.2.1 | The Mersenne Twister implementation in PHP now uses a new seeding algorithm by Richard Wagner. Identical seeds no longer produce the same sequence of values they did in previous versions. This behavior is not expected to change again, but it is considered unsafe to rely upon it nonetheless.

Примеры

Пример #1 mt_srand() example

<?php
// seed with microseconds
function make_seed()
{
  list($usec, $sec) = explode(' ', microtime());
  return (float) $sec + ((float) $usec * 100000);
}
mt_srand(make_seed());
$randval = mt_rand();
?>

Смотрите также

  • mt_rand() - Generate a better random value
  • mt_getrandmax() - Show largest possible random value
  • srand() - Изменяет начальное число генератора псевдослучайных чисел

mt_rand
octdec
Математические функции


Octal to decimal

mt_srand
pi
Математические функции
PHP Manual

octdec

(PHP 4, PHP 5)

octdec — Octal to decimal

Описание

number octdec ( string $octal_string )

Returns the decimal equivalent of the octal number represented by the octal_string argument.

Список параметров

octal_string

The octal string to convert

Возвращаемые значения

The decimal representation of octal_string

Список изменений

Версия | Описание
Since 4.1.0 | The function can now convert numbers that are too large to fit into the platforms integer type, larger values are returned as float in that case.

Примеры

Пример #1 octdec() example

<?php
echo octdec('77') . "\n";
echo octdec(decoct(45));
?>

Результат выполнения данного примера:

63
45

Смотрите также

  • decoct() - Decimal to octal
  • bindec() - Binary to decimal
  • hexdec() - Hexadecimal to decimal
  • base_convert() - Convert a number between arbitrary bases

mt_srand
pi
Математические функции


Возвращает число Пи

octdec
pow
Математические функции
PHP Manual

pi

(PHP 4, PHP 5)

pi — Возвращает число Пи

Описание

float pi ( void )

Возвращает число Пи с точностью, определяемой директивой precision в php.ini, значение по умолчанию которой 14. Константа M_PI даёт идентичный результат.

Пример #1 Пример pi()

<?php
echo pi(); // 3.1415926535898
echo M_PI; // 3.1415926535898
?>

octdec
pow
Математические функции


Exponential expression

pi
rad2deg
Математические функции
PHP Manual

pow

(PHP 4, PHP 5)

pow — Exponential expression

Описание

number pow ( number $base , number $exp )

Returns base raised to the power of exp .

Внимание

In PHP 4.0.6 and earlier pow() always returned a float, and did not issue warnings.

Список параметров

base

The base to use

exp

The exponent

Возвращаемые значения

base raised to the power of exp . If the result can be represented as integer it will be returned as type integer, else it will be returned as type float. If the power cannot be computed FALSE will be returned instead.

Список изменений

Версия | Описание
Since 4.0.6 | The function will now return integer results if possible, before this it always returned a float result. For older versions, you may receive a bogus result for complex numbers.
Since 4.2.0 | PHP stops to emit a warning if the value can't be computed, it will now silently return FALSE only.

Примеры

Пример #1 Some examples of 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
?>

Смотрите также

  • exp() - Calculates the exponent of e
  • sqrt() - Square root
  • bcpow() - Raise an arbitrary precision number to another
  • gmp_pow() - Raise number into power

pi
rad2deg
Математические функции


Converts the radian number to the equivalent number in degrees

pow
rand
Математические функции
PHP Manual

rad2deg

(PHP 4, PHP 5)

rad2deg — Converts the radian number to the equivalent number in degrees

Описание

float rad2deg ( float $number )

This function converts number from radian to degrees.

Список параметров

number

A radian value

Возвращаемые значения

The equivalent of number in degrees

Примеры

Пример #1 rad2deg() example

<?php

echo rad2deg(M_PI_4); // 45

?>

Смотрите также

  • deg2rad() - Converts the number in degrees to the radian equivalent

pow
rand
Математические функции


Генерирует случайное число

rad2deg
round
Математические функции
PHP Manual

rand

(PHP 4, PHP 5)

rand — Генерирует случайное число

Описание

int rand ([ int $min ], int $max )

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

Пример #1 Пример

<?php
echo rand() . "\n";
echo rand() . "\n";

echo rand(5, 15);
?>

Пример выше выведет что-то наподобие этого:

7771
22264
11

Замечание: На некоторых платформах (таких как Windows) RAND_MAX всего лишь 32768. Чтобы расширить диапазон, используйте параметры min и max , или обратитесь к функции mt_rand().

Замечание: Начиная с PHP 4.2.0, больше нет необходимости инициализировать генератор случайных чисел функциями srand() или mt_srand(), поскольку теперь это происходит автоматически.

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

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

rad2deg
round
Математические функции


Округляет число типа float

rand
sin
Математические функции
PHP Manual

round

(PHP 4, PHP 5)

round — Округляет число типа float

Описание

float round ( float $val [, int $precision ] )

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

Пример #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
?>

Замечание: PHP по умолчанию не может правильно обрабатывать строки типа "12,300.2". Для подробностей см. Строки.

Замечание: параметр precision был добавлен в PHP 4.

См. также:
ceil(),
floor() и
number_format().

rand
sin
Математические функции


Sine

round
sinh
Математические функции
PHP Manual

sin

(PHP 4, PHP 5)

sin — Sine

Описание

float sin ( float $arg )

sin() returns the sine of the arg parameter. The arg parameter is in radians.

Список параметров

arg

A value in radians

Возвращаемые значения

The sine of arg

Примеры

Пример #1 sin() example

<?php

// Precision depends on your precision directive
echo sin(deg2rad(60));  //  0.866025403 ...
echo sin(60);           // -0.304810621 ...

?>

Смотрите также

  • asin() - Arc sine
  • sinh() - Hyperbolic sine
  • cos() - Cosine
  • tan() - Tangent
  • deg2rad() - Converts the number in degrees to the radian equivalent

round
sinh
Математические функции


Hyperbolic sine

sin
sqrt
Математические функции
PHP Manual

sinh

(PHP 4 >= 4.1.0, PHP 5)

sinh — Hyperbolic sine

Описание

float sinh ( float $arg )

Returns the hyperbolic sine of arg , defined as (exp(arg) - exp(-arg))/2.

Список параметров

arg

The argument to process

Возвращаемые значения

The hyperbolic sine of arg

Смотрите также

  • sin() - Sine
  • asinh() - Inverse hyperbolic sine
  • cosh() - Hyperbolic cosine
  • tanh() - Hyperbolic tangent

sin
sqrt
Математические функции


Square root

sinh
srand
Математические функции
PHP Manual

sqrt

(PHP 4, PHP 5)

sqrt — Square root

Описание

float sqrt ( float $arg )

Returns the square root of arg .

Список параметров

arg

The argument to process

Возвращаемые значения

The square root of arg or the special value NAN for negative numbers.

Примеры

Пример #1 sqrt() example

<?php
// Precision depends on your precision directive
echo sqrt(9); // 3
echo sqrt(10); // 3.16227766 ...
?>

Смотрите также

  • pow() - Exponential expression

sinh
srand
Математические функции


Изменяет начальное число генератора псевдослучайных чисел

sqrt
tan
Математические функции
PHP Manual

srand

(PHP 4, PHP 5)

srand — Изменяет начальное число генератора псевдослучайных чисел

Описание

void srand ([ int $seed ] )

Устанавливает начальное число генератора случайных чисел в seed . Начиная с PHP 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();
?>

Замечание: Начиная с PHP 4.2.0, больше нет необходимости инициализировать генератор случайных чисел функциями srand() или mt_srand(), поскольку теперь это происходит автоматически.

См. также:
rand(),
getrandmax() и
mt_srand().

sqrt
tan
Математические функции


Tangent

srand
tanh
Математические функции
PHP Manual

tan

(PHP 4, PHP 5)

tan — Tangent

Описание

float tan ( float $arg )

tan() returns the tangent of the arg parameter. The arg parameter is in radians.

Список параметров

arg

The argument to process in radians

Возвращаемые значения

The tangent of arg

Примеры

Пример #1 tan() example

<?php

echo tan(M_PI_4); // 1

?>

Смотрите также

  • atan() - Arc tangent
  • atan2() - Arc tangent of two variables
  • sin() - Sine
  • cos() - Cosine
  • tanh() - Hyperbolic tangent
  • deg2rad() - Converts the number in degrees to the radian equivalent

srand
tanh
Математические функции


Hyperbolic tangent

tan
Statistics
Математические функции
PHP Manual

tanh

(PHP 4 >= 4.1.0, PHP 5)

tanh — Hyperbolic tangent

Описание

float tanh ( float $arg )

Returns the hyperbolic tangent of arg , defined as sinh(arg)/cosh(arg).

Список параметров

arg

The argument to process

Возвращаемые значения

The hyperbolic tangent of arg

Смотрите также

  • tan() - Tangent
  • atanh() - Inverse hyperbolic tangent
  • sinh() - Hyperbolic sine
  • cosh() - Hyperbolic cosine

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
Введение
Mathematical Extensions


Введение

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.

Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, могут быть найдены здесь: » http://pecl.php.net/package/stats.

Вы можете скачать DLL этого расширения PECL со страницы » PHP Downloads или » http://snaps.php.net/.

Требования
Настройка во время выполнения
Установка и настройка


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

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

Типы ресурсов
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

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
Non-Text MIME Output
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
Non-Text MIME Output
Statistic Функции


Non-Text MIME Output

  • 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 — Adds a template into the FDF document
    • fdf_close — Close an FDF document
    • 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 — Get the value of the /Encoding key
    • fdf_get_file — Get the value of the /F key
    • 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 — Get the value of the /STATUS key
    • 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
Non-Text MIME Output
Введение
Non-Text MIME Output


Введение

Forms Data Format (FDF) is a format for handling forms within PDF documents. You should read the documentation at » http://partners.adobe.com/asn/acrobat/forms.jsp 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://partners.adobe.com/asn/acrobat/forms.jsp. 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.

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


Установка

You must compile PHP with --with-fdftk[=DIR].

Замечание: 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
In order for this extension to work, there are DLL files that must be available to the Windows system PATH. For information on how to do this, see the FAQ entitled "How do I add my PHP directory to the PATH on Windows". Although copying DLL files from the PHP folder into the Windows system directory also works (because the system directory is by default in the system's PATH), this is not recommended. This extension requires the following files to be in the 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 Функции

Содержание

  • fdf_add_doc_javascript — Adds javascript code to the FDF document
  • fdf_add_template — Adds a template into the FDF document
  • fdf_close — Close an FDF document
  • 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 — Get the value of the /Encoding key
  • fdf_get_file — Get the value of the /F key
  • 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 — Get the value of the /STATUS key
  • 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


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 Функции


Adds a template into the FDF document

fdf_add_doc_javascript
fdf_close
FDF Функции
PHP Manual

fdf_add_template

(PHP 4, PHP 5)

fdf_add_template — Adds a template into the FDF document

Описание

bool fdf_add_template ( resource $fdf_document , int $newpage , string $filename , string $template , int $rename )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

fdf_add_doc_javascript
fdf_close
FDF Функции


Close an FDF document

fdf_add_template
fdf_create
FDF Функции
PHP Manual

fdf_close

(PHP 4, PHP 5)

fdf_close — Close an FDF document

Описание

void fdf_close ( resource $fdf_document )

Closes the FDF document.

Список параметров

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or 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() - Close an FDF document
  • 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 ] )

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 Функции


Get the value of the /Encoding key

fdf_get_attachment
fdf_get_file
FDF Функции
PHP Manual

fdf_get_encoding

(PHP 4 >= 4.3.0, PHP 5)

fdf_get_encoding — Get the value of the /Encoding key

Описание

string fdf_get_encoding ( resource $fdf_document )

Gets the value of the /Encoding key.

Список параметров

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

Возвращаемые значения

Returns the encoding as a string. An empty string is returned if the default PDFDocEncoding/Unicode scheme is used.

Смотрите также

  • fdf_set_encoding() - Sets FDF character encoding

fdf_get_attachment
fdf_get_file
FDF Функции


Get the value of the /F key

fdf_get_encoding
fdf_get_flags
FDF Функции
PHP Manual

fdf_get_file

(PHP 4, PHP 5)

fdf_get_file — Get the value of the /F key

Описание

string fdf_get_file ( resource $fdf_document )

Gets the value of the /F key.

Список параметров

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

Возвращаемые значения

Returns the key value, as a 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 ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

fdf_get_flags
fdf_get_status
FDF Функции


Get the value of the /STATUS key

fdf_get_opt
fdf_get_value
FDF Функции
PHP Manual

fdf_get_status

(PHP 4, PHP 5)

fdf_get_status — Get the value of the /STATUS key

Описание

string fdf_get_status ( resource $fdf_document )

Gets the value of the /STATUS key.

Список параметров

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

Возвращаемые значения

Returns the key value, as a 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 ] )

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() - Close an FDF document
  • 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() - Close an FDF document
  • 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() - Close an FDF document
  • 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() - Close an FDF document
  • 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() - Get the value of the /F key
  • 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() - Get the value of the /STATUS key

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

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Clearsign text
  • GnuPG Функции
    • gnupg_adddecryptkey — Add a key for decryption
    • gnupg_addencryptkey — Add a key for encryption
    • gnupg_addsignkey — Add a key for signing
    • gnupg_cleardecryptkeys — Removes all keys which were set for decryption before
    • gnupg_clearencryptkeys — Removes all keys which were set for encryption before
    • gnupg_clearsignkeys — Removes all keys which were set for signing before
    • gnupg_decrypt — Decrypts a given text
    • gnupg_decryptverify — Decrypts and verifies a given text
    • gnupg_encrypt — Encrypts a given text
    • gnupg_encryptsign — Encrypts and signs a given text
    • gnupg_export — Exports a key
    • gnupg_geterror — Returns the errortext, if a function fails
    • gnupg_getprotocol — Returns the currently active protocol for all operations
    • gnupg_import — Imports a key
    • gnupg_init — Initialize a connection
    • gnupg_keyinfo — Returns an array with information about all keys that matches the given pattern
    • gnupg_setarmor — Toggle armored output
    • gnupg_seterrormode — Sets the mode for error_reporting
    • gnupg_setsignmode — Sets the mode for signing
    • gnupg_sign — Signs a given text
    • gnupg_verify — Verifies a signed text
fdf_set_version
Введение
Non-Text MIME Output


Введение

This module allows you to interact with » gnupg.

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


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
GnuPG


Требования

The gnupg extension requires PHP 4.3. To use this extension in an OO style, PHP 5 is required.

This extension requires the » gpgme library

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


Установка

Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и 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


Примеры

Содержание

  • Clearsign text
Предопределенные константы
Clearsign text
GnuPG


Clearsign text

This example will clearsign a given text.

Пример #1 gnupg clearsign example (procedural)

<?php
// init gnupg
$res = gnupg_init();
// not really needed. Clearsign is default
gnupg_setsignmode($res,GNUPG_SIG_MODE_CLEAR);
// add key with passphrase 'test' for signing
gnupg_addsignkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
// sign
$signed = gnupg_sign($res,"just a test");
echo $signed;
?>

Пример #2 gnupg clearsign example (OO)

<?php
// new class
$gnupg = new gnupg();
// not really needed. Clearsign is default
$gnupg->setsignmode(gnupg::SIG_MODE_CLEAR);
// add key with passphrase 'test' for signing
$gnupg->addsignkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
// sign
$signed = $gnupg->sign("just a test");
echo $signed;
?>

Пример #3 keylistiterator

This extension also comes with an Iterator for your keyring.

<?php
// create a new iterator for listing all public keys that matches 'example'
$iterator = new gnupg_keylistiterator("example");
foreach($iterator as $fingerprint => $userid){
    echo $fingerprint." -> ".$userid."\n";
}
?>
Примеры
GnuPG Функции
Примеры


GnuPG Функции

Примечания

This extension makes use of the keyring of the current user. This keyring is normally located in ~./.gnupg/. To specify a custom location, store the path to the keyring in the environment variable GNUPGHOME. See putenv for more information how to do this.

Some functions require the specification of a key. This specification can be anything that refers to a unique key (userid, key-id, fingerprint, ...). This documentation uses the fingerprint in all examples.

Содержание

  • gnupg_adddecryptkey — Add a key for decryption
  • gnupg_addencryptkey — Add a key for encryption
  • gnupg_addsignkey — Add a key for signing
  • gnupg_cleardecryptkeys — Removes all keys which were set for decryption before
  • gnupg_clearencryptkeys — Removes all keys which were set for encryption before
  • gnupg_clearsignkeys — Removes all keys which were set for signing before
  • gnupg_decrypt — Decrypts a given text
  • gnupg_decryptverify — Decrypts and verifies a given text
  • gnupg_encrypt — Encrypts a given text
  • gnupg_encryptsign — Encrypts and signs a given text
  • gnupg_export — Exports a key
  • gnupg_geterror — Returns the errortext, if a function fails
  • gnupg_getprotocol — Returns the currently active protocol for all operations
  • gnupg_import — Imports a key
  • gnupg_init — Initialize a connection
  • gnupg_keyinfo — Returns an array with information about all keys that matches the given pattern
  • gnupg_setarmor — Toggle armored output
  • gnupg_seterrormode — Sets the mode for error_reporting
  • gnupg_setsignmode — Sets the mode for signing
  • gnupg_sign — Signs a given text
  • gnupg_verify — Verifies a signed text
Clearsign text
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

The gnupg identifier, from a call to gnupg_init() or gnupg.

fingerprint

The fingerprint key.

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 Функции


Add a key for encryption

gnupg_adddecryptkey
gnupg_addsignkey
GnuPG Функции
PHP Manual

gnupg_addencryptkey

(PECL gnupg >= 0.5)

gnupg_addencryptkey — Add a key for encryption

Описание

bool gnupg_addencryptkey ( resource $identifier , string $fingerprint )

Список параметров

identifier

The gnupg identifier, from a call to gnupg_init() or gnupg.

fingerprint

The fingerprint key.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Procedural gnupg_addencryptkey() example

<?php
$res = gnupg_init();
gnupg_addencryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC");
?>

Пример #2 OO gnupg_addencryptkey() example

<?php
$gpg = new gnupg();
$gpg -> addencryptkey("8660281B6051D071D94B5B230549F9DC851566DC");
?>

gnupg_adddecryptkey
gnupg_addsignkey
GnuPG Функции


Add a key for signing

gnupg_addencryptkey
gnupg_cleardecryptkeys
GnuPG Функции
PHP Manual

gnupg_addsignkey

(PECL gnupg >= 0.5)

gnupg_addsignkey — Add a key for signing

Описание

bool gnupg_addsignkey ( resource $identifier , string $fingerprint [, string $passphrase ] )

Список параметров

identifier

The gnupg identifier, from a call to gnupg_init() or gnupg.

fingerprint

The fingerprint key.

passphrase

The pass phrase.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Procedural gnupg_addsignkey() example

<?php
$res = gnupg_init();
gnupg_addsignkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
?>

Пример #2 OO gnupg_addsignkey() example

<?php
$gpg = new gnupg();
$gpg -> addsignkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
?>

gnupg_addencryptkey
gnupg_cleardecryptkeys
GnuPG Функции


Removes all keys which were set for decryption before

gnupg_addsignkey
gnupg_clearencryptkeys
GnuPG Функции
PHP Manual

gnupg_cleardecryptkeys

(PECL gnupg >= 0.5)

gnupg_cleardecryptkeys — Removes all keys which were set for decryption before

Описание

bool gnupg_cleardecryptkeys ( resource $identifier )

Список параметров

identifier

The gnupg identifier, from a call to gnupg_init() or gnupg.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Procedural gnupg_cleardecryptkeys() example

<?php
$res = gnupg_init();
gnupg_cleardecryptkeys($res);
?>

Пример #2 OO gnupg_cleardecryptkeys() example

<?php
$gpg = new gnupg();
$gpg -> cleardecryptkeys();
?>

gnupg_addsignkey
gnupg_clearencryptkeys
GnuPG Функции


Removes all keys which were set for encryption before

gnupg_cleardecryptkeys
gnupg_clearsignkeys
GnuPG Функции
PHP Manual

gnupg_clearencryptkeys

(PECL gnupg >= 0.5)

gnupg_clearencryptkeys — Removes all keys which were set for encryption before

Описание

bool gnupg_clearencryptkeys ( resource $identifier )

Список параметров

identifier

The gnupg identifier, from a call to gnupg_init() or gnupg.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Procedural gnupg_clearencryptkeys() example

<?php
$res = gnupg_init();
gnupg_clearencryptkeys($res);
?>

Пример #2 OO gnupg_clearencryptkeys() example

<?php
$gpg = new gnupg();
$gpg -> clearencryptkeys();
?>

gnupg_cleardecryptkeys
gnupg_clearsignkeys
GnuPG Функции


Removes all keys which were set for signing before

gnupg_clearencryptkeys
gnupg_decrypt
GnuPG Функции
PHP Manual

gnupg_clearsignkeys

(PECL gnupg >= 0.5)

gnupg_clearsignkeys — Removes all keys which were set for signing before

Описание

bool gnupg_clearsignkeys ( resource $identifier )

Список параметров

identifier

The gnupg identifier, from a call to gnupg_init() or gnupg.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Procedural gnupg_clearsignkeys() example

<?php
$res = gnupg_init();
gnupg_clearsignkeys($res);
?>

Пример #2 OO gnupg_clearsignkeys() example

<?php
$gpg = new gnupg();
$gpg -> clearsignkeys();
?>

gnupg_clearencryptkeys
gnupg_decrypt
GnuPG Функции


Decrypts a given text

gnupg_clearsignkeys
gnupg_decryptverify
GnuPG Функции
PHP Manual

gnupg_decrypt

(PECL gnupg >= 0.1)

gnupg_decrypt — Decrypts a given text

Описание

string gnupg_decrypt ( resource $identifier , string $text )

Decrypts the given text with the keys, which were set with gnupg_adddecryptkey before.

Список параметров

identifier

The gnupg identifier, from a call to gnupg_init() or gnupg.

text

The text being decrypted.

Возвращаемые значения

On success, this function returns the decrypted text. On failure, this function returns FALSE.

Примеры

Пример #1 Procedural gnupg_decrypt() example

<?php
$res = gnupg_init();
gnupg_adddecryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
$plain = gnupg_decrypt($res,$encrypted_text);
echo $plain;
?>

Пример #2 OO gnupg_encrypt() example

<?php
$gpg = new gnupg();
$gpg -> adddecryptkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
$plain = $gpg -> decrypt($encrypted_text);
echo $plain;
?>

gnupg_clearsignkeys
gnupg_decryptverify
GnuPG Функции


Decrypts and verifies a given text

gnupg_decrypt
gnupg_encrypt
GnuPG Функции
PHP Manual

gnupg_decryptverify

(PECL gnupg >= 0.2)

gnupg_decryptverify — Decrypts and verifies a given text

Описание

array gnupg_decryptverify ( resource $identifier , string $text , string &$plaintext )

Decrypts and verifies a given text and returns information about the signature.

Список параметров

identifier

The gnupg identifier, from a call to gnupg_init() or gnupg.

text

The text being decrypted.

plaintext

The parameter plaintext gets filled with the decrypted text.

Возвращаемые значения

On success, this function returns information about the signature and fills the plaintext parameter with the decrypted text. On failure, this function returns FALSE.

Примеры

Пример #1 Procedural gnupg_decryptverify() example

<?php
$plaintext = "";
$res = gnupg_init();
gnupg_adddecryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
$info = gnupg_decryptverify($res,$text,$plaintext);
print_r($info);
?>

Пример #2 OO gnupg_decryptverify() example

<?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

The gnupg identifier, from a call to gnupg_init() or 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 Функции


Encrypts and signs a given text

gnupg_encrypt
gnupg_export
GnuPG Функции
PHP Manual

gnupg_encryptsign

(PECL gnupg >= 0.2)

gnupg_encryptsign — Encrypts and signs a given text

Описание

string gnupg_encryptsign ( resource $identifier , string $plaintext )

Encrypts and signs the given plaintext with the keys, which were set with gnupg_addsignkey and gnupg_addencryptkey before and returns the encrypted and signed text.

Список параметров

identifier

The gnupg identifier, from a call to gnupg_init() or gnupg.

plaintext

The text being encrypted.

Возвращаемые значения

On success, this function returns the encrypted and signed text. On failure, this function returns FALSE.

Примеры

Пример #1 Procedural gnupg_encryptsign() example

<?php
$res = gnupg_init();
gnupg_addencryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC");
gnupg_addsignkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
$enc = gnupg_encryptsign($res, "just a test");
echo $enc;
?>

Пример #2 OO gnupg_encryptsign() example

<?php
$gpg = new gnupg();
$gpg -> addencryptkey("8660281B6051D071D94B5B230549F9DC851566DC");
$gpg -> addsignkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
$enc = $gpg -> encryptsign("just a test");
echo $enc;
?>

gnupg_encrypt
gnupg_export
GnuPG Функции


Exports a key

gnupg_encryptsign
gnupg_geterror
GnuPG Функции
PHP Manual

gnupg_export

(PECL gnupg >= 0.1)

gnupg_export — Exports a key

Описание

string gnupg_export ( resource $identifier , string $fingerprint )

Exports the key fingerprint .

Список параметров

identifier

The gnupg identifier, from a call to gnupg_init() or gnupg.

fingerprint

The fingerprint key.

Возвращаемые значения

On success, this function returns the keydata. On failure, this function returns FALSE.

Примеры

Пример #1 Procedural gnupg_export() example

<?php
$res = gnupg_init();
$export = gnupg_export($res,"8660281B6051D071D94B5B230549F9DC851566DC");
echo $export;
?>

Пример #2 OO gnupg_export() example

<?php
$gpg = new gnupg();
$export = $gpg -> export("8660281B6051D071D94B5B230549F9DC851566DC");
?>

gnupg_encryptsign
gnupg_geterror
GnuPG Функции


Returns the errortext, if a function fails

gnupg_export
gnupg_getprotocol
GnuPG Функции
PHP Manual

gnupg_geterror

(PECL gnupg >= 0.1)

gnupg_geterror — Returns the errortext, if a function fails

Описание

string gnupg_geterror ( resource $identifier )

Список параметров

identifier

The gnupg identifier, from a call to gnupg_init() or gnupg.

Возвращаемые значения

Returns an errortext, if an error has occurred, otherwise FALSE.

Примеры

Пример #1 Procedural gnupg_geterror() example

<?php
$res = gnupg_init();
echo gnupg_geterror($res);
?>

Пример #2 OO gnupg_geterror() example

<?php
$gpg = new gnupg();
echo $gpg -> geterror();
?>

gnupg_export
gnupg_getprotocol
GnuPG Функции


Returns the currently active protocol for all operations

gnupg_geterror
gnupg_import
GnuPG Функции
PHP Manual

gnupg_getprotocol

(PECL gnupg >= 0.1)

gnupg_getprotocol — Returns the currently active protocol for all operations

Описание

int gnupg_getprotocol ( resource $identifier )

Список параметров

identifier

The gnupg identifier, from a call to gnupg_init() or gnupg.

Возвращаемые значения

Returns the currently active protocol, which can be one of GNUPG_PROTOCOL_OpenPGP or GNUPG_PROTOCOL_CMS.

Примеры

Пример #1 Procedural gnupg_getprotocol() example

<?php
$res = gnupg_init();
echo gnupg_getprotocol($res);
?>

Пример #2 OO gnupg_getprotocol() example

<?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

The gnupg identifier, from a call to gnupg_init() or 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 Функции


Initialize a connection

gnupg_import
gnupg_keyinfo
GnuPG Функции
PHP Manual

gnupg_init

(PECL gnupg >= 0.4)

gnupg_init — Initialize a connection

Описание

resource gnupg_init ( void )

Список параметров

This function has no parameters.

Возвращаемые значения

A GnuPG resource connection used by other GnuPG functions.

Примеры

Пример #1 Procedural gnupg_init() example

<?php
$res = gnupg_init();
?>

Пример #2 OO gnupg initializer example

<?php
$gpg = new gnupg();
?>

gnupg_import
gnupg_keyinfo
GnuPG Функции


Returns an array with information about all keys that matches the given pattern

gnupg_init
gnupg_setarmor
GnuPG Функции
PHP Manual

gnupg_keyinfo

(PECL gnupg >= 0.1)

gnupg_keyinfo — Returns an array with information about all keys that matches the given pattern

Описание

array gnupg_keyinfo ( resource $identifier , string $pattern )

Список параметров

identifier

The gnupg identifier, from a call to gnupg_init() or gnupg.

pattern

The pattern being checked against the keys.

Возвращаемые значения

Returns an array with information about all keys that matches the given pattern or FALSE, if an error has occurred.

Примеры

Пример #1 Procedural gnupg_keyinfo() example

<?php
$res = gnupg_init();
$info = gnupg_keyinfo($res, 'test');
print_r($info);
?>

Пример #2 OO gnupg_keyinfo() example

<?php
$gpg = new gnupg();
$info = $gpg -> keyinfo("test");
print_r($info);
?>

gnupg_init
gnupg_setarmor
GnuPG Функции


Toggle armored output

gnupg_keyinfo
gnupg_seterrormode
GnuPG Функции
PHP Manual

gnupg_setarmor

(PECL gnupg >= 0.1)

gnupg_setarmor — Toggle armored output

Описание

bool gnupg_setarmor ( resource $identifier , int $armor )

Toggle the armored output.

Список параметров

identifier

The gnupg identifier, from a call to gnupg_init() or gnupg.

armor

Pass a non-zero integer-value to this function to enable armored-output (default). Pass 0 to disable armored output.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Procedural gnupg_setarmor() example

<?php
$res = gnupg_init();
gnupg_setarmor($res,1); // enable armored output;
gnupg_setarmor($res,0); // disable armored output;
?>

Пример #2 OO gnupg_setarmor() example

<?php
$gpg = new gnupg();
$gpg -> setarmor(1); // enable armored output;
$gpg -> setarmor(0); // disable armored output;
?>

gnupg_keyinfo
gnupg_seterrormode
GnuPG Функции


Sets the mode for error_reporting

gnupg_setarmor
gnupg_setsignmode
GnuPG Функции
PHP Manual

gnupg_seterrormode

(PECL gnupg >= 0.6)

gnupg_seterrormode — Sets the mode for error_reporting

Описание

void gnupg_seterrormode ( resource $identifier , int $errormode )

Sets the mode for error_reporting.

Список параметров

identifier

The gnupg identifier, from a call to gnupg_init() or gnupg.

errormode

The error mode.

errormode takes a constant indicating what type of error_reporting should be used. The possible values are GNUPG_ERROR_WARNING, GNUPG_ERROR_EXCEPTION and GNUPG_ERROR_SILENT. By default GNUPG_ERROR_SILENT is used.

Возвращаемые значения

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

Примеры

Пример #1 Procedural gnupg_seterrormode() example

<?php
$res = gnupg_init();
gnupg_seterrormode($res,GNUPG_ERROR_WARNING); // raise a PHP-Warning in case of an error
?>

Пример #2 OO gnupg_seterrormode() example

<?php
$gpg = new gnupg();
$gpg -> seterrormode(gnupg::ERROR_EXCEPTION); // throw an exception in case of an error
?>

gnupg_setarmor
gnupg_setsignmode
GnuPG Функции


Sets the mode for signing

gnupg_seterrormode
gnupg_sign
GnuPG Функции
PHP Manual

gnupg_setsignmode

(PECL gnupg >= 0.1)

gnupg_setsignmode — Sets the mode for signing

Описание

bool gnupg_setsignmode ( resource $identifier , int $signmode )

Sets the mode for signing.

Список параметров

identifier

The gnupg identifier, from a call to gnupg_init() or gnupg.

sigmode

The mode for signing.

signmode takes a constant indicating what type of signature should be produced. The possible values are GNUPG_SIG_MODE_NORMAL, GNUPG_SIG_MODE_DETACH and GNUPG_SIG_MODE_CLEAR. By default GNUPG_SIG_MODE_CLEAR is used.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Procedural gnupg_setsignmode() example

<?php
$res = gnupg_init();
gnupg_setsignmode($res,GNUPG_SIG_MODE_DETACH); // produce a detached signature
?>

Пример #2 OO gnupg_setsignmode() example

<?php
$gpg = new gnupg();
$gpg -> setsignmode(gnupg::SIG_MODE_DETACH); // produce a detached signature
?>

gnupg_seterrormode
gnupg_sign
GnuPG Функции


Signs a given text

gnupg_setsignmode
gnupg_verify
GnuPG Функции
PHP Manual

gnupg_sign

(PECL gnupg >= 0.1)

gnupg_sign — Signs a given text

Описание

string gnupg_sign ( resource $identifier , string $plaintext )

Signs the given plaintext with the keys, which were set with gnupg_addsignkey before and returns the signed text or the signature, depending on what was set with gnupg_setsignmode.

Список параметров

identifier

The gnupg identifier, from a call to gnupg_init() or gnupg.

plaintext

The plain text being signed.

Возвращаемые значения

On success, this function returns the signed text or the signature. On failure, this function returns FALSE.

Примеры

Пример #1 Procedural gnupg_sign() example

<?php
$res = gnupg_init();
gnupg_addsignkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
$signed = gnupg_sign($res, "just a test");
echo $signed;
?>

Пример #2 OO gnupg_sign() example

<?php
$gpg = new gnupg();
$gpg -> setsignkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
$signed = $gpg -> sign("just a test");
echo $signed;
?>

gnupg_setsignmode
gnupg_verify
GnuPG Функции


Verifies a signed text

gnupg_sign
haru
GnuPG Функции
PHP Manual

gnupg_verify

(PECL gnupg >= 0.1)

gnupg_verify — Verifies a signed text

Описание

array gnupg_verify ( resource $identifier , string $signed_text , string $signature [, string &$plaintext ] )

Verifies the given signed_text and returns information about the signature.

Список параметров

identifier

The gnupg identifier, from a call to gnupg_init() or gnupg.

signed_text

The signed text.

signature

The signature. To verify a clearsigned text, set signature to FALSE.

plaintext

The plain text. If this optional parameter is passed, it is filled with the plain text.

Возвращаемые значения

On success, this function returns information about the signature. On failure, this function returns FALSE.

Примеры

Пример #1 Procedural gnupg_verify() example

<?php
$plaintext = "";
$res = gnupg_init();
// clearsigned
$info = gnupg_verify($res,$signed_text,false,$plaintext);
print_r($info);
// detached signature
$info = gnupg_verify($res,$signed_text,$signature);
print_r($info);
?>

Пример #2 OO gnupg_verify() example

<?php
$plaintext = "";
$gpg = new gnupg();
// clearsigned
$info = $gpg -> verify($signed_text,false,$plaintext);
print_r($info);
// detached signature
$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
Введение
Non-Text MIME Output


Введение

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


Требования

You need to install libharu first to be able to use PECL/haru. PECL/haru is tested with libharu 2.0.8, older versions might or might not work for you. PECL/haru also requires PHP 5.1.3 or newer.

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


Установка

Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и 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

Введение

Haru PDF Exception Class.

Class synopsis

HaruException
HaruException extends Exception {
/* Inherits */
final public string Exception::getMessage ( void )
final public int 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

Введение

Haru PDF Document Class.

Class synopsis

HaruDoc
HaruDoc {
/* Methods */
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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns a new HaruPage instance.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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. Optional, empty by default.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws a HaruException on error.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

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

Errors/Exceptions

Throws a HaruException on error.

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.

Errors/Exceptions

Throws a HaruException on error.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns HaruEncoder currently used in the document or FALSE if encoder is not set.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns HaruPage instance on success or FALSE if there is no current page at the moment.

Errors/Exceptions

Throws a HaruException on error.

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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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 .

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the page mode currently set in the document. See HaruDoc::setPageMode for the list of possible values.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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. Defaults to FALSE. 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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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. Defaults to FALSE.

Возвращаемые значения

Returns the name of the loaded font on success.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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. Defaults to FALSE.

Возвращаемые значения

Returns the name of the loaded font on success.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

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.

Errors/Exceptions

Throws a HaruException on error.

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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • HaruDoc::useKREncodings - Enable Korean encodings

HaruDoc::useKREncodings
HaruPage
HaruDoc


The HaruPage class

Введение

Haru PDF Page Class.

Class synopsis

HaruPage
HaruPage {
/* Methods */
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 [, float $char_space ]] )
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.

Errors/Exceptions

Throws a HaruException on error.

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).

Список параметров

This function has no parameters.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws a HaruException on error.

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.

Errors/Exceptions

Throws a HaruException on error.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws a HaruException on error.

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.

Errors/Exceptions

Throws a HaruException on error.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns a new HaruDestination instance.

Errors/Exceptions

Throws a HaruException on error.

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.

Errors/Exceptions

Throws a HaruException on error.

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.

Errors/Exceptions

Throws a HaruException on error.

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.

Errors/Exceptions

Throws a HaruException on error.

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.

Errors/Exceptions

Throws a HaruException on error.

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.

Errors/Exceptions

Throws a HaruException on error.

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.

Errors/Exceptions

Throws a HaruException on error.

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.

Errors/Exceptions

Throws a HaruException on error.

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.

Errors/Exceptions

Throws a HaruException on error.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws a HaruException on error.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws a HaruException on error.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws a HaruException on error.

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.

Errors/Exceptions

Throws a HaruException on error.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws a HaruException on error.

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.

Errors/Exceptions

Throws a HaruException on error.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the current value of character spacing.

Errors/Exceptions

Throws a HaruException on error.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the current filling color as an array with 4 elements ("c", "m", "y" and "k").

Errors/Exceptions

Throws a HaruException on error.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the current stroking color as an array with 4 elements ("c", "m", "y" and "k").

Errors/Exceptions

Throws a HaruException on error.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the currently used font as an instance of HaruFont.

Errors/Exceptions

Throws a HaruException on error.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the current font size.

Errors/Exceptions

Throws a HaruException on error.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the current position for path painting as an array of with two elements - "x" and "y".

Errors/Exceptions

Throws a HaruException on error.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the current position for text printing as an array with 2 elements - "x" and "y".

Errors/Exceptions

Throws a HaruException on error.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the current dash pattern as an array of two elements - "pattern" and "phase" or FALSE if dash pattern was not set.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

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

Errors/Exceptions

Throws a HaruException on error.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the flatness of the page.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

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

Errors/Exceptions

Throws a HaruException on error.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the current filling color.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the current stroking color.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the height of the page.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the current value of horizontal scaling.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the current line join style. The result value is one of the following:

  • HaruPage::MITER_JOIN
  • HaruPage::ROUND_JOIN
  • HaruPage::BEVEL_JOIN

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the current line width.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the value of the miter limit.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the current filling color as an array with 3 elements: "r", "g" and "b".

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the current stroking color.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the current stroking color space. The list of return values is the same as for HaruPage::getFillingColorSpace

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the current value of line spacing.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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".

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

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

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the current value of text rising.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the current transformation matrix of the page as an array of 6 elements: "a", "b", "c", "d", "x" and "y".

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the width of the page.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the current value of word spacing.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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. Defaults to FALSE.

Возвращаемые значения

Returns the number of characters which can be included within the specified width.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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 . The default value of set_leading is FALSE.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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 [, float $char_space ]] )

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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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. Defaults to FALSE.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws a HaruException on error.

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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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.

Errors/Exceptions

Throws a HaruException on error.

Смотрите также

  • 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

Введение

Haru PDF Font Class.

Class synopsis

HaruFont
HaruFont {
/* Methods */
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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the vertical ascent of the font.

Errors/Exceptions

Throws a HaruException on error.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the distance from the baseline of uppercase letters.

Errors/Exceptions

Throws a HaruException on error.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Return the vertical descent of the font.

Errors/Exceptions

Throws a HaruException on error.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the name of the font encoding.

Errors/Exceptions

Throws a HaruException on error.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the name of the font.

Errors/Exceptions

Throws a HaruException on error.

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.

Errors/Exceptions

Throws a HaruException on error.

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.

Errors/Exceptions

Throws a HaruException on error.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the distance from the baseline of lowercase letters.

Errors/Exceptions

Throws a HaruException on error.

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. Defaults to FALSE.

Возвращаемые значения

Returns the number of characters which can be included within the specified width.

Errors/Exceptions

Throws a HaruException on error.

HaruFont::getXHeight
HaruImage
HaruFont


The HaruImage class

Введение

Haru PDF Image Class.

Class synopsis

HaruImage
HaruImage {
/* Methods */
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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the number of bits used to describe each color component of the image.

Errors/Exceptions

Throws a HaruException on error.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the name of the color space of the image. The name is one of the following values:

  • "DeviceGray"
  • "DeviceRGB"
  • "DeviceCMYK"
  • "Indexed"

Errors/Exceptions

Throws a HaruException on error.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the height of the image.

Errors/Exceptions

Throws a HaruException on error.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns an array with two elements: width and height, which contain appropriate dimensions of the image.

Errors/Exceptions

Throws a HaruException on error.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the width of the image.

Errors/Exceptions

Throws a HaruException on error.

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.

Errors/Exceptions

Throws a HaruException on error.

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.

Errors/Exceptions

Throws a HaruException on error.

HaruImage::setColorMask
HaruEncoder
HaruImage


The HaruEncoder class

Введение

Haru PDF Encoder Class.

Class synopsis

HaruEncoder
HaruEncoder {
/* Methods */
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.

Errors/Exceptions

Throws a HaruException on error.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Errors/Exceptions

Throws a HaruException on error.

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.

Возвращаемые значения

Errors/Exceptions

Throws a HaruException on error.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Errors/Exceptions

Throws a HaruException on error.

HaruEncoder::getUnicode
HaruOutline
HaruEncoder


The HaruOutline class

Введение

Haru PDF Outline Class.

Class synopsis

HaruOutline
HaruOutline {
/* Methods */
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.

Errors/Exceptions

Throws a HaruException on error.

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.

Errors/Exceptions

Throws a HaruException on error.

HaruOutline::setDestination
HaruAnnotation
HaruOutline


The HaruAnnotation class

Введение

Haru PDF Annotation Class.

Class synopsis

HaruAnnotation
HaruAnnotation {
/* Methods */
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.

Errors/Exceptions

Throws a HaruException on error.

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.

Errors/Exceptions

Throws a HaruException on error.

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.

Errors/Exceptions

Throws a HaruException on error.

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.

Errors/Exceptions

Throws a HaruException on error.

HaruAnnotation::setIcon
HaruDestination
HaruAnnotation


The HaruDestination class

Введение

Haru PDF Destination Class.

Class synopsis

HaruDestination
HaruDestination {
/* Methods */
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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws a HaruException on error.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns TRUE on success.

Errors/Exceptions

Throws a HaruException on error.

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.

Errors/Exceptions

Throws a HaruException on error.

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.

Errors/Exceptions

Throws a HaruException on error.

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.

Errors/Exceptions

Throws a HaruException on error.

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.

Errors/Exceptions

Throws a HaruException on error.

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.

Errors/Exceptions

Throws a HaruException on error.

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.

Errors/Exceptions

Throws a HaruException on error.

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
Введение
Non-Text MIME Output


Введение

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 без уведомления. Используйте это расширение на свой страх и риск.

Замечание: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of 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.

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


Установка

Пример #1 built into PHP (Unix)

    mkdir <phpdir>/ext/ming
    cp php_ext/* <phpdir>/ext/ming
    cd <phpdir>
    ./buildconf
    ./configure --with-ming <other config options>

Build and install PHP as usual, restart web server if necessary.

Now either just add extension=php_ming.so to your php.ini file, or put dl('php_ming.so'); at the head of all of your Ming scripts.

Требования
Настройка во время выполнения
Установка и настройка


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

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если 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 CVS)

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 CVS)

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 CVS)

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 CVS)

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 CVS)

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 CVS)

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

Введение

SWFAction.

Class synopsis

SWFAction
SWFAction {
/* Methods */
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 CVS)

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

Введение

SWFBitmap.

Class synopsis

SWFBitmap
SWFBitmap {
/* Methods */
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 CVS)

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

Описание

SWFBitmap
float 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

Описание

SWFBitmap
float getWidth ( void )
Внимание

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

Returns the bitmap's width.

Возвращаемые значения

Returns the bitmap width in pixels.

Смотрите также

  • SWFBitmap->getHeight

SWFBitmap->getHeight
SWFButton
SWFBitmap


The SWFButton class

Введение

SWFButton.

Class synopsis

SWFButton
SWFButton {
/* Methods */
void 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

Описание

SWFButton
void 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 CVS)

SWFButton->addASound — Associates a sound with a button transition

Описание

SWFButton
SWFSoundInstance 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

Описание

SWFButton
void 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 CVS)

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

Описание

SWFButton
void 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)

Описание

SWFButton
void 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)

Описание

SWFButton
void 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 CVS)

SWFButton->setMenu — enable track as menu button behaviour

Описание

SWFButton
void 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)

Описание

SWFButton
void 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)

Описание

SWFButton
void setUp ( SWFShape $shape )
Внимание

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

swfbutton->setup() alias for addShape(shape, SWFBUTTON_UP).

Возвращаемые значения

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

Смотрите также

  • SWFButton->addShape
  • SWFAction

SWFButton->setOver
SWFDisplayItem
SWFButton


The SWFDisplayItem class

Введение

SWFDisplayItem.

Class synopsis

SWFDisplayItem
SWFDisplayItem {
/* Methods */
void 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

Описание

SWFDisplayItem
void 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

Описание

SWFDisplayItem
void 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 CVS)

SWFDisplayItem->endMask — Another way of defining a MASK layer

Описание

SWFDisplayItem
void endMask ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

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

SWFDisplayItem->addColor
SWFDisplayItem->getRot
SWFDisplayItem


SWFDisplayItem->endMask
SWFDisplayItem->getX
SWFDisplayItem
PHP Manual

SWFDisplayItem->getRot

(PHP 5 <= 5.3.0, PECL ming CVS)

SWFDisplayItem->getRot —

Описание

SWFDisplayItem
float getRot ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

SWFDisplayItem->endMask
SWFDisplayItem->getX
SWFDisplayItem


SWFDisplayItem->getRot
SWFDisplayItem->getXScale
SWFDisplayItem
PHP Manual

SWFDisplayItem->getX

(PHP 5 <= 5.3.0, PECL ming CVS)

SWFDisplayItem->getX —

Описание

SWFDisplayItem
float 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 CVS)

SWFDisplayItem->getXScale —

Описание

SWFDisplayItem
float 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 CVS)

SWFDisplayItem->getXSkew —

Описание

SWFDisplayItem
float 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 CVS)

SWFDisplayItem->getY —

Описание

SWFDisplayItem
float 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 CVS)

SWFDisplayItem->getYScale —

Описание

SWFDisplayItem
float 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 CVS)

SWFDisplayItem->getYSkew —

Описание

SWFDisplayItem
float 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

Описание

SWFDisplayItem
void 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

Описание

SWFDisplayItem
void 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

Описание

SWFDisplayItem
void 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 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

Возвращаемые значения

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

Примеры

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 CVS)

SWFDisplayItem->remove — Removes the object from the movie

Описание

SWFDisplayItem
void 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

Описание

SWFDisplayItem
void 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

Описание

SWFDisplayItem
void 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

Описание

SWFDisplayItem
void 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

Описание

SWFDisplayItem
void 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

Описание

SWFDisplayItem
void 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 CVS)

SWFDisplayItem->setMaskLevel — Defines a MASK layer at level

Описание

SWFDisplayItem
void 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

Описание

SWFDisplayItem
void 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

Описание

SWFDisplayItem
void 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

Описание

SWFDisplayItem
void 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

Описание

SWFDisplayItem
void 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

Описание

SWFDisplayItem
void 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

Описание

SWFDisplayItem
void 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

Описание

SWFDisplayItem
void 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

Введение

The SWFFill object allows you to transform (scale, skew, rotate) bitmap and gradient fills.

swffill objects are created by the SWFShape->addFill method.

Class synopsis

SWFFill
SWFFill {
/* Methods */
void 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

Описание

SWFFill
void 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

Описание

SWFFill
void 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

Описание

SWFFill
void 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

Описание

SWFFill
void 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

Описание

SWFFill
void 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

Введение

The SWFFont object represent a reference to the font definition, for us with SWFText->setFont and SWFTextField->setFont.

Class synopsis

SWFFont
SWFFont {
/* Methods */
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 CVS)

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

Описание

SWFFont
float 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

Описание

SWFFont
float 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

Описание

SWFFont
float 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 CVS)

SWFFont->getShape — Returns the glyph shape of a char as a text string

Описание

SWFFont
string 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 CVS)

SWFFont->getUTF8Width — Calculates the width of the given string in this font at full height

Описание

SWFFont
float 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

Описание

SWFFont
float 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

Введение

SWFFontChar.

Class synopsis

SWFFontChar
SWFFontChar {
/* Methods */
void 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 CVS)

SWFFontChar->addChars — Adds characters to a font for exporting font

Описание

SWFFontChar
void 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 CVS)

SWFFontChar->addUTF8Chars — Adds characters to a font for exporting font

Описание

SWFFontChar
void addUTF8Chars ( string $char )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

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

Смотрите также

  • SWFFontChar->addChars

SWFFontChar->addChars
SWFGradient
SWFFontChar


The SWFGradient class

Введение

SWFGradient.

Class synopsis

SWFGradient
SWFGradient {
/* Methods */
void 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

Описание

SWFGradient
void 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 CVS)

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

Введение

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.)

Class synopsis

SWFMorph
SWFMorph {
/* Methods */
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 CVS)

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

Описание

SWFMorph
SWFShape 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

Описание

SWFMorph
SWFShape getShape2 ( void )
Внимание

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

Gets the morph's ending shape.

Возвращаемые значения

Returns a SWFShape object.

Смотрите также

  • SWFMorph->getShape1

SWFMorph->getShape1
SWFMovie
SWFMorph


The SWFMovie class

Введение

SWFMovie is a movie object representing an SWF movie.

Class synopsis

SWFMovie
SWFMovie {
/* Methods */
mixed 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 ] )
int saveToFile ( resource $x [, int $compression ] )
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

Описание

SWFMovie
mixed 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 CVS)

SWFMovie->addExport —

Описание

SWFMovie
void 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 CVS)

SWFMovie->addFont —

Описание

SWFMovie
mixed 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 CVS)

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 CVS)

SWFMovie->importChar —

Описание

SWFMovie
SWFSprite 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 CVS)

SWFMovie->importFont —

Описание

SWFMovie
SWFFontChar 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

Описание

SWFMovie
void 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

Описание

SWFMovie
void 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

Описание

SWFMovie
int 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 CVS)

SWFMovie->remove — Removes the object instance from the display list

Описание

SWFMovie
void 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

Описание

SWFMovie
int save ( string $filename [, int $compression ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях 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 —

Описание

SWFMovie
int saveToFile ( resource $x [, int $compression ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

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

Описание

SWFMovie
void 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

Описание

SWFMovie
void 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

Описание

SWFMovie
void 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

Описание

SWFMovie
void 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 CVS)

SWFMovie->startSound —

Описание

SWFMovie
SWFSoundInstance 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 CVS)

SWFMovie->stopSound —

Описание

SWFMovie
void 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

Описание

SWFMovie
int 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 CVS)

SWFMovie->writeExports —

Описание

SWFMovie
void writeExports ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

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

SWFMovie->streamMP3
SWFPrebuiltClip
SWFMovie


The SWFPrebuiltClip class

Введение

SWFPrebuiltClip.

Class synopsis

SWFPrebuiltClip
SWFPrebuiltClip {
/* Methods */
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 CVS)

SWFPrebuiltClip->__construct — Returns a SWFPrebuiltClip object

Описание

SWFPrebuiltClip
SWFPrebuiltClip __construct ( mixed $file )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

SWFPrebuiltClip
SWFShape
SWFPrebuiltClip


The SWFShape class

Введение

SWFShape.

Class synopsis

SWFShape
SWFShape {
/* Methods */
SWFFill 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

Описание

SWFShape
SWFFill 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 CVS)

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

Описание

SWFShape
void 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

Описание

SWFShape
void 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

Описание

SWFShape
int 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 CVS)

SWFShape->drawCubicTo — Draws a cubic bezier curve using the current position and the three given points as control points

Описание

SWFShape
int 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)

Описание

SWFShape
int 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

Описание

SWFShape
int 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

Описание

SWFShape
void 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)

Описание

SWFShape
void 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

Описание

SWFShape
void 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)

Описание

SWFShape
void 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

Описание

SWFShape
void 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

Описание

SWFShape
void 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

Описание

SWFShape
void 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

Описание

SWFShape
void 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

Введение

SWFSound.

Class synopsis

SWFSound
SWFSound {
/* Methods */
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 CVS)

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

Введение

SWFSoundInstance objects are returned by the SWFSprite->startSound and SWFMovie->startSound methods.

Class synopsis

SWFSoundInstance
SWFSoundInstance {
/* Methods */
void 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 CVS)

SWFSoundInstance->loopCount —

Описание

SWFSoundInstance
void 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 CVS)

SWFSoundInstance->loopInPoint —

Описание

SWFSoundInstance
void 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 CVS)

SWFSoundInstance->loopOutPoint —

Описание

SWFSoundInstance
void 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 CVS)

SWFSoundInstance->noMultiple —

Описание

SWFSoundInstance
void noMultiple ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

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

SWFSoundInstance->loopOutPoint
SWFSprite
SWFSoundInstance


The SWFSprite class

Введение

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.

Class synopsis

SWFSprite
SWFSprite {
/* Methods */
void 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

Описание

SWFSprite
void 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 CVS)

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

Описание

SWFSprite
void 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

Описание

SWFSprite
void 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

Описание

SWFSprite
void 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

Описание

SWFSprite
void 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 CVS)

SWFSprite->startSound —

Описание

SWFSprite
SWFSoundInstance 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 CVS)

SWFSprite->stopSound —

Описание

SWFSprite
void stopSound ( SWFSound $sount )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

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

Смотрите также

  • SWFSprite->startSound

SWFSprite->startSound
SWFText
SWFSprite


The SWFText class

Введение

SWFText.

Class synopsis

SWFText
SWFText {
/* Methods */
void 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

Описание

SWFText
void 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 CVS)

SWFText->addUTF8String — Writes the given text into this SWFText object at the current pen position, using the current font, height, spacing, and color

Описание

SWFText
void 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 CVS)

SWFText->__construct — Creates a new SWFText object

Описание

SWFText
void __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

Описание

SWFText
float 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

Описание

SWFText
float 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

Описание

SWFText
float 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 CVS)

SWFText->getUTF8Width — calculates the width of the given string in this text objects current font and size

Описание

SWFText
float 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

Описание

SWFText
float 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

Описание

SWFText
void 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

Описание

SWFText
void 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

Описание

SWFText
void 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

Описание

SWFText
void 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

Описание

SWFText
void 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

Введение

SWFTextField.

Class synopsis

SWFTextField
SWFTextField {
/* Methods */
void 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 CVS)

SWFTextField->addChars — adds characters to a font that will be available within a textfield

Описание

SWFTextField
void 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

Описание

SWFTextField
void 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

Описание

SWFTextField
void 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 CVS)

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

Описание

SWFTextField
void 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

Описание

SWFTextField
void 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

Описание

SWFTextField
void 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

Описание

SWFTextField
void 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

Описание

SWFTextField
void 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

Описание

SWFTextField
void 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

Описание

SWFTextField
void 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

Описание

SWFTextField
void 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

Описание

SWFTextField
void 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 CVS)

SWFTextField->setPadding — Sets the padding of this textfield

Описание

SWFTextField
void 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

Описание

SWFTextField
void 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

Введение

SWFVideoStream.

Class synopsis

SWFVideoStream
SWFVideoStream {
/* Methods */
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 CVS)

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 CVS)

SWFVideoStream->getNumFrames — Returns the number of frames in the video

Описание

SWFVideoStream
int 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 CVS)

SWFVideoStream->setDimension — Sets video dimension

Описание

SWFVideoStream
void 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

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Basic Usage Examples
  • 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 — Draw a counterclockwise circular arc segment
    • PDF_arcn — Draw a clockwise circular arc segment
    • 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 — Draw a circle
    • PDF_clip — Clip to current path
    • PDF_close_image — Close image
    • PDF_close_pdi_page — Close the page handle
    • PDF_close_pdi — Close the input PDF document [deprecated]
    • PDF_close — Close pdf resource [deprecated]
    • 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 — Create 3D view
    • PDF_create_action — Create action for objects or events
    • PDF_create_annotation — Create rectangular 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 — Delete PDFlib object
    • 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 — Get error text
    • PDF_get_errnum — Get error number
    • PDF_get_font — Get font [deprecated]
    • PDF_get_fontname — Get font name [deprecated]
    • PDF_get_fontsize — Font handling [deprecated]
    • PDF_get_image_height — Get image height [deprecated]
    • PDF_get_image_width — Get image width [deprecated]
    • 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 — Create PDFlib object
    • PDF_open_ccitt — Open raw CCITT image [deprecated]
    • PDF_open_file — Create PDF file [deprecated]
    • PDF_open_gif — Open GIF image [deprecated]
    • PDF_open_image_file — Read image from file [deprecated]
    • PDF_open_image — Use image data [deprecated]
    • PDF_open_jpeg — Open JPEG image [deprecated]
    • PDF_open_memory_image — Open image created with PHP's image functions [not supported]
    • PDF_open_pdi_page — Prepare a page
    • PDF_open_pdi — Open PDF file [deprecated]
    • PDF_open_tiff — Open TIFF image [deprecated]
    • 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 — Draw rectangle
    • PDF_restore — Restore graphics state
    • PDF_resume_page — Resume page
    • PDF_rotate — Rotate coordinate system
    • PDF_save — Save graphics state
    • PDF_scale — Scale coordinate system
    • 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 — Set text position
    • 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 — Convert string from UTF-16 to UTF-8
    • PDF_utf32_to_utf16 — Convert string from UTF-32 to UTF-16
    • PDF_utf8_to_utf16 — Convert string from UTF-8 to UTF-16
SWFVideoStream->setDimension
Введение
Non-Text MIME Output


Введение

The PDF functions in PHP can create PDF files using the PDFlib library which was initially created by Thomas Merz and is now maintained by » PDFlib GmbH.

The documentation in this section is only meant to be an overview of the available functions in the PDFlib library and should not be considered an exhaustive reference. For the full and detailed explanation of each function, consult the PDFlib Reference Manual which is included in all PDFlib packages distributed by PDFlib GmbH. It provides a very good overview of what PDFlib is capable of doing and contains the most up-to-date documentation of all functions.

For a jump start we urge you to take a look at the programming samples which are contained in all PDFlib distribution packages. These samples demonstrate basic text, vector, and graphics output as well as higher-level functions, such as the PDF import facility (PDI).

All of the functions in PDFlib and the PHP module have identical function names and parameters. Unless configured otherwise, all lengths and coordinates are measured in PostScript points. There are generally 72 PostScript points to an inch, but this depends on the output resolution. Please see the PDFlib Reference Manual included in the PDFlib distribution for a more thorough explanation of the coordinate system used.

With version 6, PDFlib offers an object-oriented API for PHP 5 in addition to the function-oriented API for PHP 4. The main difference is the following:

In PHP 4, first a PDF resource has to be retrieved with a function call like

$p = PDF_new().

This PDF resource is used as the first parameter in all further function calls, such as in

PDF_begin_document($p, "", "").

In PHP 5 however, a PDFlib object is created with

$p = new PDFlib().

This object offers all PDFlib API functions as methods, e.g. as with

$p->begin_document("", "").

In addition, exceptions have been introduced in PHP 5 which are supported by PDFlib 6 and later as well.

Please see the examples below for more information.

Замечание: If you're interested in alternative free PDF generators that do not utilize external PDF libraries, see this related FAQ.

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


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
PDF


Требования

PDFlib Lite is available as open source. However, the PDFlib Lite license allows free use only under certain conditions. PDFlib Lite supports a subset of PDFlib's functionality; please see the PDFlib web site for details. The full version of PDFlib is available for download at » http://www.pdflib.com/products/pdflib-family/, but requires that you purchase a license for commercial use.

Issues with older versions of PDFlib

Any version of PHP 4 after March 9, 2000 does not support versions of PDFlib older than 3.0.

PDFlib 4.0 or greater is supported by PHP 4.3.0 and later.

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


Установка

Это расширение » PECL не поставляется вместе с PHP. Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, могут быть найдены здесь: » http://pecl.php.net/package/pdflib.

To get these functions to work in PHP < 4.3.9, you have to compile PHP with --with-pdflib[=DIR]. DIR is the PDFlib base install directory, defaults to /usr/local.

Требования
Настройка во время выполнения
Установка и настройка


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

PDF_new() creates a new PDFlib object required by most PDF functions.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


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

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

Типы ресурсов
Примеры
PDF


Примеры

Содержание

  • Basic Usage Examples
Предопределенные константы
Basic Usage Examples
PDF


Basic Usage Examples

Most of the functions are fairly easy to use. The most difficult part is probably creating your first PDF document. The following example should help to get you started. It is developed for PHP 4 and creates the file hello.pdf with one page. It defines some document info field contents, loads the Helvetica-Bold font and outputs the text "Hello world! (says PHP)".

Пример #1 Hello World example from PDFlib distribution for PHP 4

<?php
$p = PDF_new();

/*  open new PDF file; insert a file name to create the PDF on disk */
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);
?>

The following example comes with the PDFlib distribution for PHP 5. It uses the new exception handling and object encapsulation features available in PHP 5. It creates the file hello.pdf with one page. It defines some document info field contents, loads the Helvetica-Bold font and outputs the text "Hello world! (says PHP)".

Пример #2 Hello World example from PDFlib distribution for PHP 5

<?php

try {
    $p = new PDFlib();

    /*  open new PDF file; insert a file name to create the PDF on disk */
    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 Функции

Remarks about Deprecated PDFlib Functions

Starting with PHP 4.0.5, the PHP extension for PDFlib is officially supported by PDFlib GmbH. This means that all the functions described in the PDFlib Reference Manual are supported by PHP 4 with exactly the same meaning and the same parameters. However, with PDFlib Version 5.0.4 or higher all parameters have to be specified. For compatibility reasons, this binding for PDFlib still supports most of the deprecated functions, but they should be replaced by their new versions. PDFlib GmbH will not support any problems arising from the use of these deprecated functions. The documentation in this section indicates old functions as "Deprecated" and gives the replacement function to be used instead.

Содержание

  • 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 — Draw a counterclockwise circular arc segment
  • PDF_arcn — Draw a clockwise circular arc segment
  • 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 — Draw a circle
  • PDF_clip — Clip to current path
  • PDF_close_image — Close image
  • PDF_close_pdi_page — Close the page handle
  • PDF_close_pdi — Close the input PDF document [deprecated]
  • PDF_close — Close pdf resource [deprecated]
  • 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 — Create 3D view
  • PDF_create_action — Create action for objects or events
  • PDF_create_annotation — Create rectangular 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 — Delete PDFlib object
  • 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 — Get error text
  • PDF_get_errnum — Get error number
  • PDF_get_font — Get font [deprecated]
  • PDF_get_fontname — Get font name [deprecated]
  • PDF_get_fontsize — Font handling [deprecated]
  • PDF_get_image_height — Get image height [deprecated]
  • PDF_get_image_width — Get image width [deprecated]
  • 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 — Create PDFlib object
  • PDF_open_ccitt — Open raw CCITT image [deprecated]
  • PDF_open_file — Create PDF file [deprecated]
  • PDF_open_gif — Open GIF image [deprecated]
  • PDF_open_image_file — Read image from file [deprecated]
  • PDF_open_image — Use image data [deprecated]
  • PDF_open_jpeg — Open JPEG image [deprecated]
  • PDF_open_memory_image — Open image created with PHP's image functions [not supported]
  • PDF_open_pdi_page — Prepare a page
  • PDF_open_pdi — Open PDF file [deprecated]
  • PDF_open_tiff — Open TIFF image [deprecated]
  • 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 — Draw rectangle
  • PDF_restore — Restore graphics state
  • PDF_resume_page — Resume page
  • PDF_rotate — Rotate coordinate system
  • PDF_save — Save graphics state
  • PDF_scale — Scale coordinate system
  • 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 — Set text position
  • 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 — Convert string from UTF-16 to UTF-8
  • PDF_utf32_to_utf16 — Convert string from UTF-32 to UTF-16
  • PDF_utf8_to_utf16 — Convert string from UTF-8 to UTF-16
Basic Usage Examples
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 Функции


Draw a counterclockwise circular arc segment

PDF_add_weblink
PDF_arcn
PDF Функции
PHP Manual

PDF_arc

(PHP 4, PECL pdflib >= 1.0.0)

PDF_arc — Draw a counterclockwise circular arc segment

Описание

bool PDF_arc ( resource $p , float $x , float $y , float $r , float $alpha , float $beta )

Adds a counterclockwise circular arc.

PDF_add_weblink
PDF_arcn
PDF Функции


Draw a clockwise circular arc segment

PDF_arc
PDF_attach_file
PDF Функции
PHP Manual

PDF_arcn

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_arcn — Draw a clockwise circular arc segment

Описание

bool PDF_arcn ( resource $p , float $x , float $y , float $r , float $alpha , float $beta )

Except for the drawing direction, this function behaves exactly like 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 Функции


Draw a circle

PDF_begin_template
PDF_clip
PDF Функции
PHP Manual

PDF_circle

(PHP 4, PECL pdflib >= 1.0.0)

PDF_circle — Draw a circle

Описание

bool PDF_circle ( resource $pdfdoc , float $x , float $y , float $r )

Adds a circle. Возвращает 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 Функции


Close image

PDF_clip
PDF_close_pdi_page
PDF Функции
PHP Manual

PDF_close_image

(PHP 4, PECL pdflib >= 1.0.0)

PDF_close_image — Close image

Описание

bool PDF_close_image ( resource $p , int $image )

Closes an image retrieved with the PDF_open_image() function.

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 Функции


Close pdf resource [deprecated]

PDF_close_pdi
PDF_closepath_fill_stroke
PDF Функции
PHP Manual

PDF_close

(PHP 4, PECL pdflib >= 1.0.0)

PDF_close — Close pdf resource [deprecated]

Описание

bool PDF_close ( resource $p )

Closes the generated PDF file, and frees all document-related resources. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

This function is deprecated since PDFlib version 6, use PDF_end_document() instead.

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 Функции


Create 3D view

PDF_continue_text
PDF_create_action
PDF Функции
PHP Manual

PDF_create_3dview

(PECL pdflib >= 2.1.0)

PDF_create_3dview — Create 3D view

Описание

int PDF_create_3dview ( resource $pdfdoc , string $username , string $optlist )

Creates a 3D view.

This function requires 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 Функции


Create rectangular annotation

PDF_create_action
PDF_create_bookmark
PDF Функции
PHP Manual

PDF_create_annotation

(PECL pdflib >= 2.0.0)

PDF_create_annotation — Create rectangular annotation

Описание

bool PDF_create_annotation ( resource $pdfdoc , float $llx , float $lly , float $urx , float $ury , string $type , string $optlist )

Creates a rectangular annotation on the current page.

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 Функции


Delete PDFlib object

PDF_delete_textflow
PDF_encoding_set_char
PDF Функции
PHP Manual

PDF_delete

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_delete — Delete PDFlib object

Описание

bool PDF_delete ( resource $pdfdoc )

Deletes a PDFlib object, and frees all internal resources. Возвращает 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 Функции


Get error text

PDF_get_buffer
PDF_get_errnum
PDF Функции
PHP Manual

PDF_get_errmsg

(PECL pdflib >= 2.0.0)

PDF_get_errmsg — Get error text

Описание

string PDF_get_errmsg ( resource $pdfdoc )

Gets the text of the last thrown exception or the reason for a failed function call.

PDF_get_buffer
PDF_get_errnum
PDF Функции


Get error number

PDF_get_errmsg
PDF_get_font
PDF Функции
PHP Manual

PDF_get_errnum

(PECL pdflib >= 2.0.0)

PDF_get_errnum — Get error number

Описание

int PDF_get_errnum ( resource $pdfdoc )

Gets the number of the last thrown exception or the reason for a failed function call.

PDF_get_errmsg
PDF_get_font
PDF Функции


Get font [deprecated]

PDF_get_errnum
PDF_get_fontname
PDF Функции
PHP Manual

PDF_get_font

(PHP 4, PECL pdflib >= 1.0.0)

PDF_get_font — Get font [deprecated]

Описание

This function is deprecated since PDFlib version 3, use PDF_get_value() with the parameter font instead.

PDF_get_errnum
PDF_get_fontname
PDF Функции


Get font name [deprecated]

PDF_get_font
PDF_get_fontsize
PDF Функции
PHP Manual

PDF_get_fontname

(PHP 4, PECL pdflib >= 1.0.0)

PDF_get_fontname — Get font name [deprecated]

Описание

This function is deprecated since PDFlib version 3, use PDF_get_parameter() with the parameter fontname instead.

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 fontsize instead.

PDF_get_fontname
PDF_get_image_height
PDF Функции


Get image height [deprecated]

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 — Get image height [deprecated]

Описание

This function is deprecated since PDFlib version 3, use PDF_get_value() with the parameter imageheight instead.

PDF_get_fontsize
PDF_get_image_width
PDF Функции


Get image width [deprecated]

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 — Get image width [deprecated]

Описание

This function is deprecated since PDFlib version 3, use PDF_get_value() with the parameter imagewidth instead.

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 Функции


Create PDFlib object

PDF_moveto
PDF_open_ccitt
PDF Функции
PHP Manual

PDF_new

(PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0)

PDF_new — Create PDFlib object

Описание

resource PDF_new ( void )

Creates a new PDFlib object with default settings.

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 Функции


Create PDF file [deprecated]

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 — Create PDF file [deprecated]

Описание

bool PDF_open_file ( resource $p , string $filename )

Creates a new PDF file using the supplied file name. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

This function is deprecated since PDFlib version 6, use PDF_begin_document() instead.

PDF_open_ccitt
PDF_open_gif
PDF Функции


Open GIF image [deprecated]

PDF_open_file
PDF_open_image_file
PDF Функции
PHP Manual

PDF_open_gif

(PHP 4, PECL pdflib >= 1.0.0)

PDF_open_gif — Open GIF image [deprecated]

Описание

This function is deprecated since PDFlib version 3, use PDF_load_image() instead.

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 Функции


Open JPEG image [deprecated]

PDF_open_image
PDF_open_memory_image
PDF Функции
PHP Manual

PDF_open_jpeg

(PHP 4, PECL pdflib >= 1.0.0)

PDF_open_jpeg — Open JPEG image [deprecated]

Описание

This function is deprecated since PDFlib version 3, use PDF_load_image() instead.

PDF_open_image
PDF_open_memory_image
PDF Функции


Open image created with PHP's image functions [not supported]

PDF_open_jpeg
PDF_open_pdi_page
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_page
PDF Функции


Prepare a page

PDF_open_memory_image
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_memory_image
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 Функции


Open TIFF image [deprecated]

PDF_open_pdi
PDF_pcos_get_number
PDF Функции
PHP Manual

PDF_open_tiff

(PHP 4, PECL pdflib >= 1.0.0)

PDF_open_tiff — Open TIFF image [deprecated]

Описание

This function is deprecated since PDFlib version 3, use PDF_load_image() instead.

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 Функции


Draw rectangle

PDF_process_pdi
PDF_restore
PDF Функции
PHP Manual

PDF_rect

(PHP 4, PECL pdflib >= 1.0.0)

PDF_rect — Draw rectangle

Описание

bool PDF_rect ( resource $p , float $x , float $y , float $width , float $height )

Draws a rectangle. Возвращает 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 Функции


Rotate coordinate system

PDF_resume_page
PDF_save
PDF Функции
PHP Manual

PDF_rotate

(PHP 4, PECL pdflib >= 1.0.0)

PDF_rotate — Rotate coordinate system

Описание

bool PDF_rotate ( resource $p , float $phi )

Rotates the coordinate system. Возвращает 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 Функции


Scale coordinate system

PDF_save
PDF_set_border_color
PDF Функции
PHP Manual

PDF_scale

(PHP 4, PECL pdflib >= 1.0.0)

PDF_scale — Scale coordinate system

Описание

bool PDF_scale ( resource $p , float $sx , float $sy )

Scales the coordinate system. Возвращает 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 Функции


Set text position

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 — Set text position

Описание

bool PDF_set_text_pos ( resource $p , float $x , float $y )

Sets the position for text output on the page. Возвращает 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 Функции


Convert string from UTF-16 to UTF-8

PDF_translate
PDF_utf32_to_utf16
PDF Функции
PHP Manual

PDF_utf16_to_utf8

(PECL pdflib >= 2.0.3)

PDF_utf16_to_utf8 — Convert string from UTF-16 to UTF-8

Описание

string PDF_utf16_to_utf8 ( resource $pdfdoc , string $utf16string )

Converts a string from UTF-16 format to UTF-8.

PDF_translate
PDF_utf32_to_utf16
PDF Функции


Convert string from UTF-32 to 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 — Convert string from UTF-32 to UTF-16

Описание

string PDF_utf32_to_utf16 ( resource $pdfdoc , string $utf32string , string $ordering )

Converts a string from UTF-32 format to UTF-16.

PDF_utf16_to_utf8
PDF_utf8_to_utf16
PDF Функции


Convert string from UTF-8 to UTF-16

PDF_utf32_to_utf16
PS
PDF Функции
PHP Manual

PDF_utf8_to_utf16

(PECL pdflib >= 2.0.3)

PDF_utf8_to_utf16 — Convert string from UTF-8 to UTF-16

Описание

string PDF_utf8_to_utf16 ( resource $pdfdoc , string $utf8string , string $ordering )

Converts a string from UTF-8 format to 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
Введение
Non-Text MIME Output


Введение

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/.

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


Установка

A short installation note: just type

$ pecl install ps
in your console.

Требования
Настройка во время выполнения
Установка и настройка


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

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.

The note will not be visible if the document is printed or viewed but it will show up if the document is converted to pdf by either Acrobat Distiller™ or 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.

The note will not be visible if the document is printed or viewed but it will show up if the document is converted to pdf by either Acrobat Distiller™ or 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.

The note will not be visible if the document is printed or viewed but it will show up if the document is converted to pdf by either Acrobat Distiller™ or 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.

The note will not be visible if the document is printed or viewed but it will show up if the document is converted to pdf by either Acrobat Distiller™ or 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.

The note will not be visible if the document is printed or viewed but it will show up if the document is converted to pdf by either Acrobat Distiller™ or 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.

The note will not be visible if the document is printed or viewed but it will show up if the document is converted to pdf by either Acrobat Distiller™ or 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 or FALSE in case of an error.

Примеры

Пример #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 or FALSE on failure.

Смотрите также

  • 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 or FALSE in case of an error.

Смотрите также

  • 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 or FALSE in case of an error.

Примеры

Пример #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 or FALSE on failure. 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 or FALSE in case of an error.

Смотрите также

  • 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 or FALSE in case of an error.

Смотрите также

  • 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 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
Введение
Non-Text MIME Output


Введение

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.

Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и 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 unto 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
Введение
Non-Text MIME Output


Введение

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.

Замечание: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of 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/.

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


Установка

Once you have libswf all you need to do is to configure --with-swf[=DIR] where DIR is a location containing the directories include and lib. The include directory has to contain the swf.h file and the lib directory has to contain the libswf.a file. If you unpack the libswf distribution the two files will be in one directory. Consequently you will have to copy the files to the proper location manually.

Требования
Настройка во время выполнения
Установка и настройка


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

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если 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 unto 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 )

Pushes the current transformation matrix back onto the stack.

Возвращаемые значения

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

Смотрите также

  • swf_pushmatrix() - Push the current transformation matrix back unto 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 unto the stack

swf_posround
swf_removeobject
SWF Функции
PHP Manual

swf_pushmatrix

(PHP 4)

swf_pushmatrix — Push the current transformation matrix back unto 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
Process Control Extensions
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
Process Control Extensions
SWF Функции


Process Control Extensions

  • Program execution — System program execution
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Program execution Функции
  • Expect
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Expect Функции
  • PCNTL — Process Control
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • PCNTL Функции
  • POSIX
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • POSIX Функции
  • Semaphore — Semaphore, Shared Memory and IPC
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Semaphore Функции
  • Shared Memory
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Shared Memory Функции
swf_viewport
Program execution
Справочник функций


System program execution

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Program execution Функции
    • escapeshellarg — Escape a string to be used as a shell argument
    • escapeshellcmd — Escape shell metacharacters
    • exec — Execute an external program
    • passthru — Execute an external program and display raw output
    • proc_close — Close a process opened by proc_open and return the exit code of that process
    • proc_get_status — Get information about a process opened by proc_open
    • proc_nice — Change the priority of the current process
    • proc_open — Execute a command and open file pointers for input/output
    • proc_terminate — Kills a process opened by proc_open
    • shell_exec — Execute command via shell and return the complete output as a string
    • system — Execute an external program and display the output
Process Control Extensions
Введение
Process Control Extensions


Введение

Those functions provide means to execute commands on the system itself, and means to secure such commands.

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


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

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Program execution


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

This extension defines a process resource, returned by proc_open().

Настройка во время выполнения
Предопределенные константы
Установка и настройка


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

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

Типы ресурсов
Program execution Функции
Program execution


Program execution Функции

Примечания

Внимание

Open files with lock (especially open sessions) should be closed before executing a program in the background.

Смотрите также

These functions are also closely related to the backtick operator. Also, while in безопасный режим you must consider the safe_mode_exec_dir directive.

Содержание

  • escapeshellarg — Escape a string to be used as a shell argument
  • escapeshellcmd — Escape shell metacharacters
  • exec — Execute an external program
  • passthru — Execute an external program and display raw output
  • proc_close — Close a process opened by proc_open and return the exit code of that process
  • proc_get_status — Get information about a process opened by proc_open
  • proc_nice — Change the priority of the current process
  • proc_open — Execute a command and open file pointers for input/output
  • proc_terminate — Kills a process opened by proc_open
  • shell_exec — Execute command via shell and return the complete output as a string
  • system — Execute an external program and display the output
Предопределенные константы
escapeshellarg
Program execution


Escape a string to be used as a shell argument

Program execution Функции
escapeshellcmd
Program execution Функции
PHP Manual

escapeshellarg

(PHP 4 >= 4.0.3, PHP 5)

escapeshellarg — Escape a string to be used as a shell argument

Описание

string escapeshellarg ( string $arg )

escapeshellarg() adds single quotes around a string and quotes/escapes any existing single quotes allowing you to pass a string directly to a shell function and having it be treated as a single safe argument. This function should be used to escape individual arguments to shell functions coming from user input. The shell functions include exec(), system() and the backtick operator.

Список параметров

arg

The argument that will be escaped.

Возвращаемые значения

The escaped string.

Примеры

Пример #1 escapeshellarg() example

<?php
system('ls '.escapeshellarg($dir));
?>

Смотрите также

  • escapeshellcmd() - Escape shell metacharacters
  • exec() - Execute an external program
  • popen() - Открывает файловый указатель процесса
  • system() - Execute an external program and display the output
  • backtick operator

Program execution Функции
escapeshellcmd
Program execution Функции


Escape shell metacharacters

escapeshellarg
exec
Program execution Функции
PHP Manual

escapeshellcmd

(PHP 4, PHP 5)

escapeshellcmd — Escape shell metacharacters

Описание

string escapeshellcmd ( string $command )

escapeshellcmd() escapes any characters in a string that might be used to trick a shell command into executing arbitrary commands. This function should be used to make sure that any data coming from user input is escaped before this data is passed to the exec() or system() functions, or to the backtick operator.

Following characters are preceded by a backslash: #&;`|*?~<>^()[]{}$\, \x0A and \xFF. ' and " are escaped only if they are not paired. In Windows, all these characters plus % are replaced by a space instead.

Список параметров

command

The command that will be escaped.

Возвращаемые значения

The escaped string.

Примеры

Пример #1 escapeshellcmd() example

<?php
$e = escapeshellcmd($userinput);

// here we don't care if $e has spaces
system("echo $e");
$f = escapeshellcmd($filename);

// and here we do, so we use quotes
system("touch \"/tmp/$f\"; ls -l \"/tmp/$f\"");
?>

Смотрите также

  • escapeshellarg() - Escape a string to be used as a shell argument
  • exec() - Execute an external program
  • popen() - Открывает файловый указатель процесса
  • system() - Execute an external program and display the output
  • backtick operator

escapeshellarg
exec
Program execution Функции


Execute an external program

escapeshellcmd
passthru
Program execution Функции
PHP Manual

exec

(PHP 4, PHP 5)

exec — Execute an external program

Описание

string exec ( string $command [, array &$output [, int &$return_var ]] )

exec() executes the given command .

Список параметров

command

The command that will be executed.

output

If the output argument is present, then the specified array will be filled with every line of output from the command. Trailing whitespace, such as \n, is not included in this array. Note that if the array already contains some elements, exec() will append to the end of the array. If you do not want the function to append elements, call unset() on the array before passing it to exec().

return_var

If the return_var argument is present along with the output argument, then the return status of the executed command will be written to this variable.

Возвращаемые значения

The last line from the result of the command. If you need to execute a command and have all the data from the command passed directly back without any interference, use the passthru() function.

To get the output of the executed command, be sure to set and use the output parameter.

Примеры

Пример #1 An exec() example

<?php
// outputs the username that owns the running php/httpd process
// (on a system with the "whoami" executable in the path)
echo exec('whoami');
?>

Примечания

Внимание

Если вы собираетесь передавать функции данные, отправленные пользователем, вы должны использовать функции escapeshellarg() или escapeshellcmd() для того, чтобы обезопасить исполнение команд.

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

Замечание: В случае работы в безопасном режиме, вы можете запускать что-либо только в пределах safe_mode_exec_dir. В настоящее время, использование .. в пути запрещено

Внимание

В случае работы в безопасном режиме, все слова, следующие за начальной командой, рассматриваются как единый аргумент. То есть echo y | echo x будет работать как echo "y | echo x".

Смотрите также

  • system() - Execute an external program and display the output
  • passthru() - Execute an external program and display raw output
  • escapeshellcmd() - Escape shell metacharacters
  • pcntl_exec() - Executes specified program in current process space
  • backtick operator

escapeshellcmd
passthru
Program execution Функции


Execute an external program and display raw output

exec
proc_close
Program execution Функции
PHP Manual

passthru

(PHP 4, PHP 5)

passthru — Execute an external program and display raw output

Описание

void passthru ( string $command [, int &$return_var ] )

The passthru() function is similar to the exec() function in that it executes a command . This function should be used in place of exec() or system() when the output from the Unix command is binary data which needs to be passed directly back to the browser. A common use for this is to execute something like the pbmplus utilities that can output an image stream directly. By setting the Content-type to image/gif and then calling a pbmplus program to output a gif, you can create PHP scripts that output images directly.

Список параметров

command

The command that will be executed.

return_var

If the return_var argument is present, the return status of the Unix command will be placed here.

Возвращаемые значения

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

Примечания

Внимание

Если вы собираетесь передавать функции данные, отправленные пользователем, вы должны использовать функции escapeshellarg() или escapeshellcmd() для того, чтобы обезопасить исполнение команд.

Замечание: Если вы собираетесь использовать эту функцию в программе, работающей в качестве демона, убедитесь, что стандартный вывод функции направлен в файл или другой поток, в противном случае PHP зависнет вплоть до конца выполнения программы.

Замечание: В случае работы в безопасном режиме, вы можете запускать что-либо только в пределах safe_mode_exec_dir. В настоящее время, использование .. в пути запрещено

Внимание

В случае работы в безопасном режиме, все слова, следующие за начальной командой, рассматриваются как единый аргумент. То есть echo y | echo x будет работать как echo "y | echo x".

Смотрите также

  • exec() - Execute an external program
  • system() - Execute an external program and display the output
  • popen() - Открывает файловый указатель процесса
  • escapeshellcmd() - Escape shell metacharacters
  • backtick operator

exec
proc_close
Program execution Функции


Close a process opened by proc_open and return the exit code of that process

passthru
proc_get_status
Program execution Функции
PHP Manual

proc_close

(PHP 4 >= 4.3.0, PHP 5)

proc_close — Close a process opened by proc_open() and return the exit code of that process

Описание

int proc_close ( resource $process )

proc_close() is similar to pclose() except that it only works on processes opened by proc_open(). proc_close() waits for the process to terminate, and returns its exit code. If you have open pipes to that process, you should fclose() them prior to calling this function in order to avoid a deadlock - the child process may not be able to exit while the pipes are open.

Список параметров

process

The proc_open() resource that will be closed.

Возвращаемые значения

Returns the termination status of the process that was run.

passthru
proc_get_status
Program execution Функции


Get information about a process opened by proc_open

proc_close
proc_nice
Program execution Функции
PHP Manual

proc_get_status

(PHP 5)

proc_get_status — Get information about a process opened by proc_open()

Описание

array proc_get_status ( resource $process )

proc_get_status() fetches data about a process opened using proc_open().

Список параметров

process

The proc_open() resource that will be evaluated.

Возвращаемые значения

An array of collected information on success, and FALSE on failure. The returned array contains the following elements:

element | type | description
command | string | The command string that was passed to proc_open().
pid | int | process id
running | bool | TRUE if the process is still running, FALSE if it has terminated.
signaled | bool | TRUE if the child process has been terminated by an uncaught signal. Always set to FALSE on Windows.
stopped | bool | TRUE if the child process has been stopped by a signal. Always set to FALSE on Windows.
exitcode | int | The exit code returned by the process (which is only meaningful if running is FALSE). Only first call of this function return real value, next calls return -1.
termsig | int | The number of the signal that caused the child process to terminate its execution (only meaningful if signaled is TRUE).
stopsig | int | The number of the signal that caused the child process to stop its execution (only meaningful if stopped is TRUE).

Смотрите также

  • proc_open() - Execute a command and open file pointers for input/output

proc_close
proc_nice
Program execution Функции


Change the priority of the current process

proc_get_status
proc_open
Program execution Функции
PHP Manual

proc_nice

(PHP 5)

proc_nice — Change the priority of the current process

Описание

bool proc_nice ( int $increment )

proc_nice() changes the priority of the current process by the amount specified in increment . A positive increment will lower the priority of the current process, whereas a negative increment will raise the priority.

proc_nice() is not related to proc_open() and its associated functions in any way.

Список параметров

increment

The increment value of the priority change.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. If an error occurs, like the user lacks permission to change the priority, an error of level E_WARNING is also generated.

Примечания

Замечание: Availability
proc_nice() will only exist if your system has 'nice' capabilities. 'nice' conforms to: SVr4, SVID EXT, AT&T, X/OPEN, BSD 4.3. This means that proc_nice() is not available on Windows.

proc_get_status
proc_open
Program execution Функции


Execute a command and open file pointers for input/output

proc_nice
proc_terminate
Program execution Функции
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())
  • binary_pipes: open pipes in binary mode, instead of using the usual stream_encoding

Возвращаемые значения

Returns a resource representing the process, which should be freed using proc_close() when you are finished with it. On failure returns FALSE.

Список изменений

Версия | Описание
6.0.0 | Added the context and binary_pipes options to the other_options parameter.
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() - Execute an external program
  • system() - Execute an external program and display the output
  • passthru() - Execute an external program and display raw output
  • stream_select() - Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and tv_usec
  • The backtick operator

proc_nice
proc_terminate
Program execution Функции


Kills a process opened by proc_open

proc_open
shell_exec
Program execution Функции
PHP Manual

proc_terminate

(PHP 5)

proc_terminate — Kills a process opened by proc_open

Описание

bool proc_terminate ( resource $process [, int $signal= 15 ] )

Signals a process (created using proc_open()) that it should terminate. proc_terminate() returns immediately and does not wait for the process to terminate.

proc_terminate() allows you terminate the process and continue with other tasks. You may poll the process (to see if it has stopped yet) by using the proc_get_status() function.

Список параметров

process

The proc_open() resource that will be closed.

signal

This optional parameter is only useful on POSIX operating systems; you may specify a signal to send to the process using the kill(2) system call. The default is SIGTERM.

Возвращаемые значения

Returns the termination status of the process that was run.

Список изменений

Версия | Описание
5.2.2 | Previous versions used to destroy the given process resource .

Смотрите также

  • proc_open() - Execute a command and open file pointers for input/output
  • proc_close() - Close a process opened by proc_open and return the exit code of that process
  • proc_get_status() - Get information about a process opened by proc_open

proc_open
shell_exec
Program execution Функции


Execute command via shell and return the complete output as a string

proc_terminate
system
Program execution Функции
PHP Manual

shell_exec

(PHP 4, PHP 5)

shell_exec — Execute command via shell and return the complete output as a string

Описание

string shell_exec ( string $cmd )

This function is identical to the backtick operator.

Список параметров

cmd

The command that will be executed.

Возвращаемые значения

The output from the executed command.

Примеры

Пример #1 A shell_exec() example

<?php
$output = shell_exec('ls -lart');
echo "<pre>$output</pre>";
?>

Примечания

Замечание: Эта функция недоступна в безопасном режиме.

Смотрите также

  • exec() - Execute an external program
  • escapeshellcmd() - Escape shell metacharacters

proc_terminate
system
Program execution Функции


Execute an external program and display the output

shell_exec
Expect
Program execution Функции
PHP Manual

system

(PHP 4, PHP 5)

system — Execute an external program and display the output

Описание

string system ( string $command [, int &$return_var ] )

system() is just like the C version of the function in that it executes the given command and outputs the result.

The system() call also tries to automatically flush the web server's output buffer after each line of output if PHP is running as a server module.

If you need to execute a command and have all the data from the command passed directly back without any interference, use the passthru() function.

Список параметров

command

The command that will be executed.

return_var

If the return_var argument is present, then the return status of the executed command will be written to this variable.

Возвращаемые значения

Returns the last line of the command output on success, and FALSE on failure.

Примеры

Пример #1 system() example

<?php
echo '<pre>';

// Outputs all the result of shellcommand "ls", and returns
// the last output line into $last_line. Stores the return value
// of the shell command in $retval.
$last_line = system('ls', $retval);

// Printing additional info
echo '
</pre>
<hr />Last line of the output: ' . $last_line . '
<hr />Return value: ' . $retval;
?>

Примечания

Внимание

Если вы собираетесь передавать функции данные, отправленные пользователем, вы должны использовать функции escapeshellarg() или escapeshellcmd() для того, чтобы обезопасить исполнение команд.

Замечание: Если вы собираетесь использовать эту функцию в программе, работающей в качестве демона, убедитесь, что стандартный вывод функции направлен в файл или другой поток, в противном случае PHP зависнет вплоть до конца выполнения программы.

Замечание: В случае работы в безопасном режиме, вы можете запускать что-либо только в пределах safe_mode_exec_dir. В настоящее время, использование .. в пути запрещено

Внимание

В случае работы в безопасном режиме, все слова, следующие за начальной командой, рассматриваются как единый аргумент. То есть echo y | echo x будет работать как echo "y | echo x".

Смотрите также

  • exec() - Execute an external program
  • passthru() - Execute an external program and display raw output
  • popen() - Открывает файловый указатель процесса
  • escapeshellcmd() - Escape shell metacharacters
  • pcntl_exec() - Executes specified program in current process space
  • backtick operator

shell_exec
Expect
Program execution Функции


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
system
Введение
Process Control Extensions


Введение

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. Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и 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 со страницы » PHP Downloads или » http://snaps.php.net/.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в 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 |

Для подробного описания констант PHP_INI_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

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_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 (0 => "password:", 1 => PASSWORD),
  array (0 => "yes/no)?", 1 => YESNO)
);

while (true) {
 switch (expect_expectl ($stream, $cases))
 {
  case PASSWORD:
   fwrite ($stream, "password\n");
   break;

  case YESNO:
   fwrite ($stream, "yes\n");
   break;

  case EXP_TIMEOUT:
  case EXP_EOF:
   break 2;

  default:
   die ("Error has occurred!\n");
 }
}

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
PCNTL
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 process'es 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
PCNTL
Expect Функции


Process Control

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Process Control Example
  • 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
expect_popen
Введение
Process Control Extensions


Введение

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


Примеры

Содержание

  • Process Control Example
Предопределенные константы
Process Control Example
PCNTL


Process Control Example

Примеры
PCNTL Функции
Примеры
PHP Manual

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
Process Control Example
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

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.

Внимание

Эта функция может возвращать как логическое значение FALSE, так и не относящееся к логическому типу значение, которое приводится к 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 and defaults to TRUE.

Возвращаемые значения

Возвращает 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 - это переменная, переданная по ссылке в функцию 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 - это переменная, переданная по ссылке в функцию 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 - это переменная, переданная по ссылке в функцию 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 - это переменная, переданная по ссылке в функцию 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 - это переменная, переданная по ссылке в функцию 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 - это переменная, переданная по ссылке в функцию 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_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
Введение
Process Control Extensions


Введение

This module contains an interface to those functions defined in the IEEE 1003.1 (POSIX.1) standards document which are not accessible through other means.

Внимание

Sensitive data can be retrieved with the POSIX functions, e.g. posix_getpwnam() and friends. None of the POSIX function perform any kind of access checking when safe mode is enabled. It's therefore strongly advised to disable the POSIX extension at all (use --disable-posix in your configure line) if you're operating in such an environment.

Замечание: Для Windows-платформ это расширение недоступно.

POSIX
Установка и настройка
POSIX


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
POSIX


Установка

POSIX functions are enabled by default. You can disable POSIX-like functions with --disable-posix.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение подгружается во время выполнения.

POSIX_F_OK (integer)
Check whether the file exists.
POSIX_R_OK (integer)
Check whether the file exists and has read permissions.
POSIX_W_OK (integer)
Check whether the file exists and has write permissions.
POSIX_X_OK (integer)
Check whether the file exists and has execute permissions.
POSIX_S_IFBLK (integer)
Block special file
POSIX_S_IFCHR (integer)
Character special file
POSIX_S_IFIFO (integer)
FIFO (named pipe) special file
POSIX_S_IFREG (integer)
Normal file
POSIX_S_IFSOCK (integer)
Socket

Замечание: These constants are available since PHP 5.1.0. Please also note that some of them may not be available in your system.

Типы ресурсов
POSIX Функции
POSIX


POSIX Функции

Смотрите также

The section about Process Control Functions maybe of interest for you.

Содержание

  • posix_access — Determine accessibility of a file
  • posix_ctermid — Get path name of controlling terminal
  • 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. Defaults to POSIX_F_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_get_last_error
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_get_last_error
POSIX Функции


Retrieve the error number set by the last posix function that failed

posix_ctermid
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_ctermid
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 for information on how to convert this into a useable group name
  • posix_getgid() - Return the real group ID of the current process get real group id.
  • posix_setgid() - Set the GID of the current process change the effective group id

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 for more information about the user.
  • posix_getuid() - Return the real user ID of the current process get real user id.
  • posix_setuid() - Set the UID of the current process change the effective user id
  • 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 for information on how to convert this into a useable group name
  • posix_getegid() - Return the effective group ID of the current process get effective group id.
  • posix_setgid() - Set the GID of the current process change the effective group id
  • 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 .

Список параметров

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 to kill 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 are 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 for information on how to convert this into a useable username
  • 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 (defaults to 0).

Возвращаемые значения

Возвращает 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 for information on how to convert a group id into a useable group name
  • posix_getgid() - Return the real group ID of the current process get real group id.
  • posix_setgid() - Set the GID of the current process change the effective group id

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 for information on how to convert this into a useable group name
  • posix_getgid() - Return the real group ID of the current process get real group id.

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
Semaphore
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
Semaphore
POSIX Функции


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_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
posix_uname
Введение
Process Control Extensions


Введение

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_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

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_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() - Create or open shared memory block
  • 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 ] )

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 [, int $flags [, 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

unserialize defaults to TRUE; if it is 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 [, bool $blocking [, 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 [, int $perm [, int $auto_release ]]] )

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 (defaults to 1).

perm

The semaphore permissions. Defaults to 0666. 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 more 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 ]] )

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.

Смотрите также

  • 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_put_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_detach
shm_put_var
Semaphore Функции


Inserts or updates a variable in shared memory

shm_get_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 are supported.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

shm_get_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
Shared Memory
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
Shared Memory
Semaphore Функции


Shared Memory

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Shared Memory Operations Overview
  • Shared Memory Функции
    • shmop_close — Close shared memory block
    • shmop_delete — Delete shared memory block
    • shmop_open — Create or open shared memory block
    • shmop_read — Read data from shared memory block
    • shmop_size — Get size of shared memory block
    • shmop_write — Write data into shared memory block
shm_remove
Введение
Process Control Extensions


Введение

Shmop is an easy to use set of functions that allows PHP to read, write, create and delete Unix shared memory segments.

Замечание: Versions of Windows previous to Windows 2000 do not support shared memory. Under Windows, Shmop will only work when PHP is running as a web server module, such as Apache or IIS (CLI and CGI will not work).

Замечание: In PHP 4.0.3, these functions were prefixed by shm rather than shmop.

Shared Memory
Установка и настройка
Shared Memory


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Shared Memory


Установка

To use shmop you will need to compile PHP with the --enable-shmop parameter in your configure line.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Примеры
Shared Memory


Примеры

Содержание

  • Shared Memory Operations Overview
Предопределенные константы
Shared Memory Operations Overview
Shared Memory


Shared Memory Operations Overview

Примеры
Shared Memory Функции
Примеры
PHP Manual

Пример #1 Shared Memory Operations Overview

<?php

// Create 100 byte shared memory block with system id of 0xff3
$shm_id = shmop_open(0xff3, "c", 0644, 100);
if (!$shm_id) {
    echo "Couldn't create shared memory segment\n";
}

// Get shared memory block's size
$shm_size = shmop_size($shm_id);
echo "SHM Block Size: " . $shm_size . " has been created.\n";

// Lets write a test string into shared memory
$shm_bytes_written = shmop_write($shm_id, "my shared memory block", 0);
if ($shm_bytes_written != strlen("my shared memory block")) {
    echo "Couldn't write the entire length of data\n";
}

// Now lets read the string back
$my_string = shmop_read($shm_id, 0, $shm_size);
if (!$my_string) {
    echo "Couldn't read from shared memory block\n";
}
echo "The data inside shared memory was: " . $my_string . "\n";

//Now lets delete the block and close the shared memory segment
if (!shmop_delete($shm_id)) {
    echo "Couldn't mark shared memory block for deletion.";
}
shmop_close($shm_id);

?>

Примеры
Shared Memory Функции
Примеры


Shared Memory Функции

Содержание

  • shmop_close — Close shared memory block
  • shmop_delete — Delete shared memory block
  • shmop_open — Create or open shared memory block
  • shmop_read — Read data from shared memory block
  • shmop_size — Get size of shared memory block
  • shmop_write — Write data into shared memory block
Shared Memory Operations Overview
shmop_close
Shared Memory


Close shared memory block

Shared Memory Функции
shmop_delete
Shared Memory Функции
PHP Manual

shmop_close

(PHP 4 >= 4.0.4, PHP 5)

shmop_close — Close shared memory block

Описание

void shmop_close ( int $shmid )

shmop_close() is used to close a shared memory block.

Список параметров

shmid

The shared memory block identifier created by shmop_open()

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Closing shared memory block

<?php
shmop_close($shm_id);
?>

This example will close shared memory block identified by $shm_id.

Смотрите также

  • shmop_open() - Create or open shared memory block

Shared Memory Функции
shmop_delete
Shared Memory Функции


Delete shared memory block

shmop_close
shmop_open
Shared Memory Функции
PHP Manual

shmop_delete

(PHP 4 >= 4.0.4, PHP 5)

shmop_delete — Delete shared memory block

Описание

bool shmop_delete ( int $shmid )

shmop_delete() is used to delete a shared memory block.

Список параметров

shmid

The shared memory block identifier created by shmop_open()

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Deleting shared memory block

<?php
shmop_delete($shm_id);
?>

This example will delete shared memory block identified by $shm_id.

shmop_close
shmop_open
Shared Memory Функции


Create or open shared memory block

shmop_delete
shmop_read
Shared Memory Функции
PHP Manual

shmop_open

(PHP 4 >= 4.0.4, PHP 5)

shmop_open — Create or open shared memory block

Описание

int shmop_open ( int $key , string $flags , int $mode , int $size )

shmop_open() can create or open a shared memory block.

Список параметров

key

System's id for the shared memory block. Can be passed as a decimal or hex.

flags

The flags that you can use:

  • "a" for access (sets SHM_RDONLY for shmat) use this flag when you need to open an existing shared memory segment for read only
  • "c" for create (sets IPC_CREATE) use this flag when you need to create a new shared memory segment or if a segment with the same key exists, try to open it for read and write
  • "w" for read & write access use this flag when you need to read and write to a shared memory segment, use this flag in most cases.
  • "n" create a new memory segment (sets IPC_CREATE|IPC_EXCL) use this flag when you want to create a new shared memory segment but if one already exists with the same flag, fail. This is useful for security purposes, using this you can prevent race condition exploits.

mode

The permissions that you wish to assign to your memory segment, those are the same as permission for a file. Permissions need to be passed in octal form, like for example 0644

size

The size of the shared memory block you wish to create in bytes

Замечание: Note: the 3rd and 4th should be entered as 0 if you are opening an existing memory segment.

Возвращаемые значения

On success shmop_open() will return an id that you can use to access the shared memory segment you've created. FALSE is returned on failure.

Примеры

Пример #1 Create a new shared memory block

<?php
$shm_key = ftok(__FILE__, 't');
$shm_id = shmop_open($shm_key, "c", 0644, 100);
?>

This example opened a shared memory block with a system id returned by ftok().

Смотрите также

  • shmop_close() - Close shared memory block
  • shmop_delete() - Delete shared memory block

shmop_delete
shmop_read
Shared Memory Функции


Read data from shared memory block

shmop_open
shmop_size
Shared Memory Функции
PHP Manual

shmop_read

(PHP 4 >= 4.0.4, PHP 5)

shmop_read — Read data from shared memory block

Описание

string shmop_read ( int $shmid , int $start , int $count )

shmop_read() will read a string from shared memory block.

Список параметров

shmid

The shared memory block identifier created by shmop_open()

start

Offset from which to start reading

count

The number of bytes to read

Возвращаемые значения

Returns the data or FALSE on failure.

Примеры

Пример #1 Reading shared memory block

<?php
$shm_data = shmop_read($shm_id, 0, 50);
?>

This example will read 50 bytes from shared memory block and place the data inside $shm_data.

Смотрите также

  • shmop_write() - Write data into shared memory block

shmop_open
shmop_size
Shared Memory Функции


Get size of shared memory block

shmop_read
shmop_write
Shared Memory Функции
PHP Manual

shmop_size

(PHP 4 >= 4.0.4, PHP 5)

shmop_size — Get size of shared memory block

Описание

int shmop_size ( int $shmid )

shmop_size() is used to get the size, in bytes of the shared memory block.

Список параметров

shmid

The shared memory block identifier created by shmop_open()

Возвращаемые значения

Returns an int, which represents the number of bytes the shared memory block occupies.

Примеры

Пример #1 Getting the size of the shared memory block

<?php
$shm_size = shmop_size($shm_id);
?>

This example will put the size of shared memory block identified by $shm_id into $shm_size.

shmop_read
shmop_write
Shared Memory Функции


Write data into shared memory block

shmop_size
Other Basic Extensions
Shared Memory Функции
PHP Manual

shmop_write

(PHP 4 >= 4.0.4, PHP 5)

shmop_write — Write data into shared memory block

Описание

int shmop_write ( int $shmid , string $data , int $offset )

shmop_write() will write a string into shared memory block.

Список параметров

shmid

The shared memory block identifier created by shmop_open()

data

A string to write into shared memory block

offset

Specifies where to start writing data inside the shared memory segment.

Возвращаемые значения

The size of the written data , or FALSE on failure.

Примеры

Пример #1 Writing to shared memory block

<?php
$shm_bytes_written = shmop_write($shm_id, $my_string, 0);
?>

This example will write data inside $my_string into shared memory block, $shm_bytes_written will contain the number of bytes written.

Смотрите также

  • shmop_read() - Read data from shared memory block

shmop_size
Other Basic Extensions
Shared Memory Функции


Other Basic Extensions

  • GeoIP — Geo IP Location
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • GeoIP Функции
  • JSON — JavaScript Object Notation
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • JSON Функции
  • Misc. — Miscellaneous Functions
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Misc. Функции
  • Parsekit
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Parsekit Функции
  • SPL — Standard PHP Library (SPL)
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Datastructures
    • Iterators
    • Interfaces
    • Exceptions
    • SPL Функции
    • ArrayObject — The ArrayObject class
    • SplFileInfo — The SplFileInfo class
  • SPL Types — SPL Type Handling
    • Введение
    • SplInt — The SplInt class
    • SplFloat — The SplFloat class
    • SplEnum — The SplEnum class
    • SplBool — The SplBool class
    • SplString — The SplString class
  • Streams
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Stream Filters
    • Stream Contexts
    • Stream Errors
    • Примеры
    • streamWrapper — The streamWrapper class
    • Stream Функции
  • Tidy
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Tidy — The Tidy class
    • TidyNode — The TidyNode class
    • Tidy Функции
  • Tokenizer
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Tokenizer Функции
  • URLs — URL Функции
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • URL Функции
shmop_write
GeoIP
Справочник функций


Geo IP Location

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • GeoIP Функции
    • geoip_continent_code_by_name — Get the two letter continent code
    • geoip_country_code_by_name — Get the two letter country code
    • geoip_country_code3_by_name — Get the three letter country code
    • geoip_country_name_by_name — Get the full country name
    • geoip_database_info — Get GeoIP Database information
    • geoip_db_avail — Determine if GeoIP Database is available
    • geoip_db_filename — Returns the filename of the corresponding GeoIP Database
    • geoip_db_get_all_info — Returns detailed information about all GeoIP database types
    • geoip_id_by_name — Get the Internet connection speed
    • geoip_isp_by_name — Get the Internet Service Provider (ISP) name
    • geoip_org_by_name — Get the organization name
    • geoip_record_by_name — Returns the detailed City information found in the GeoIP Database
    • geoip_region_by_name — Get the country code and region
    • geoip_region_name_by_code — Returns the region name for some country and region code combo
    • geoip_time_zone_by_country_and_region — Returns the time zone for some country and region code combo
Other Basic Extensions
Введение
Other Basic Extensions


Введение

The GeoIP extension allows you to find the location of an IP address. City, State, Country, Longitude, Latitude, and other information as all, such as ISP and connection type can be obtained with the help of GeoIP.

GeoIP
Установка и настройка
GeoIP


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
GeoIP


Требования

This extension requires the GeoIP C library version 1.4.0 or higher to be installed. You can grab the latest version from » http://www.maxmind.com/app/c and compile it yourself.

By default, you will only have access to the Free GeoIP Country or GeoLite City databases. While this module can work with other types of database, you must buy a commercial license from » Maxmind.

Установка и настройка
Установка
Установка и настройка


Установка

Это расширение » PECL не поставляется вместе с PHP.

Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и 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)

The following constants are for net speed:

GEOIP_UNKNOWN_SPEED (integer)
GEOIP_DIALUP_SPEED (integer)
GEOIP_CABLEDSL_SPEED (integer)
GEOIP_CORPORATE_SPEED (integer)
Типы ресурсов
GeoIP Функции
GeoIP


GeoIP Функции

Содержание

  • geoip_continent_code_by_name — Get the two letter continent code
  • geoip_country_code_by_name — Get the two letter country code
  • geoip_country_code3_by_name — Get the three letter country code
  • geoip_country_name_by_name — Get the full country name
  • geoip_database_info — Get GeoIP Database information
  • geoip_db_avail — Determine if GeoIP Database is available
  • geoip_db_filename — Returns the filename of the corresponding GeoIP Database
  • geoip_db_get_all_info — Returns detailed information about all GeoIP database types
  • geoip_id_by_name — Get the Internet connection speed
  • geoip_isp_by_name — Get the Internet Service Provider (ISP) name
  • geoip_org_by_name — Get the organization name
  • geoip_record_by_name — Returns the detailed City information found in the GeoIP Database
  • geoip_region_by_name — Get the country code and region
  • geoip_region_name_by_code — Returns the region name for some country and region code combo
  • geoip_time_zone_by_country_and_region — Returns the time zone for some country and region code combo
Предопределенные константы
geoip_continent_code_by_name
GeoIP


Get the two letter continent code

GeoIP Функции
geoip_country_code_by_name
GeoIP Функции
PHP Manual

geoip_continent_code_by_name

(PECL geoip >= 1.0.3)

geoip_continent_code_by_name — Get the two letter continent code

Описание

string geoip_continent_code_by_name ( string $hostname )

The geoip_continent_code_by_name() function will return the two letter continent code corresponding to a hostname or an IP address.

Список параметров

hostname

The hostname or IP address whose location is to be looked-up.

Возвращаемые значения

Returns the two letter continent code on success, or FALSE if the address cannot be found in the database.

Примеры

Пример #1 A geoip_continent_code_by_name() example

This will print where the host example.com is located.

<?php
$continent = geoip_continent_code_by_name('www.example.com');
if ($continent) {
    echo 'This host is located in: ' . $continent;
}
?>

Результат выполнения данного примера:

 This host is located in: NA

Смотрите также

  • geoip_country_code_by_name() - Get the two letter country code

GeoIP Функции
geoip_country_code_by_name
GeoIP Функции


Get the two letter country code

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 — Get the two letter country code

Описание

string geoip_country_code_by_name ( string $hostname )

The geoip_country_code_by_name() function will return the two letter country code corresponding to a hostname or an IP address.

Список параметров

hostname

The hostname or IP address whose location is to be looked-up.

Возвращаемые значения

Returns the two letter ISO country code on success, or FALSE if the address cannot be found in the database.

Примеры

Пример #1 A geoip_country_code_by_name() example

This will print where the host example.com is located.

<?php
$country = geoip_country_code_by_name('www.example.com');
if ($country) {
    echo 'This host is located in: ' . $country;
}
?>

Результат выполнения данного примера:

This host is located in: US

Смотрите также

  • geoip_country_code3_by_name() - Get the three letter country code
  • geoip_country_name_by_name() - Get the full country name

geoip_continent_code_by_name
geoip_country_code3_by_name
GeoIP Функции


Get the three letter country code

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 — Get the three letter country code

Описание

string geoip_country_code3_by_name ( string $hostname )

The geoip_country_code3_by_name() function will return the three letter country code corresponding to a hostname or an IP address.

Список параметров

hostname

The hostname or IP address whose location is to be looked-up.

Возвращаемые значения

Returns the three letter country code on success, or FALSE if the address cannot be found in the database.

Примеры

Пример #1 A geoip_country_code3_by_name() example

This will print where the host example.com is located.

<?php
$country = geoip_country_code3_by_name('www.example.com');
if ($country) {
    echo 'This host is located in: ' . $country;
}
?>

Результат выполнения данного примера:

This host is located in: USA

Смотрите также

  • geoip_country_code_by_name() - Get the two letter country code
  • geoip_country_name_by_name() - Get the full country name

geoip_country_code_by_name
geoip_country_name_by_name
GeoIP Функции


Get the full country name

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 — Get the full country name

Описание

string geoip_country_name_by_name ( string $hostname )

The geoip_country_name_by_name() function will return the full country name corresponding to a hostname or an IP address.

Список параметров

hostname

The hostname or IP address whose location is to be looked-up.

Возвращаемые значения

Returns the country name on success, or FALSE if the address cannot be found in the database.

Примеры

Пример #1 A geoip_country_name_by_name() example

This will print where the host example.com is located.

<?php
$country = geoip_country_name_by_name('www.example.com');
if ($country) {
    echo 'This host is located in: ' . $country;
}
?>

Результат выполнения данного примера:

 This host is located in: United States

Смотрите также

  • geoip_country_code_by_name() - Get the two letter country code
  • geoip_country_code3_by_name() - Get the three letter country code

geoip_country_code3_by_name
geoip_database_info
GeoIP Функции


Get GeoIP Database information

geoip_country_name_by_name
geoip_db_avail
GeoIP Функции
PHP Manual

geoip_database_info

(PECL geoip >= 0.2.0)

geoip_database_info — Get GeoIP Database information

Описание

string geoip_database_info ([ int $database= GEOIP_COUNTRY_EDITION ] )

The geoip_database_info() function returns the corresponding GeoIP Database version as it is defined inside the binary file.

If this function is called without arguments, it returns the version of the GeoIP Free Country Edition.

Список параметров

database

The database type as an integer. You can use the various constants defined with this extension (ie: GEOIP_*_EDITION).

Возвращаемые значения

Returns the corresponding database version, or NULL on error.

Примеры

Пример #1 A geoip_region_by_name() example

This will output the current database version string.

<?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 Функции


Determine if GeoIP Database is available

geoip_database_info
geoip_db_filename
GeoIP Функции
PHP Manual

geoip_db_avail

(PECL geoip >= 1.0.1)

geoip_db_avail — Determine if GeoIP Database is available

Описание

bool geoip_db_avail ( int $database )

The geoip_db_avail() function returns if the corresponding GeoIP Database is available and can be opened on disk.

It does not indicate if the file is a proper database, only if it is readable.

Список параметров

database

The database type as an integer. You can use the various constants defined with this extension (ie: GEOIP_*_EDITION).

Возвращаемые значения

Returns TRUE is database exists, FALSE if not found, or NULL on error.

Примеры

Пример #1 A geoip_db_avail() example

This will output the current database version string.

<?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 Функции


Returns the filename of the corresponding GeoIP Database

geoip_db_avail
geoip_db_get_all_info
GeoIP Функции
PHP Manual

geoip_db_filename

(PECL geoip >= 1.0.1)

geoip_db_filename — Returns the filename of the corresponding GeoIP Database

Описание

string geoip_db_filename ( int $database )

The geoip_db_filename() function returns the filename of the corresponding GeoIP Database.

It does not indicate if the file exists or not on disk, only where the library is looking for the database.

Список параметров

database

The database type as an integer. You can use the various constants defined with this extension (ie: GEOIP_*_EDITION).

Возвращаемые значения

Returns the filename of the corresponding database, or NULL on error.

Примеры

Пример #1 A geoip_db_filename() example

This will output the filename of the corresponding database.

<?php

print geoip_db_filename(GEOIP_COUNTRY_EDITION);

?>

Результат выполнения данного примера:

/usr/share/GeoIP/GeoIP.dat

geoip_db_avail
geoip_db_get_all_info
GeoIP Функции


Returns detailed information about all GeoIP database types

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 — Returns detailed information about all GeoIP database types

Описание

array geoip_db_get_all_info ( void )

The geoip_db_get_all_info() function will return detailed information as a multi-dimensional array about all the GeoIP database types.

This function is available even if no databases are installed. It will simply list them as non-available.

The names of the different keys of the returning associative array are as follows:

  • "available" -- Boolean, indicate if DB is available (see geoip_db_avail())
  • "description" -- The database description
  • "filename" -- The database filename on disk (see geoip_db_filename())

Возвращаемые значения

Returns the associative array.

Примеры

Пример #1 A geoip_db_get_all_info() example

This will print the array containing all the information.

<?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 A geoip_db_get_all_info() example

You can use the various constants as keys to get only parts of the information.

<?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 Функции


Get the Internet connection speed

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 — Get the Internet connection speed

Описание

int geoip_id_by_name ( string $hostname )

The geoip_id_by_name() function will return the country and region corresponding to a hostname or an IP address.

The return value is numeric and can be compared to the following constants:

  • GEOIP_UNKNOWN_SPEED
  • GEOIP_DIALUP_SPEED
  • GEOIP_CABLEDSL_SPEED
  • GEOIP_CORPORATE_SPEED

Список параметров

hostname

The hostname or IP address whose net speed is to be looked-up.

Возвращаемые значения

Returns the net speed.

Примеры

Пример #1 A geoip_id_by_name() example

This will output the net speed of the host example.com.

<?php
$netspeed = geoip_id_by_name('www.example.com');

echo 'The connection type is ';

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';
}
?>

Результат выполнения данного примера:

The connection type is corporate

geoip_db_get_all_info
geoip_isp_by_name
GeoIP Функции


Get the Internet Service Provider (ISP) name

geoip_id_by_name
geoip_org_by_name
GeoIP Функции
PHP Manual

geoip_isp_by_name

(PECL geoip >= 1.0.2)

geoip_isp_by_name — Get the Internet Service Provider (ISP) name

Описание

string geoip_isp_by_name ( string $hostname )

The geoip_isp_by_name() function will return the name of the Internet Service Provider (ISP) that an IP is assigned to.

This function is currently only available to users who have bought a commercial GeoIP ISP Edition. A warning will be issued if the proper database cannot be located.

Список параметров

hostname

The hostname or IP address.

Возвращаемые значения

Returns the ISP name on success, or FALSE if the address cannot be found in the database.

Примеры

Пример #1 A geoip_isp_by_name() example

This will print the ISP name of host example.com.

<?php
$isp = geoip_isp_by_name('www.example.com');
if ($isp) {
    echo 'This host IP is from ISP: ' . $isp;
}
?>

Результат выполнения данного примера:

This host IP is allocated to: ICANN c/o Internet Assigned Numbers Authority

geoip_id_by_name
geoip_org_by_name
GeoIP Функции


Get the organization name

geoip_isp_by_name
geoip_record_by_name
GeoIP Функции
PHP Manual

geoip_org_by_name

(PECL geoip >= 0.2.0)

geoip_org_by_name — Get the organization name

Описание

string geoip_org_by_name ( string $hostname )

The geoip_org_by_name() function will return the name of the organization that an IP is assigned to.

This function is currently only available to users who have bought a commercial GeoIP Organization, ISP or AS Edition. A warning will be issued if the proper database cannot be located.

Список параметров

hostname

The hostname or IP address.

Возвращаемые значения

Returns the organization name on success, or FALSE if the address cannot be found in the database.

Примеры

Пример #1 A geoip_org_by_name() example

This will print to whom the host example.com IP is allocated.

<?php
$org = geoip_org_by_name('www.example.com');
if ($org) {
    echo 'This host IP is allocated to: ' . $org;
}
?>

Результат выполнения данного примера:

This host IP is allocated to: ICANN c/o Internet Assigned Numbers Authority

geoip_isp_by_name
geoip_record_by_name
GeoIP Функции


Returns the detailed City information found in the GeoIP Database

geoip_org_by_name
geoip_region_by_name
GeoIP Функции
PHP Manual

geoip_record_by_name

(PECL geoip >= 0.2.0)

geoip_record_by_name — Returns the detailed City information found in the GeoIP Database

Описание

array geoip_record_by_name ( string $hostname )

The geoip_record_by_name() function will return the record information corresponding to a hostname or an IP address.

This function is available for both GeoLite City Edition and commercial GeoIP City Edition. A warning will be issued if the proper database cannot be located.

The names of the different keys of the returning associative array are as follows:

  • "continent_code" -- Two letter continent code (as of version 1.0.4 with libgeoip 1.4.3 or newer)
  • "country_code" -- Two letter country code (see geoip_country_code_by_name())
  • "country_code3" -- Three letter country code (see geoip_country_code3_by_name())
  • "country_name" -- The country name (see geoip_country_name_by_name())
  • "region" -- The region code (ex: CA for California)
  • "city" -- The city.
  • "postal_code" -- The Postal Code, FSA or Zip Code.
  • "latitude" -- The Latitude as signed double.
  • "longitude" -- The Longitude as signed double.
  • "dma_code" -- Designated Market Area code (USA and Canada only)
  • "area_code" -- The PSTN area code (ex: 212)

Список параметров

hostname

The hostname or IP address whose record is to be looked-up.

Возвращаемые значения

Returns the associative array on success, or FALSE if the address cannot be found in the database.

Список изменений

Версия | Описание
1.0.4 | Adding the continent_code with GeoIP Library 1.4.3 or newer only
1.0.3 | Adding country_code3 and country_name

Примеры

Пример #1 A geoip_record_by_name() example

This will print the array containing the record of host 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 Функции


Get the country code and region

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 — Get the country code and region

Описание

array geoip_region_by_name ( string $hostname )

The geoip_region_by_name() function will return the country and region corresponding to a hostname or an IP address.

This function is currently only available to users who have bought a commercial GeoIP Region Edition. A warning will be issued if the proper database cannot be located.

The names of the different keys of the returning associative array are as follows:

  • "country_code" -- Two letter country code (see geoip_country_code_by_name())
  • "region" -- The region code (ex: CA for California)

Список параметров

hostname

The hostname or IP address whose region is to be looked-up.

Возвращаемые значения

Returns the associative array on success, or FALSE if the address cannot be found in the database.

Примеры

Пример #1 A geoip_region_by_name() example

This will print the array containing the country code and region of the host 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 Функции


Returns the region name for some country and region code combo

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 — Returns the region name for some country and region code combo

Описание

string geoip_region_name_by_code ( string $country_code , string $region_code )

The geoip_region_name_by_code() function will return the region name corresponding to a country and region code combo.

In the United States, the region code corresponds to the two-letter abbreviation of each state. In Canada, the region code corresponds to the two-letter province or territory code as attributed by Canada Post.

For the rest of the world, GeoIP uses FIPS 10-4 codes to represent regions. You can check » http://www.maxmind.com/app/fips10_4 for a detailed list of FIPS 10-4 codes.

This function is always available if using GeoIP Library version 1.4.1 or newer. The data is taken directly from the GeoIP Library and not from any database.

Список параметров

country_code

The two-letter country code (see geoip_country_code_by_name())

region_code

The two-letter (or digit) region code (see geoip_region_by_name())

Возвращаемые значения

Returns the region name on success, or FALSE if the country and region code combo cannot be found.

Примеры

Пример #1 A geoip_region_name_by_code() example using region code for US/Canada

This will print the region name for country CA (Canada), region QC (Quebec).

<?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 A geoip_region_name_by_code() example using FIPS codes

This will print the region name for country JP (Japan), region 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 Функции


Returns the time zone for some country and region code combo

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 — Returns the time zone for some country and region code combo

Описание

string geoip_time_zone_by_country_and_region ( string $country_code [, string $region_code ] )

The geoip_time_zone_by_country_and_region() function will return the time zone corresponding to a country and region code combo.

In the United States, the region code corresponds to the two-letter abbreviation of each state. In Canada, the region code corresponds to the two-letter province or territory code as attributed by Canada Post.

For the rest of the world, GeoIP uses FIPS 10-4 codes to represent regions. You can check » http://www.maxmind.com/app/fips10_4 for a detailed list of FIPS 10-4 codes.

This function is always available if using GeoIP Library version 1.4.1 or newer. The data is taken directly from the GeoIP Library and not from any database.

Список параметров

country_code

The two-letter country code (see geoip_country_code_by_name())

region_code

The two-letter (or digit) region code (see geoip_region_by_name())

Возвращаемые значения

Returns the time zone on success, or FALSE if the country and region code combo cannot be found.

Примеры

Пример #1 A geoip_time_zone_by_country_and_region() example using region code for US/Canada

This will print the time zone for country CA (Canada), region QC (Quebec).

<?php
$timezone = geoip_time_zone_by_country_and_region('CA', 'QC');
if ($timezone) {
    echo 'Time zone for CA/QC is: ' . $timezone;
}
?>

Результат выполнения данного примера:

Time zone for CA/QC is: America/Montreal

Пример #2 A geoip_time_zone_by_country_and_region() example using FIPS codes

This will print the time zone for country JP (Japan), region 01 (Aichi).

<?php
$timezone = geoip_time_zone_by_country_and_region('JP', '01');
if ($timezone) {
    echo 'Time zone for JP/01 is: ' . $timezone;
}
?>

Результат выполнения данного примера:

Time zone for JP/01 is: Asia/Tokyo

geoip_region_name_by_code
JSON
GeoIP Функции


JavaScript Object Notation

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • JSON Функции
    • json_decode — Decodes a JSON string
    • json_encode — Returns the JSON representation of a value
    • json_last_error — Returns the last error occurred
geoip_time_zone_by_country_and_region
Введение
Other Basic Extensions


Введение

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


Требования

As of PHP 5.2.0, the JSON extension is bundled and compiled into PHP by default.

Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и 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_CTRL_CHAR (integer)
Control character error, possibly incorrectly encoded.
JSON_ERROR_SYNTAX (integer)
Syntax error.

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 Функции
JSON


JSON Функции

Содержание

  • json_decode — Decodes a JSON string
  • json_encode — Returns the JSON representation of a value
  • json_last_error — Returns the last error occurred
Предопределенные константы
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 ]] )

Takes a JSON encoded string and converts it into a PHP variable.

Список параметров

json

The json string being decoded.

assoc

When TRUE, returned objects will be converted into associative arrays.

depth

Возвращаемые значения

Returns an object or if the optional assoc parameter is TRUE, an associative array is instead returned.

Примеры

Пример #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 Another example

<?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

?>

Примечания

Замечание: The JSON spec is not JavaScript, but a subset of JavaScript.

Предостережение

This function will return FALSE if the JSON encoded data is deeper than 127 elements.

Список изменений

Версия | Описание
5.2.3 | The nesting limit was increased from 20 to 128

Смотрите также

  • json_encode() - Returns the JSON representation of a value

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_FORCE_OBJECT. Defaults to 0.

Возвращаемые значения

Returns a JSON encoded string on success.

Список изменений

Версия | Описание
5.2.1 | Added support to JSON encode basic types.
5.3.0 | The options parameter was added.

Примеры

Пример #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&');

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 "All: ",    json_encode($a,JSON_HEX_TAG|JSON_HEX_APOS|JSON_HEX_QUOT|JSON_HEX_AMP), "\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";
?>

Результат выполнения данного примера:

Normal: ["<foo>","'bar'","\"baz\"","&blong&"]
Tags: ["\u003Cfoo\u003E","'bar'","\"baz\"","&blong&"]
Apos: ["<foo>","\u0027bar\u0027","\"baz\"","&blong&"]
Quot: ["<foo>","'bar'","\u0022baz\u0022","&blong&"]
Amp: ["<foo>","'bar'","\"baz\"","\u0026blong\u0026"]
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}}

Смотрите также

  • json_decode() - Decodes a JSON string

json_decode
json_last_error
JSON Функции


Returns the last error occurred

json_encode
Misc.
JSON Функции
PHP Manual

json_last_error

(PHP 5 >= 5.3.0)

json_last_error — Returns the last error occurred

Описание

int json_last_error ( void )

Returns the last error (if any) occurred by last JSON parsing.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns an integer, the value can be one of the following constants:

JSON error codes
Constant | Meaning
JSON_ERROR_NONE | No error has occurred
JSON_ERROR_DEPTH | The maximum stack depth has been exceeded
JSON_ERROR_CTRL_CHAR | Control character error, possibly incorrectly encoded
JSON_ERROR_SYNTAX | Syntax error

Примеры

Пример #1 json_last_error() example

<?php
// A valid json string
$json[] = '{"Organization": "PHP Documentation Team"}';

// An invalid json string which will cause an syntax
// error, in this case we used ' instead of " for quotation
$json[] = "{'Organization': 'PHP Documentation Team'}";

foreach($json as $string)
{
    echo 'Decoding: ' . $string;
    json_decode($string);

    switch(json_last_error())
    {
        case JSON_ERROR_DEPTH:
            echo ' - Maximum stack depth exceeded';
        break;
        case JSON_ERROR_CTRL_CHAR:
            echo ' - Unexpected control character found';
        break;
        case JSON_ERROR_SYNTAX:
            echo ' - Syntax error, malformed JSON';
        break;
        case JSON_ERROR_NONE:
            echo ' - No errors';
        break;
    }

    echo PHP_EOL;
}
?>

Результат выполнения данного примера:

Decoding: {"Organization": "PHP Documentation Team"} - No errors
Decoding: {'Organization': 'PHP Documentation Team'} - Syntax error, malformed JSON

Смотрите также

  • json_decode() - Decodes a JSON string

json_encode
Misc.
JSON Функции


Miscellaneous Functions

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Misc. Функции
    • connection_aborted — Check whether client disconnected
    • connection_status — Returns connection status bitfield
    • connection_timeout — Check if the script timed out
    • constant — Returns the value of a constant
    • define — Defines a named constant
    • defined — Checks whether a given named constant exists
    • die — Equivalent to exit
    • eval — Evaluate a string as PHP code
    • exit — Output a message and terminate the current script
    • get_browser — Tells what the user's browser is capable of
    • __halt_compiler — Halts the compiler execution
    • highlight_file — Syntax highlighting of a file
    • highlight_string — Syntax highlighting of a string
    • ignore_user_abort — Set whether a client disconnect should abort script execution
    • pack — Pack data into binary string
    • php_check_syntax — Check the PHP syntax of (and execute) the specified file
    • php_strip_whitespace — Return source with stripped comments and whitespace
    • show_source — Псевдоним highlight_file
    • sleep — Delay execution
    • sys_getloadavg — Gets system load average
    • time_nanosleep — Delay for a number of seconds and nanoseconds
    • time_sleep_until — Make the script sleep until the specified time
    • uniqid — Generate a unique ID
    • unpack — Unpack data from binary string
    • usleep — Delay execution in microseconds
json_last_error
Введение
Other Basic Extensions


Введение

These functions were placed here because none of the other categories seemed to fit.

Misc.
Установка и настройка
Misc.


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Misc.


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Misc. Configuration Options
Name | Default | Changeable | Changelog
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 | Removed in PHP 6.0.0.
highlight.default | "#0000BB" | PHP_INI_ALL |
highlight.html | "#000000" | PHP_INI_ALL |
browscap | NULL | PHP_INI_SYSTEM |

Для подробного описания констант PHP_INI_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

ignore_user_abort boolean

FALSE by default. If changed to TRUE scripts will not be terminated after a client has aborted their connection.

See also ignore_user_abort().

highlight.bg string
highlight.comment string
highlight.default string
highlight.html string
highlight.keyword string
highlight.string string

Colors for Syntax Highlighting mode. Anything that's acceptable in <font color="??????"> would work.

browscap string

Name (e.g.: browscap.ini) and location of browser capabilities file. See also get_browser().

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение подгружается во время выполнения.

CONNECTION_ABORTED (integer)
CONNECTION_NORMAL (integer)
CONNECTION_TIMEOUT (integer)
__COMPILER_HALT_OFFSET__ (integer)
Added in PHP 5.1.
Типы ресурсов
Misc. Функции
Misc.


Misc. Функции

Содержание

  • connection_aborted — Check whether client disconnected
  • connection_status — Returns connection status bitfield
  • connection_timeout — Check if the script timed out
  • constant — Returns the value of a constant
  • define — Defines a named constant
  • defined — Checks whether a given named constant exists
  • die — Equivalent to exit
  • eval — Evaluate a string as PHP code
  • exit — Output a message and terminate the current script
  • get_browser — Tells what the user's browser is capable of
  • __halt_compiler — Halts the compiler execution
  • highlight_file — Syntax highlighting of a file
  • highlight_string — Syntax highlighting of a string
  • ignore_user_abort — Set whether a client disconnect should abort script execution
  • pack — Pack data into binary string
  • php_check_syntax — Check the PHP syntax of (and execute) the specified file
  • php_strip_whitespace — Return source with stripped comments and whitespace
  • show_source — Псевдоним highlight_file
  • sleep — Delay execution
  • sys_getloadavg — Gets system load average
  • time_nanosleep — Delay for a number of seconds and nanoseconds
  • time_sleep_until — Make the script sleep until the specified time
  • uniqid — Generate a unique ID
  • unpack — Unpack data from binary string
  • usleep — Delay execution in microseconds
Предопределенные константы
connection_aborted
Misc.


Check whether client disconnected

Misc. Функции
connection_status
Misc. Функции
PHP Manual

connection_aborted

(PHP 4, PHP 5)

connection_aborted — Check whether client disconnected

Описание

int connection_aborted ( void )

Checks whether the client disconnected.

Возвращаемые значения

Returns 1 if client disconnected, 0 otherwise.

Смотрите также

  • connection_status() - Returns connection status bitfield
  • ignore_user_abort() - Set whether a client disconnect should abort script execution
  • Connection Handling for a complete description of connection handling in PHP.

Misc. Функции
connection_status
Misc. Функции


Returns connection status bitfield

connection_aborted
connection_timeout
Misc. Функции
PHP Manual

connection_status

(PHP 4, PHP 5)

connection_status — Returns connection status bitfield

Описание

int connection_status ( void )

Gets the connection status bitfield.

Возвращаемые значения

Returns the connection status bitfield, which can be used against the CONNECTION_XXX constants to determine the connection status.

Смотрите также

  • connection_aborted() - Check whether client disconnected
  • ignore_user_abort() - Set whether a client disconnect should abort script execution
  • Connection Handling for a complete description of connection handling in PHP.

connection_aborted
connection_timeout
Misc. Функции


Check if the script timed out

connection_status
constant
Misc. Функции
PHP Manual

connection_timeout

(PHP 4 <= 4.0.4)

connection_timeout — Check if the script timed out

Описание

int connection_timeout ( void )

Determines whether the script timed out.

Возвращаемые значения

Returns 1 if the script timed out, 0 otherwise.

Примечания

Внимание

Deprecated

This function is deprecated, and doesn't even exist anymore as of 4.0.5.

Смотрите также

  • connection_status() - Returns connection status bitfield
  • Connection Handling for a complete description of connection handling in PHP.

connection_status
constant
Misc. Функции


Returns the value of a constant

connection_timeout
define
Misc. Функции
PHP Manual

constant

(PHP 4 >= 4.0.4, PHP 5)

constant — Returns the value of a constant

Описание

mixed constant ( string $name )

Return the value of the constant indicated by name .

constant() is useful if you need to retrieve the value of a constant, but do not know its name. I.e. it is stored in a variable or returned by a function.

This function works also with class constants.

Список параметров

name

The constant name.

Возвращаемые значения

Returns the value of the constant, or NULL if the constant is not defined.

Примеры

Пример #1 constant() example

<?php

define("MAXSIZE", 100);

echo MAXSIZE;
echo constant("MAXSIZE"); // same thing as the previous line

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() - Defines a named constant
  • defined() - Checks whether a given named constant exists
  • The section on Constants

connection_timeout
define
Misc. Функции


Defines a named constant

constant
defined
Misc. Функции
PHP Manual

define

(PHP 4, PHP 5)

define — Defines a named constant

Описание

bool define ( string $name , mixed $value [, bool $case_insensitive= false ] )

Defines a named constant at runtime.

Список параметров

name

The name of the constant.

value

The value of the constant; only scalar and null values are allowed. Scalar values are integer, float, string or boolean values. It is possible to define resource constants, however it is not recommended and may cause unpredictable behavior.

case_insensitive

If set to TRUE, the constant will be defined case-insensitive. The default behavior is case-sensitive; i.e. CONSTANT and Constant represent different values.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Defining Constants

<?php
define("CONSTANT", "Hello world.");
echo CONSTANT; // outputs "Hello world."
echo Constant; // outputs "Constant" and issues a notice.

define("GREETING", "Hello you.", true);
echo GREETING; // outputs "Hello you."
echo Greeting; // outputs "Hello you."

?>

Смотрите также

  • defined() - Checks whether a given named constant exists
  • constant() - Returns the value of a constant
  • The section on Constants

constant
defined
Misc. Функции


Checks whether a given named constant exists

define
die
Misc. Функции
PHP Manual

defined

(PHP 4, PHP 5)

defined — Checks whether a given named constant exists

Описание

bool defined ( string $name )

Checks whether the given constant exists and is defined.

Замечание: If you want to see if a variable exists, use isset() as defined() only applies to constants. If you want to see if a function exists, use function_exists().

Список параметров

name

The constant name.

Возвращаемые значения

Returns TRUE if the named constant given by name has been defined, FALSE otherwise.

Примеры

Пример #1 Checking Constants

<?php
/* Note the use of quotes, this is important.  This example is checking
 * if the string 'TEST' is the name of a constant named TEST */
if (defined('TEST')) {
    echo TEST;
}
?>

Смотрите также

  • define() - Defines a named constant
  • constant() - Returns the value of a constant
  • get_defined_constants() - Returns an associative array with the names of all the constants and their values
  • function_exists() - Возвращает TRUE, если данная функция определена
  • The section on Constants

define
die
Misc. Функции


Equivalent to exit

defined
eval
Misc. Функции
PHP Manual

die

(PHP 4, PHP 5)

die — Equivalent to exit()

Описание

This language construct is equivalent to exit().

defined
eval
Misc. Функции


Evaluate a string as PHP code

die
exit
Misc. Функции
PHP Manual

eval

(PHP 4, PHP 5)

eval — Evaluate a string as PHP code

Описание

mixed eval ( string $code_str )

Evaluates the string given in code_str as PHP code. Among other things, this can be useful for storing code in a database text field for later execution.

There are some factors to keep in mind when using eval(). Remember that the string passed must be valid PHP code, including things like terminating statements with a semicolon so the parser doesn't die on the line after the eval(), and properly escaping things in code_str . To mix HTML output and PHP code you can use a closing PHP tag to leave PHP mode.

Also remember that variables given values under eval() will retain these values in the main script afterwards.

Список параметров

code_str

The code string to be evaluated. code_str does not have to contain PHP Opening tags.

A return statement will immediately terminate the evaluation of the string .

Возвращаемые значения

eval() returns NULL unless return is called in the evaluated code, in which case the value passed to return is returned. If there is a parse error in the evaluated code, eval() returns FALSE and execution of the following code continues normally. It is not possible to catch a parse error in eval() using set_error_handler().

Примеры

Пример #1 eval() example - simple text merge

<?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.

Замечание: In case of a fatal error in the evaluated code, the whole script exits.

Смотрите также

  • call_user_func() - Вызывает пользовательскую функцию

die
exit
Misc. Функции


Output a message and terminate the current script

eval
get_browser
Misc. Функции
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.

Список параметров

status

If status is a string, this function prints the status just before exiting.

If status is an integer, that value will also be used as the exit status. 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

?>

Примечания

Замечание: Поскольку это языковая конструкция, а не функция, она не может вызываться при помощи переменных функций

Замечание: This language construct is equivalent to die().

Смотрите также

  • register_shutdown_function() - Регистрирует функцию, которая выполняется по завершению работы скрипта

eval
get_browser
Misc. Функции


Tells what the user's browser is capable of

exit
__halt_compiler
Misc. Функции
PHP Manual

get_browser

(PHP 4, PHP 5)

get_browser — Tells what the user's browser is capable of

Описание

mixed get_browser ([ string $user_agent [, bool $return_array= false ]] )

Attempts to determine the capabilities of the user's browser, by looking up the browser's information in the browscap.ini file.

Список параметров

user_agent

The User Agent to be analyzed. By default, the value of HTTP User-Agent header is used; however, you can alter this (i.e., look up another browser's info) by passing this parameter.

You can bypass this parameter with a NULL value.

return_array

If set to TRUE, this function will return an array instead of an object.

Возвращаемые значения

The information is returned in an object or an array which will contain various data elements representing, for instance, the browser's major and minor version numbers and ID string; TRUE/FALSE values for features such as frames, JavaScript, and cookies; and so forth.

The cookies value simply means that the browser itself is capable of accepting cookies and does not mean the user has enabled the browser to accept cookies or not. The only way to test if cookies are accepted is to set one with setcookie(), reload, and check for the value.

Список изменений

Версия | Описание
4.3.2 | The optional parameter return_array was added.

Примеры

Пример #1 Listing all information about the users browser

<?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] =>
)

Примечания

Замечание: In order for this to work, your browscap configuration setting in php.ini must point to the correct location of the browscap.ini file on your system.
browscap.ini is not bundled with PHP, but you may find an up-to-date » php_browscap.ini file here.
While browscap.ini contains information on many browsers, it relies on user updates to keep the database current. The format of the file is fairly self-explanatory.

exit
__halt_compiler
Misc. Функции


Halts the compiler execution

get_browser
highlight_file
Misc. Функции
PHP Manual

__halt_compiler

(PHP 5)

__halt_compiler — Halts the compiler execution

Описание

void __halt_compiler ( void )

Halts the execution of the compiler. This can be useful to embed data in PHP scripts, like the installation files.

Byte position of the data start can be determined by the __COMPILER_HALT_OFFSET__ constant which is defined only if there is a __halt_compiler() presented in the file.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 A __halt_compiler() example

<?php

// open this file
$fp = fopen(__FILE__, 'r');

// seek file pointer to data
fseek($fp, __COMPILER_HALT_OFFSET__);

// and output it
var_dump(stream_get_contents($fp));

// the end of the script execution
__halt_compiler(); the installation data (eg. tar, gz, PHP, etc.)

Примечания

Замечание: __halt_compiler() can only be used from the outermost scope.

get_browser
highlight_file
Misc. Функции


Syntax highlighting of a file

__halt_compiler
highlight_string
Misc. Функции
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.

Замечание: This function uses internal output buffering with this parameter so it can not be used inside an ob_start() callback function.

Смотрите также

  • highlight_string() - Syntax highlighting of a string

__halt_compiler
highlight_string
Misc. Функции


Syntax highlighting of a string

highlight_file
ignore_user_abort
Misc. Функции
PHP Manual

highlight_string

(PHP 4, PHP 5)

highlight_string — Syntax highlighting of a string

Описание

mixed highlight_string ( string $str [, bool $return= false ] )

Outputs or returns a syntax highlighted version of the given PHP code using the colors defined in the built-in syntax highlighter for PHP.

Список параметров

str

The PHP code to be highlighted. This should include the opening tag.

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.0 | The return parameter was added.

Примеры

Пример #1 highlight_string() example

<?php
highlight_string('<?php phpinfo(); ?>');
?>

The above example will output (in PHP 4):

<code><font color="#000000">
<font color="#0000BB">&lt;?php phpinfo</font><font color="#007700">(); </font><font color="#0000BB">?&gt;</font>
</font>
</code>

The above example will output (in 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>

Примечания

Замечание: This function uses internal output buffering with this parameter so it can not be used inside an ob_start() callback function.

Смотрите также

  • highlight_file() - Syntax highlighting of a file

highlight_file
ignore_user_abort
Misc. Функции


Set whether a client disconnect should abort script execution

highlight_string
pack
Misc. Функции
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.

Список параметров

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() - Check whether client disconnected
  • connection_status() - Returns connection status bitfield
  • Connection Handling for a complete description of connection handling in PHP.

highlight_string
pack
Misc. Функции


Pack data into binary string

ignore_user_abort
php_check_syntax
Misc. Функции
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.

Also note that PHP internally stores integer values as signed values of a machine-dependent size. If you give it an unsigned integer value too large to be stored that way it is converted to a float which often yields an undesired result.

Список параметров

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.

Смотрите также

  • unpack() - Unpack data from binary string

ignore_user_abort
php_check_syntax
Misc. Функции


Check the PHP syntax of (and execute) the specified file

pack
php_strip_whitespace
Misc. Функции
PHP Manual

php_check_syntax

(PHP 5 <= 5.0.4)

php_check_syntax — Check the PHP syntax of (and execute) the specified file

Описание

bool php_check_syntax ( string $filename [, string &$error_message ] )

Performs a syntax (lint) check on the specified filename testing for scripting errors.

This is similar to using php -l from the commandline except that this function will execute (but not output) the checked filename .

For example, if a function is defined in filename , this defined function will be available to the file that executed php_check_syntax(), but output from filename will be suppressed.

Замечание: For technical reasons, this function is deprecated and removed from PHP. Instead, use php -l somefile.php from the commandline.

Список параметров

filename

The name of the file being checked.

error_message

If the error_message parameter is used, it will contain the error message generated by the syntax check. error_message is passed by reference.

Возвращаемые значения

Returns TRUE if the lint check passed, and FALSE if the link check failed or if filename cannot be opened.

Список изменений

Версия | Описание
5.0.5 | This function was removed from PHP.
5.0.3 | Calling exit() after php_check_syntax() resulted in a Segfault.
5.0.1 | error_message is passed by reference.

Примеры

php -l somefile.php

Результатом выполнения данного примера будет что-то подобное:

PHP Parse error: unexpected T_STRING in /tmp/somefile.php on line 81

Смотрите также

  • include() - include
  • is_readable() - Определяет, доступен ли файл для чтения

pack
php_strip_whitespace
Misc. Функции


Return source with stripped comments and whitespace

php_check_syntax
show_source
Misc. Функции
PHP Manual

php_strip_whitespace

(PHP 5)

php_strip_whitespace — Return source with stripped comments and whitespace

Описание

string php_strip_whitespace ( string $filename )

Returns the PHP source code in filename with PHP comments and whitespace removed. This may be useful for determining the amount of actual code in your scripts compared with the amount of comments. This is similar to using php -w from the commandline.

Список параметров

filename

Path to the PHP file.

Возвращаемые значения

The stripped source code will be returned on success, or an empty string on failure.

Замечание: This function works as described as of PHP 5.0.1. Before this it would only return an empty string. For more information on this bug and its prior behavior, see bug report » #29606.

Примеры

Пример #1 php_strip_whitespace() example

<?php
// PHP comment here

/*
 * Another PHP comment
 */

echo        php_strip_whitespace(__FILE__);
// Newlines are considered whitespace, and are removed too:
do_nothing();
?>

Результат выполнения данного примера:

<?php
 echo php_strip_whitespace(__FILE__); do_nothing(); ?>

Notice the PHP comments are gone, as are the whitespace and newline after the first echo statement.

php_check_syntax
show_source
Misc. Функции


Псевдоним highlight_file

php_strip_whitespace
sleep
Misc. Функции
PHP Manual

show_source

(PHP 4, PHP 5)

show_source — Псевдоним highlight_file()

Описание

Эта функция является псевдонимом highlight_file().

php_strip_whitespace
sleep
Misc. Функции


Delay execution

show_source
sys_getloadavg
Misc. Функции
PHP Manual

sleep

(PHP 4, PHP 5)

sleep — Delay execution

Описание

int sleep ( int $seconds )

Delays the program execution for the given number of seconds .

Список параметров

seconds

Halt time in seconds.

Возвращаемые значения

Returns zero on success, or FALSE on errors. If the call was interrupted by a signal, sleep() returns the number of seconds left to sleep.

Errors/Exceptions

If the specified number of seconds is negative, this function will generate a E_WARNING.

Примеры

Пример #1 sleep() example

<?php

// current time
echo date('h:i:s') . "\n";

// sleep for 10 seconds
sleep(10);

// wake up !
echo date('h:i:s') . "\n";

?>

This example will output (after 10 seconds)

05:31:23
05:31:33

Смотрите также

  • usleep() - Delay execution in microseconds
  • time_nanosleep() - Delay for a number of seconds and nanoseconds
  • time_sleep_until() - Make the script sleep until the specified time
  • set_time_limit() - Limits the maximum execution time

show_source
sys_getloadavg
Misc. Функции


Gets system load average

sleep
time_nanosleep
Misc. Функции
PHP Manual

sys_getloadavg

(PHP 5 >= 5.1.3)

sys_getloadavg — Gets system load average

Описание

array sys_getloadavg ( void )

Returns three samples representing the average system load (the number of processes in the system run queue) over the last 1, 5 and 15 minutes, respectively.

Возвращаемые значения

Returns an array with three samples (last 1, 5 and 15 minutes).

Примеры

Пример #1 A sys_getloadavg() example

<?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
Misc. Функции


Delay for a number of seconds and nanoseconds

sys_getloadavg
time_sleep_until
Misc. Функции
PHP Manual

time_nanosleep

(PHP 5)

time_nanosleep — Delay for a number of seconds and nanoseconds

Описание

mixed time_nanosleep ( int $seconds , int $nanoseconds )

Delays program execution for the given number of seconds and nanoseconds .

Список параметров

seconds

Must be a positive integer.

nanoseconds

Must be a positive integer less than 1 billion.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

If the delay was interrupted by a signal, an associative array will be returned with the components:

  • seconds - number of seconds remaining in the delay
  • nanoseconds - number of nanoseconds remaining in the delay

Список изменений

Версия | Описание
5.3.0 | This function is now available on Windows platforms.

Примеры

Пример #1 time_nanosleep() example

<?php
// Careful! This won't work as expected if an array is returned
if (time_nanosleep(0, 500000000)) {
    echo "Slept for half a second.\n";
}

// This is better:
if (time_nanosleep(0, 500000000) === true) {
    echo "Slept for half a second.\n";
}

// And this is the best:
$nano = time_nanosleep(2, 100000);

if ($nano === true) {
    echo "Slept for 2 seconds, 100 microseconds.\n";
} elseif ($nano === false) {
    echo "Sleeping failed.\n";
} elseif (is_array($nano)) {
    $seconds = $nano['seconds'];
    $nanoseconds = $nano['nanoseconds'];
    echo "Interrupted by a signal.\n";
    echo "Time remaining: $seconds seconds, $nanoseconds nanoseconds.";
}
?>

Смотрите также

  • sleep() - Delay execution
  • usleep() - Delay execution in microseconds
  • time_sleep_until() - Make the script sleep until the specified time
  • set_time_limit() - Limits the maximum execution time

sys_getloadavg
time_sleep_until
Misc. Функции


Make the script sleep until the specified time

time_nanosleep
uniqid
Misc. Функции
PHP Manual

time_sleep_until

(PHP 5 >= 5.1.0)

time_sleep_until — Make the script sleep until the specified time

Описание

bool time_sleep_until ( float $timestamp )

Makes the script sleep until the specified timestamp .

Список параметров

timestamp

The timestamp when the script should wake.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.3.0 | This function is now available on Windows platforms.

Errors/Exceptions

If the specified timestamp is in the past, this function will generate a E_WARNING.

Примеры

Пример #1 A time_sleep_until() example

<?php

//returns false and generates a warning
var_dump(time_sleep_until(time()-1));

// may only work on faster computers, will sleep up to 0.2 seconds
var_dump(time_sleep_until(time()+0.2));

?>

Примечания

Замечание: All signals will be delivered after the script wakes up.

Смотрите также

  • sleep() - Delay execution
  • usleep() - Delay execution in microseconds
  • time_nanosleep() - Delay for a number of seconds and nanoseconds
  • set_time_limit() - Limits the maximum execution time

time_nanosleep
uniqid
Misc. Функции


Generate a unique ID

time_sleep_until
unpack
Misc. Функции
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.

Примеры

If you need a unique identifier or token and you intend to give out that token to the user via the network (i.e. session cookies), it is recommended that you use something along these lines:

This will create a 32 character identifier (a 128 bit hex number) that is extremely difficult to predict.

Пример #1 uniqid() Example

<?php
// no prefix
// works only in PHP 5 and later versions
$token = md5(uniqid());

// better, difficult to guess
$better_token = md5(uniqid(mt_rand(), true));
?>

Список изменений

Версия | Описание
5.0.0 | The prefix parameter was made optional.
4.3.1 | The limit of 114 characters long for prefix was raised.

time_sleep_until
unpack
Misc. Функции


Unpack data from binary string

uniqid
usleep
Misc. Функции
PHP Manual

unpack

(PHP 4, PHP 5)

unpack — Unpack data from binary string

Описание

array unpack ( string $format , string $data )

Unpacks from a binary string into an array according to the given format .

unpack() works slightly different from Perl as the unpacked data is stored in an associative array. To accomplish this you have to name the different format codes and separate them by a slash /.

Список параметров

format

See pack() for an explanation of the format codes.

data

The packed data.

Возвращаемые значения

Returns an associative array containing unpacked elements of binary string.

Примеры

Пример #1 unpack() example

<?php
$array = unpack("c2chars/nint", $binarydata);
?>

The resulting array will contain the entries "chars1", "chars2" and "int".

Примечания

Предостережение

Note that PHP internally stores integral values as signed. If you unpack a large unsigned long and it is of the same size as PHP internally stored values the result will be a negative number even though unsigned unpacking was specified.

Смотрите также

  • pack() - Pack data into binary string

uniqid
usleep
Misc. Функции


Delay execution in microseconds

unpack
Parsekit
Misc. Функции
PHP Manual

usleep

(PHP 4, PHP 5)

usleep — Delay execution in microseconds

Описание

void usleep ( int $micro_seconds )

Delays program execution for the given number of micro seconds.

Список параметров

micro_seconds

Halt time in micro seconds. A micro second is one millionth of a second.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Список изменений

Версия | Описание
5.0.0 | This function now works on Windows systems.

Примеры

Пример #1 usleep() example

<?php

// Current time
echo date('h:i:s') . "\n";

// wait for 2 seconds
usleep(2000000);

// back!
echo date('h:i:s') . "\n";

?>

Результат выполнения данного примера:

11:13:28
11:13:30

Смотрите также

  • sleep() - Delay execution
  • time_nanosleep() - Delay for a number of seconds and nanoseconds
  • time_sleep_until() - Make the script sleep until the specified time
  • set_time_limit() - Limits the maximum execution time

unpack
Parsekit
Misc. Функции


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
Введение
Other Basic Extensions


Введение

These functions allow runtime analysis of opcodes compiled from PHP scripts.

Parsekit
Установка и настройка
Parsekit


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Parsekit


Установка

Это расширение » PECL не поставляется вместе с PHP.

Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, могут быть найдены здесь: » http://pecl.php.net/package/parsekit.

Вы можете скачать DLL этого расширения PECL со страницы » PHP Downloads или » http://snaps.php.net/.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если 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 Функции


Standard PHP Library (SPL)

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Datastructures
    • 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 — The SplFixedArray class
    • SplObjectStorage — The SplObjectStorage class
  • Iterators
    • ArrayIterator — The ArrayIterator class
    • CachingIterator — The CachingIterator class
    • DirectoryIterator — The DirectoryIterator class
    • FilesystemIterator — The FilesystemIterator class
    • FilterIterator — The FilterIterator class
    • GlobIterator — The GlobIterator class
    • IteratorIterator — The IteratorIterator class
    • LimitIterator — The LimitIterator class
    • ParentIterator — The ParentIterator class
    • RecursiveCachingIterator — The RecursiveCachingIterator class
    • RecursiveDirectoryIterator — The RecursiveDirectoryIterator class
    • RecursiveIteratorIterator — The RecursiveIteratorIterator class
    • SimpleXMLIterator — The SimpleXMLIterator class
  • Interfaces
    • Countable — The Countable interface
    • SeekableIterator — The SeekableIterator interface
  • Exceptions
    • 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
    • iterator_apply — Apply a user function to every element of an iterator
    • iterator_count — Count the elements in an iterator
    • iterator_to_array — Copy the iterator into an 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
  • ArrayObject — The ArrayObject class
    • ArrayObject::append — Appends the value
    • ArrayObject::__construct — Construct a new array object
    • ArrayObject::count — Get the number of elements in the Iterator
    • ArrayObject::getIterator — Create a new iterator from an ArrayObject instance
    • ArrayObject::offsetExists — Returns whether the requested $index exists
    • ArrayObject::offsetGet — Returns the value at the specified $index
    • ArrayObject::offsetSet — Sets the value at the specified $index to $newval
    • ArrayObject::offsetUnset — Unsets the value at the specified $index
  • SplFileInfo — The SplFileInfo class
    • 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::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
parsekit_func_arginfo
Введение
Other Basic Extensions


Введение

SPL is a collection of interfaces and classes that are meant to solve standard problems.

Замечание: Legacy "doxygen" documentation can be found » here.

SPL
Установка и настройка
SPL


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
SPL


Установка

This extension is available and compiled by default in PHP 5.0.0.

Замечание: As of PHP 5.3.0 this extension can no longer be disabled and is therefore always available.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение подгружается во время выполнения.

Внимание

SPL uses class constants since PHP 5.1. Prior releases use global constants in the form RIT_LEAVES_ONLY.

RecursiveIteratorIterator::LEAVES_ONLY (integer)
RecursiveIteratorIterator::SELF_FIRST (integer)
RecursiveIteratorIterator::CHILD_FIRST (integer)
CachingIterator::CALL_TOSTRING (integer)
CachingIterator::CATCH_GET_CHILD (integer)
Типы ресурсов
Datastructures
SPL


Datastructures

Содержание

  • The SplDoublyLinkedList class
  • The SplStack class
  • The SplQueue class
  • The SplHeap class
  • The SplMaxHeap class
  • The SplMinHeap class
  • The SplPriorityQueue class
  • The SplFixedArray class
  • The SplObjectStorage class

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 aswell be used as a object set.

  • SplObjectStorage
Предопределенные константы
SplDoublyLinkedList
SPL


The SplDoublyLinkedList class

Введение

The SplDoublyLinkedList class provides the main functionalities of a doubly linked list.

Class synopsis

SplDoublyLinkedList
SplDoublyLinkedList implements Iterator , ArrayAccess , Countable {
/* Methods */
__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
Datastructures
SplDoublyLinkedList::bottom
Datastructures


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 )

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #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 )

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Список параметров

This function has no parameters.

Возвращаемые значения

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 )

Список параметров

This function has no parameters.

Возвращаемые значения

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 )

Список параметров

This function has no parameters.

Возвращаемые значения

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

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

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 )

Список параметров

This function has no parameters.

Возвращаемые значения

The value of the popped node.

SplDoublyLinkedList::offsetUnset
SplDoublyLinkedList::prev
SplDoublyLinkedList


Move to previous entry

SplDoublyLinkedList::pop
SplDoublyLinkedList::push
SplDoublyLinkedList
PHP Manual

SplDoublyLinkedList::prev

()

SplDoublyLinkedList::prev — Move to previous entry

Описание

void SplDoublyLinkedList::prev ( void )

Move the iterator to the previous node.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

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 )

Список параметров

This function has no parameters.

Возвращаемые значения

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 )

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns TRUE if the doubly linked list contains any more nodes, FALSE otherwise.

SplDoublyLinkedList::unshift
SplStack
SplDoublyLinkedList


The SplStack class

Введение

The SplStack class provides the main functionalities of a stack implemented using a doubly linked list.

Class synopsis

SplStack
SplStack extends SplDoublyLinkedList implements Iterator , ArrayAccess , Countable {
/* Methods */
__construct ( void )
void setIteratorMode ( int $mode )
/* Inherited methods */
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
Datastructures


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.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #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 changer for SplStacks. Trying to do so will result in a RuntimeException being thrown.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SplStack::__construct
SplQueue
SplStack


The SplQueue class

Введение

The SplQueue class provides the main functionalities of a queue implemented using a doubly linked list.

Class synopsis

SplQueue
SplQueue extends SplDoublyLinkedList implements Iterator , ArrayAccess , Countable {
/* Methods */
__construct ( void )
mixed dequeue ( void )
void enqueue ( mixed $value )
void setIteratorMode ( int $mode )
/* Inherited methods */
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
Datastructures


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.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #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 of the queue.

Замечание: SplQueue::dequeue is an alias of SplDoublyLinkedList::shift.

Список параметров

This function has no parameters.

Возвращаемые значения

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 0x0 : SplDoublyLinkedList::IT_MODE_FIFO | SplDoublyLinkedList::IT_MODE_KEEP

Внимание

The direction of iteration can no longer be changer for SplQueues. Trying to do so will result in a RuntimeException being thrown.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SplQueue::enqueue
SplHeap
SplQueue


The SplHeap class

Введение

The SplHeap class provides the main functionalities of an Heap.

Class synopsis

SplHeap
abstract SplHeap implements Iterator , Countable {
/* Methods */
__construct ( void )
abstractint 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 — Peaks at the node from the top of the heap
  • SplHeap::valid — Check whether the heap contains more nodes
SplQueue::setIteratorMode
SplHeap::compare
Datastructures


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.

Описание

abstractint SplHeap::compare ( mixed $value1 , mixed $value2 )

Compare value1 with value2 .

Внимание

Throwing exceptions in SplHeap::compare can corrupt the Heap and place it in an blocked state. You can unblock is 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.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

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 )

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Список параметров

This function has no parameters.

Возвращаемые значения

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 )

Список параметров

This function has no parameters.

Возвращаемые значения

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 )

Список параметров

This function has no parameters.

Возвращаемые значения

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

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

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 )

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SplHeap::recoverFromCorruption
SplHeap::top
SplHeap


Peaks 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 — Peaks at the node from the top of the heap

Описание

mixed SplHeap::top ( void )

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns TRUE if the heap contains any more nodes, FALSE otherwise.

SplHeap::top
SplMaxHeap
SplHeap


The SplMaxHeap class

Введение

The SplMaxHeap class provides the main functionalities of a heap, keeping the maximum on the top.

Class synopsis

SplMaxHeap
SplMaxHeap extends SplHeap implements Iterator , Countable {
/* Methods */
void compare ( mixed $value1 , mixed $value2 )
/* Inherited methods */
abstractint 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
Datastructures


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

Введение

The SplMinHeap class provides the main functionalities of a heap, keeping the minimum on the top.

Class synopsis

SplMinHeap
SplMinHeap extends SplHeap implements Iterator , Countable {
/* Methods */
void compare ( mixed $value1 , mixed $value2 )
/* Inherited methods */
abstractint 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
Datastructures


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

Введение

The SplPriorityQueue class provides the main functionalities of an prioritized queue, implemented using a heap.

Class synopsis

SplPriorityQueue
SplPriorityQueue implements Iterator , Countable {
/* Methods */
__construct ( void )
void 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 — Peaks at the node from the top of the queue
  • SplPriorityQueue::valid — Check whether the queue contains more nodes
SplMinHeap::compare
SplPriorityQueue::compare
Datastructures


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.

Описание

void 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.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

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 )

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Список параметров

This function has no parameters.

Возвращаемые значения

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 )

Список параметров

This function has no parameters.

Возвращаемые значения

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 )

Список параметров

This function has no parameters.

Возвращаемые значения

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

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

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 )

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

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


Peaks 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 — Peaks at the node from the top of the queue

Описание

mixed SplPriorityQueue::top ( void )

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns TRUE if the queue contains any more nodes, FALSE otherwise.

SplPriorityQueue::top
SplFixedArray
SplPriorityQueue


The SplFixedArray class

Введение

The SplFixedArray class provides the main functionalities of array. The main differences between a SplFixedArray and a normal PHP array is that the SplFixedArray is of fixed length and allows only integers within the range as indexes. The advantage is that it allows a faster array implementation.

Class synopsis

SplFixedArray
SplFixedArray implements Iterator , ArrayAccess , Countable {
/* Methods */
public __construct ( int $size )
public int count ( void )
public mixed current ( void )
public static SplFixedArray fromArray ( array $array [, boolean $save_indexes ] )
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 usage example

<?php
// Initialize the array with a fixed length
$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"

// Increase the size of the array to 10
$array->setSize(10);

$array[9] = "asdf";

// Shrink the array to a size of 2
$array->setSize(2);

// The following lines throw a 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 — Constructs a new fixed array
  • SplFixedArray::count — Returns the size of the array
  • SplFixedArray::current — Return current array entry
  • SplFixedArray::fromArray — Import a PHP array in a SplFixedArray instance
  • SplFixedArray::getSize — Gets the size of the array
  • SplFixedArray::key — Return current array index
  • SplFixedArray::next — Move to next entry
  • SplFixedArray::offsetExists — Returns whether the requested index exists
  • SplFixedArray::offsetGet — Returns the value at the specified index
  • SplFixedArray::offsetSet — Sets a new value at a specified index
  • SplFixedArray::offsetUnset — Unsets the value at the specified $index
  • SplFixedArray::rewind — Rewind iterator back to the start
  • SplFixedArray::setSize — Change the size of an array
  • SplFixedArray::toArray — Returns a PHP array from the fixed array
  • SplFixedArray::valid — Check whether the array contains more elements
SplPriorityQueue::valid
SplFixedArray::__construct
Datastructures


Constructs a new fixed array

SplFixedArray
SplFixedArray::count
SplFixedArray
PHP Manual

SplFixedArray::__construct

(PHP 5 >= 5.3.0)

SplFixedArray::__construct — Constructs a new fixed array

Описание

public SplFixedArray::__construct ( int $size )

Constructs a new empty fixed array.

Список параметров

size

The size of the fixed array, defaults to 0.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 SplFixedArray::__construct() example

<?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


Returns the size of the array

SplFixedArray::__construct
SplFixedArray::current
SplFixedArray
PHP Manual

SplFixedArray::count

(PHP 5 >= 5.3.0)

SplFixedArray::count — Returns the size of the array

Описание

public int SplFixedArray::count ( void )

Returns the size of the array.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the size of the array.

SplFixedArray::__construct
SplFixedArray::current
SplFixedArray


Return current array entry

SplFixedArray::count
SplFixedArray::fromArray
SplFixedArray
PHP Manual

SplFixedArray::current

(PHP 5 >= 5.3.0)

SplFixedArray::current — Return current array entry

Описание

public mixed SplFixedArray::current ( void )

Get the current array element.

Список параметров

This function has no parameters.

Возвращаемые значения

The current element value.

SplFixedArray::count
SplFixedArray::fromArray
SplFixedArray


Import a PHP array in a SplFixedArray instance

SplFixedArray::current
SplFixedArray::getSize
SplFixedArray
PHP Manual

SplFixedArray::fromArray

(PHP 5 >= 5.3.0)

SplFixedArray::fromArray — Import a PHP array in a SplFixedArray instance

Описание

public static SplFixedArray SplFixedArray::fromArray ( array $array [, boolean $save_indexes ] )

Import the PHP array array in a new SplFixedArray instance

Список параметров

array

The array to import.

save_indexes

Try to save the numeric indexes used in the original array. Defaults to TRUE.

Возвращаемые значения

Returns an instance of SplFixedArray containing the array content.

Примеры

Пример #1 SplFixedArray::fromArray() example

<?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


Gets the size of the array

SplFixedArray::fromArray
SplFixedArray::key
SplFixedArray
PHP Manual

SplFixedArray::getSize

(PHP 5 >= 5.3.0)

SplFixedArray::getSize — Gets the size of the array

Описание

public int SplFixedArray::getSize ( void )

Gets the size of the array.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the size of the array, as an integer.

Примеры

Пример #1 SplFixedArray::getSize() example

<?php
   $array = new SplFixedArray(5);
   echo $array->getSize()."\n";
   $array->setSize(10);
   echo $array->getSize()."\n";
?>

Результат выполнения данного примера:

5
10

SplFixedArray::fromArray
SplFixedArray::key
SplFixedArray


Return current array index

SplFixedArray::getSize
SplFixedArray::next
SplFixedArray
PHP Manual

SplFixedArray::key

(PHP 5 >= 5.3.0)

SplFixedArray::key — Return current array index

Описание

public int SplFixedArray::key ( void )

Returns the current array index.

Список параметров

This function has no parameters.

Возвращаемые значения

The current array index.

SplFixedArray::getSize
SplFixedArray::next
SplFixedArray


Move to next entry

SplFixedArray::key
SplFixedArray::offsetExists
SplFixedArray
PHP Manual

SplFixedArray::next

(PHP 5 >= 5.3.0)

SplFixedArray::next — Move to next entry

Описание

public void SplFixedArray::next ( void )

Move the iterator to the next array entry.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SplFixedArray::key
SplFixedArray::offsetExists
SplFixedArray


Returns whether the requested index exists

SplFixedArray::next
SplFixedArray::offsetGet
SplFixedArray
PHP Manual

SplFixedArray::offsetExists

(PHP 5 >= 5.3.0)

SplFixedArray::offsetExists — Returns whether the requested index exists

Описание

public bool SplFixedArray::offsetExists ( int $index )

Checks whether the requested index index exists.

Список параметров

index

The index being checked.

Возвращаемые значения

TRUE if the requested index exists, otherwise FALSE

SplFixedArray::next
SplFixedArray::offsetGet
SplFixedArray


Returns the value at the specified index

SplFixedArray::offsetExists
SplFixedArray::offsetSet
SplFixedArray
PHP Manual

SplFixedArray::offsetGet

(PHP 5 >= 5.3.0)

SplFixedArray::offsetGet — Returns the value at the specified index

Описание

public mixed SplFixedArray::offsetGet ( int $index )

Returns the value at the index index .

Список параметров

index

The index with the value.

Возвращаемые значения

The value at the specified index .

SplFixedArray::offsetExists
SplFixedArray::offsetSet
SplFixedArray


Sets a new value at a specified index

SplFixedArray::offsetGet
SplFixedArray::offsetUnset
SplFixedArray
PHP Manual

SplFixedArray::offsetSet

(PHP 5 >= 5.3.0)

SplFixedArray::offsetSet — Sets a new value at a specified index

Описание

public void SplFixedArray::offsetSet ( int $index , mixed $newval )

Sets the value at the specified index to newval .

Список параметров

index

The index being set.

newval

The new value for the index .

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SplFixedArray::offsetGet
SplFixedArray::offsetUnset
SplFixedArray


Unsets the value at the specified $index

SplFixedArray::offsetSet
SplFixedArray::rewind
SplFixedArray
PHP Manual

SplFixedArray::offsetUnset

(PHP 5 >= 5.3.0)

SplFixedArray::offsetUnset — Unsets the value at the specified $index

Описание

public void SplFixedArray::offsetUnset ( int $index )

Unsets the value at the specified index.

Список параметров

index

The index being unset.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SplFixedArray::offsetSet
SplFixedArray::rewind
SplFixedArray


Rewind iterator back to the start

SplFixedArray::offsetUnset
SplFixedArray::setSize
SplFixedArray
PHP Manual

SplFixedArray::rewind

(PHP 5 >= 5.3.0)

SplFixedArray::rewind — Rewind iterator back to the start

Описание

public void SplFixedArray::rewind ( void )

Rewinds the iterator to the beginning.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

SplFixedArray::offsetUnset
SplFixedArray::setSize
SplFixedArray


Change the size of an array

SplFixedArray::rewind
SplFixedArray::toArray
SplFixedArray
PHP Manual

SplFixedArray::setSize

(PHP 5 >= 5.3.0)

SplFixedArray::setSize — Change the size of an array

Описание

public int SplFixedArray::setSize ( int $size )

Change the size of an array to the new size of size .

Список параметров

size

The new array size.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 SplFixedArray::setSize() example

<?php
   $array = new SplFixedArray(5);
   echo $array->getSize()."\n";
   $array->setSize(10);
   echo $array->getSize()."\n";
?>

Результат выполнения данного примера:

5
10

SplFixedArray::rewind
SplFixedArray::toArray
SplFixedArray


Returns a PHP array from the fixed array

SplFixedArray::setSize
SplFixedArray::valid
SplFixedArray
PHP Manual

SplFixedArray::toArray

(PHP 5 >= 5.3.0)

SplFixedArray::toArray — Returns a PHP array from the fixed array

Описание

public array SplFixedArray::toArray ( void )

Returns a PHP array from the fixed array.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns a PHP array, similar to the fixed array.

Примеры

Пример #1 SplFixedArray::toArray() example

<?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


Check whether the array contains more elements

SplFixedArray::toArray
SplObjectStorage
SplFixedArray
PHP Manual

SplFixedArray::valid

(PHP 5 >= 5.3.0)

SplFixedArray::valid — Check whether the array contains more elements

Описание

public bool SplFixedArray::valid ( void )

Checks if the array contains any more elements.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns TRUE if the array contains any more elements, FALSE otherwise.

SplFixedArray::toArray
SplObjectStorage
SplFixedArray


The SplObjectStorage class

Введение

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.

Class synopsis

SplObjectStorage
SplObjectStorage implements Countable , Iterator , Traversable , Serializable , ArrayAccess {
/* Methods */
public void addAll ( SplObjectStorage $storage )
public void attach ( object $object [, mixed $data ] )
public boolean contains ( object $object )
public int count ( void )
public object current ( void )
public void detach ( object $object )
public mixed getInfo ( void )
public int key ( void )
public void next ( void )
public boolean offsetExists ( object $object )
public mixed offsetGet ( object $object )
public void offsetSet ( object $object , mixed $info )
public void offsetUnset ( object $object )
public void removeAll ( SplObjectStorage $storage )
public void rewind ( void )
public string serialize ( void )
public void setInfo ( mixed $data )
public void unserialize ( string $serialized )
public boolean 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::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::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
Datastructures


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 ] )

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. Defaults to NULL.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #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"

Смотрите также

  • 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 boolean 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.

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Список параметров

This function has no parameters.

Возвращаемые значения

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::getInfo
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::getInfo
SplObjectStorage


Returns the data associated with the current iterator entry

SplObjectStorage::detach
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.

Список параметров

This function has no parameters.

Возвращаемые значения

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::detach
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.

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #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 boolean 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 $info )

Associate data to an object in the storage.

Замечание: SplObjectStorage::offsetSet is an alias of SplObjectStorage::attach.

Список параметров

object

The object to associate data with.

info

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::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::rewind
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::rewind
SplObjectStorage


Rewind the iterator to the first storage element

SplObjectStorage::removeAll
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.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #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::removeAll
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.

Список параметров

This function has no parameters.

Возвращаемые значения

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
Iterators
SplObjectStorage
PHP Manual

SplObjectStorage::valid

(PHP 5 >= 5.1.0)

SplObjectStorage::valid — Returns if the current iterator entry is valid

Описание

public boolean SplObjectStorage::valid ( void )

Returns if the current iterator entry is valid.

Список параметров

This function has no parameters.

Возвращаемые значения

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
Iterators
SplObjectStorage


Iterators

Содержание

  • The ArrayIterator class
  • The CachingIterator class
  • The DirectoryIterator class
  • The FilesystemIterator class
  • The FilterIterator class
  • The GlobIterator class
  • The IteratorIterator class
  • The LimitIterator class
  • The ParentIterator class
  • The RecursiveCachingIterator class
  • The RecursiveDirectoryIterator class
  • The RecursiveIteratorIterator class
  • The SimpleXMLIterator class

SPL provides a set of iterators to traverse over objects.

Undocumented Iterators

  • AppendIterator
  • EmptyIterator
  • InfiniteIterator
  • MultipleIterator
  • NoRewindIterator
  • RecursiveArrayIterator
  • RecursiveFilterIterator
  • RecursiveRegexIterator
  • RecursiveTreeIterator
  • RegexIterator
SplObjectStorage::valid
ArrayIterator
SPL


The ArrayIterator class

Введение

This iterator allows to unset and modify values and keys while iterating over Arrays and Objects.

When you want to iterate over the same array multiple times you need to instantiate ArrayObject and let it create ArrayIterator instances that refer to it either by using foreach or by calling its getIterator() method manually.

Class synopsis

ArrayIterator
ArrayIterator implements Iterator , Traversable , ArrayAccess , SeekableIterator , Countable {
/* Methods */
mixed current ( void )
mixed key ( void )
void next ( void )
void rewind ( void )
void seek ( int $position )
bool valid ( void )
}

Содержание

  • ArrayIterator::current — Return current array entry
  • ArrayIterator::key — Return current array key
  • ArrayIterator::next — Move to next entry
  • ArrayIterator::rewind — Rewind array back to the start
  • ArrayIterator::seek — Seek to position
  • ArrayIterator::valid — Check whether array contains more entries
Iterators
ArrayIterator::current
Iterators


Return current array entry

ArrayIterator
ArrayIterator::key
ArrayIterator
PHP Manual

ArrayIterator::current

(PHP 5 >= 5.1.0)

ArrayIterator::current — Return current array entry

Описание

mixed ArrayIterator::current ( void )

Get the current array entry.

Список параметров

This function has no parameters.

Возвращаемые значения

The current array entry.

Примеры

Пример #1 ArrayIterator::current() example

<?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
ArrayIterator::key
ArrayIterator


Return current array key

ArrayIterator::current
ArrayIterator::next
ArrayIterator
PHP Manual

ArrayIterator::key

(PHP 5 >= 5.1.0)

ArrayIterator::key — Return current array key

Описание

mixed ArrayIterator::key ( void )

This function returns the current array key

Список параметров

This function has no parameters.

Возвращаемые значения

The current array key.

Примеры

Пример #1 ArrayIterator::key() example

<?php
$array = array('key' => 'value');

$arrayobject = new ArrayObject($array);
$iterator = $arrayobject->getIterator();

echo $iterator->key(); //key
?>

ArrayIterator::current
ArrayIterator::next
ArrayIterator


Move to next entry

ArrayIterator::key
ArrayIterator::rewind
ArrayIterator
PHP Manual

ArrayIterator::next

(PHP 5 >= 5.1.0)

ArrayIterator::next — Move to next entry

Описание

void ArrayIterator::next ( void )

The iterator to the next entry.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #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::key
ArrayIterator::rewind
ArrayIterator


Rewind array back to the start

ArrayIterator::next
ArrayIterator::seek
ArrayIterator
PHP Manual

ArrayIterator::rewind

(PHP 5 >= 5.1.0)

ArrayIterator::rewind — Rewind array back to the start

Описание

void ArrayIterator::rewind ( void )

This rewinds the iterator to the beginning.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 ArrayIterator::rewind() example

<?php
$arrayobject = new ArrayObject();

$arrayobject[] = 'zero';
$arrayobject[] = 'one';
$arrayobject[] = 'two';

$iterator = $arrayobject->getIterator();

$iterator->next();
echo $iterator->key(); //1

$iterator->rewind(); //rewinding to the begining
echo $iterator->key(); //0
?>

ArrayIterator::next
ArrayIterator::seek
ArrayIterator


Seek to position

ArrayIterator::rewind
ArrayIterator::valid
ArrayIterator
PHP Manual

ArrayIterator::seek

(PHP 5 >= 5.1.0)

ArrayIterator::seek — Seek to position

Описание

void ArrayIterator::seek ( int $position )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

position

The position to seek to.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ArrayIterator::rewind
ArrayIterator::valid
ArrayIterator


Check whether array contains more entries

ArrayIterator::seek
CachingIterator
ArrayIterator
PHP Manual

ArrayIterator::valid

(PHP 5 >= 5.1.0)

ArrayIterator::valid — Check whether array contains more entries

Описание

bool ArrayIterator::valid ( void )

Checks if the array contains any more entries.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #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::seek
CachingIterator
ArrayIterator


The CachingIterator class

Введение

This object supports cached iteration over another iterator.

Class synopsis

CachingIterator
CachingIterator extends IteratorIterator implements OuterIterator , Traversable , Iterator , ArrayAccess , Countable {
/* Constants */
const integer CachingIterator::CALL_TOSTRING = 1 ;
const integer CachingIterator::CATCH_GET_CHILD = 16 ;
const integer CachingIterator::TOSTRING_USE_KEY = 2 ;
const integer CachingIterator::TOSTRING_USE_CURRENT = 4 ;
const integer CachingIterator::TOSTRING_USE_INNER = 8 ;
const integer CachingIterator::FULL_CACHE = 256 ;
/* Methods */
__construct ( Iterator $iterator [, string $flags ] )
public void 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 — Return the innter 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
Iterators


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 void CachingIterator::count ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

May return the number of elements in the iterator.

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Mixed

Смотрите также

  • Iterator::current - Return the current element

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 )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Description...

CachingIterator::getCache
CachingIterator::getInnerIterator
CachingIterator


Return the innter iterator

CachingIterator::getFlags
CachingIterator::hasNext
CachingIterator
PHP Manual

CachingIterator::getInnerIterator

(PHP 5)

CachingIterator::getInnerIterator — Return the innter iterator

Описание

public void CachingIterator::getInnerIterator ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the iterator sent to the constructor.

Список параметров

This function has no parameters.

Возвращаемые значения

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 )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

This function has no parameters.

Возвращаемые значения

Возвращает 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.

Список параметров

This function has no parameters.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

The string representation of the current element.

CachingIterator::setFlags
CachingIterator::valid
CachingIterator


Check whether the current element is valid

CachingIterator::__toString
DirectoryIterator
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.

Список параметров

This function has no parameters.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

CachingIterator::__toString
DirectoryIterator
CachingIterator


The DirectoryIterator class

Введение

The DirectoryIterator class provides a simple interface for viewing the contents of filesystem directories.

Class synopsis

DirectoryIterator
DirectoryIterator extends SplFileInfo implements Iterator , Traversable , SeekableIterator {
/* Methods */
__construct ( string $path )
public DirectoryIterator current ( void )
public int getATime ( void )
public string getBasename ([ string $suffix ] )
public int getCTime ( 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 — Constructs a new directory iterator from a path
  • DirectoryIterator::current — Return the current DirectoryIterator item.
  • DirectoryIterator::getATime — Get last access time of the current DirectoryIterator item
  • DirectoryIterator::getBasename — Get base name of current DirectoryIterator item.
  • DirectoryIterator::getCTime — Get inode change time of the current DirectoryIterator item
  • DirectoryIterator::getFilename — Return file name of current DirectoryIterator item.
  • DirectoryIterator::getGroup — Get group for the current DirectoryIterator item
  • DirectoryIterator::getInode — Get inode for the current DirectoryIterator item
  • DirectoryIterator::getMTime — Get last modification time of current DirectoryIterator item
  • DirectoryIterator::getOwner — Get owner of current DirectoryIterator item
  • DirectoryIterator::getPath — Get path of current Iterator item without filename
  • DirectoryIterator::getPathname — Return path and file name of current DirectoryIterator item
  • DirectoryIterator::getPerms — Get the permissions of current DirectoryIterator item
  • DirectoryIterator::getSize — Get size of current DirectoryIterator item
  • DirectoryIterator::getType — Determine the type of the current DirectoryIterator item
  • DirectoryIterator::isDir — Determine if current DirectoryIterator item is a directory
  • DirectoryIterator::isDot — Determine if current DirectoryIterator item is '.' or '..'
  • DirectoryIterator::isExecutable — Determine if current DirectoryIterator item is executable
  • DirectoryIterator::isFile — Determine if current DirectoryIterator item is a regular file
  • DirectoryIterator::isLink — Determine if current DirectoryIterator item is a symbolic link
  • DirectoryIterator::isReadable — Determine if current DirectoryIterator item can be read
  • DirectoryIterator::isWritable — Determine if current DirectoryIterator item can be written to
  • DirectoryIterator::key — Return the key for the current DirectoryIterator item
  • DirectoryIterator::next — Move forward to next DirectoryIterator item
  • DirectoryIterator::rewind — Rewind the DirectoryIterator back to the start
  • DirectoryIterator::seek — Seek to a DirectoryIterator item
  • DirectoryIterator::__toString — Get file name as a string
  • DirectoryIterator::valid — Check whether current DirectoryIterator position is a valid file
CachingIterator::valid
DirectoryIterator::__construct
Iterators


Constructs a new directory iterator from a path

DirectoryIterator
DirectoryIterator::current
DirectoryIterator
PHP Manual

DirectoryIterator::__construct

(PHP 5)

DirectoryIterator::__construct — Constructs a new directory iterator from a path

Описание

DirectoryIterator::__construct ( string $path )

Constructs a new directory iterator from a path.

Список параметров

path

The path of the directory to traverse.

Errors/Exceptions

Throws an UnexpectedValueException if the path cannot be opened.

Примеры

Пример #1 A DirectoryIterator::__construct example

This example will list the contents of the directory containing the script.

<?php
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $fileinfo) {
    if (!$fileinfo->isDot()) {
        var_dump($fileinfo->getFilename());
    }
}
?>

Смотрите также

  • SplFileInfo
  • Iterator

DirectoryIterator
DirectoryIterator::current
DirectoryIterator


Return the current DirectoryIterator item.

DirectoryIterator::__construct
DirectoryIterator::getATime
DirectoryIterator
PHP Manual

DirectoryIterator::current

(PHP 5)

DirectoryIterator::current — Return the current DirectoryIterator item.

Описание

public DirectoryIterator DirectoryIterator::current ( void )

Get the current DirectoryIterator item.

Список параметров

This function has no parameters.

Возвращаемые значения

The current DirectoryIterator item.

Примеры

Пример #1 A DirectoryIterator::current example

This example will list the contents of the directory containing the script.

<?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 - Return the key for the current DirectoryIterator item
  • DirectoryIterator::next - Move forward to next DirectoryIterator item
  • DirectoryIterator::rewind - Rewind the DirectoryIterator back to the start
  • DirectoryIterator::valid - Check whether current DirectoryIterator position is a valid file
  • Iterator::current - Return the current element

DirectoryIterator::__construct
DirectoryIterator::getATime
DirectoryIterator


Get last access time of the current DirectoryIterator item

DirectoryIterator::current
DirectoryIterator::getBasename
DirectoryIterator
PHP Manual

DirectoryIterator::getATime

(PHP 5 >= 5.0.2)

DirectoryIterator::getATime — Get last access time of the current DirectoryIterator item

Описание

public int DirectoryIterator::getATime ( void )

Get the last access time of the current DirectoryIterator item.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the time the file was last accessed, as a Unix timestamp.

Примеры

Пример #1 A DirectoryIterator::getATime example

Displays a list of the files in the directory of the script and their last access times.

<?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 - Get inode change time of the current DirectoryIterator item
  • DirectoryIterator::getMTime - Get last modification time of current DirectoryIterator item
  • fileatime() - Получить время последнего доступа к файлу

DirectoryIterator::current
DirectoryIterator::getBasename
DirectoryIterator


Get base name of current DirectoryIterator item.

DirectoryIterator::getATime
DirectoryIterator::getCTime
DirectoryIterator
PHP Manual

DirectoryIterator::getBasename

(PHP 5 >= 5.2.2)

DirectoryIterator::getBasename — Get base name of current DirectoryIterator item.

Описание

public string DirectoryIterator::getBasename ([ string $suffix ] )

Get the base name of the current DirectoryIterator item.

Список параметров

suffix

If the base name ends in suffix , this will be cut.

Возвращаемые значения

The base name of the current DirectoryIterator item.

Примеры

Пример #1 A DirectoryIterator::getBasename example

This example will list the full base name and the base name with suffix .jpg removed for the files in the directory containing the script.

<?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 - Return file name of current DirectoryIterator item.
  • DirectoryIterator::getPath - Get path of current Iterator item without filename
  • DirectoryIterator::getPathname - Return path and file name of current DirectoryIterator item
  • basename() - Возвращает имя файла из указанного пути
  • pathinfo() - Возвращает информацию о пути к файлу

DirectoryIterator::getATime
DirectoryIterator::getCTime
DirectoryIterator


Get inode change time of the current DirectoryIterator item

DirectoryIterator::getBasename
DirectoryIterator::getFilename
DirectoryIterator
PHP Manual

DirectoryIterator::getCTime

(PHP 5 >= 5.0.2)

DirectoryIterator::getCTime — Get inode change time of the current DirectoryIterator item

Описание

public int DirectoryIterator::getCTime ( void )

Get the inode change time for the current DirectoryIterator item.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the last change time of the file, as a Unix timestamp.

Примеры

Пример #1 DirectoryIterator::getCTime() example

This example displays the file name and last change time of the files in the directory containing the script.

<?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 - Get last access time of the current DirectoryIterator item
  • DirectoryIterator::getMTime - Get last modification time of current DirectoryIterator item
  • filectime() - Получить время последнего изменения i-узла

DirectoryIterator::getBasename
DirectoryIterator::getFilename
DirectoryIterator


Return file name of current DirectoryIterator item.

DirectoryIterator::getCTime
DirectoryIterator::getGroup
DirectoryIterator
PHP Manual

DirectoryIterator::getFilename

(PHP 5)

DirectoryIterator::getFilename — Return file name of current DirectoryIterator item.

Описание

public string DirectoryIterator::getFilename ( void )

Get the file name of the current DirectoryIterator item.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the file name of the current DirectoryIterator item.

Примеры

Пример #1 A DirectoryIterator::getFilename example

This example will list the contents of the directory containing the script.

<?php
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $fileinfo) {
    echo $fileinfo->getFilename() . "\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

.
..
apple.jpg
banana.jpg
index.php
pear.jpg

Смотрите также

  • DirectoryIterator::getBasename - Get base name of current DirectoryIterator item.
  • DirectoryIterator::getPath - Get path of current Iterator item without filename
  • DirectoryIterator::getPathname - Return path and file name of current DirectoryIterator item
  • pathinfo() - Возвращает информацию о пути к файлу

DirectoryIterator::getCTime
DirectoryIterator::getGroup
DirectoryIterator


Get group for the current DirectoryIterator item

DirectoryIterator::getFilename
DirectoryIterator::getInode
DirectoryIterator
PHP Manual

DirectoryIterator::getGroup

(PHP 5 >= 5.0.2)

DirectoryIterator::getGroup — Get group for the current DirectoryIterator item

Описание

public int DirectoryIterator::getGroup ( void )

Get the group id of the file.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the group id of the current DirectoryIterator item in numerical format.

Примеры

Пример #1 DirectoryIterator::getGroup() example

<?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 - Get inode for the current DirectoryIterator item
  • DirectoryIterator::getOwner - Get owner of current DirectoryIterator item
  • DirectoryIterator::getPerms - Get the permissions of current DirectoryIterator item
  • filegroup() - Получить идентификатор группы файла
  • posix_getgrgid() - Return info about a group by group id

DirectoryIterator::getFilename
DirectoryIterator::getInode
DirectoryIterator


Get inode for the current DirectoryIterator item

DirectoryIterator::getGroup
DirectoryIterator::getMTime
DirectoryIterator
PHP Manual

DirectoryIterator::getInode

(PHP 5 >= 5.0.2)

DirectoryIterator::getInode — Get inode for the current DirectoryIterator item

Описание

public int DirectoryIterator::getInode ( void )

Get the inode number for the current DirectoryIterator item.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the inode number for the file.

Примеры

Пример #1 DirectoryIterator::getInode() example

This example displays the inode number for the directory containing the script.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
echo $iterator->getInode();
?>

Смотрите также

  • DirectoryIterator::getGroup - Get group for the current DirectoryIterator item
  • DirectoryIterator::getOwner - Get owner of current DirectoryIterator item
  • DirectoryIterator::getPerms - Get the permissions of current DirectoryIterator item
  • fileinode() - Получить номер inode файла

DirectoryIterator::getGroup
DirectoryIterator::getMTime
DirectoryIterator


Get last modification time of current DirectoryIterator item

DirectoryIterator::getInode
DirectoryIterator::getOwner
DirectoryIterator
PHP Manual

DirectoryIterator::getMTime

(PHP 5 >= 5.0.2)

DirectoryIterator::getMTime — Get last modification time of current DirectoryIterator item

Описание

public int DirectoryIterator::getMTime ( void )

Get the last modification time of the current DirectoryIterator item, as a Unix timestamp.

Список параметров

This function has no parameters.

Возвращаемые значения

The last modification time of the file, as a Unix timestamp.

Примеры

Пример #1 A DirectoryIterator::getMTime example

Displays a list of the files in the directory of the script and their last modified times.

<?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 - Get last access time of the current DirectoryIterator item
  • DirectoryIterator::getCTime - Get inode change time of the current DirectoryIterator item
  • filemtime() - Получить время последнего изменения файла

DirectoryIterator::getInode
DirectoryIterator::getOwner
DirectoryIterator


Get owner of current DirectoryIterator item

DirectoryIterator::getMTime
DirectoryIterator::getPath
DirectoryIterator
PHP Manual

DirectoryIterator::getOwner

(PHP 5 >= 5.0.2)

DirectoryIterator::getOwner — Get owner of current DirectoryIterator item

Описание

public int DirectoryIterator::getOwner ( void )

Get the owner of the current DirectoryIterator item, in numerical format.

Список параметров

This function has no parameters.

Возвращаемые значения

The file owner of the file, in numerical format.

Примеры

Пример #1 DirectoryIterator::getOwner example

This example displays the owner of the directory which contains the script.

<?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 - Get group for the current DirectoryIterator item
  • DirectoryIterator::getiNode - Get inode for the current DirectoryIterator item
  • DirectoryIterator::getPerms - Get the permissions of current DirectoryIterator item
  • posix_getpwuid() - Return info about a user by user id

DirectoryIterator::getMTime
DirectoryIterator::getPath
DirectoryIterator


Get path of current Iterator item without filename

DirectoryIterator::getOwner
DirectoryIterator::getPathname
DirectoryIterator
PHP Manual

DirectoryIterator::getPath

(PHP 5 <= 5.1.1)

DirectoryIterator::getPath — Get path of current Iterator item without filename

Описание

public string DirectoryIterator::getPath ( void )

Get the path to the current DirectoryIterator item.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the path to the file, omitting the file name and any trailing slash.

Примеры

Пример #1 DirectoryIterator::getPath() example

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
echo $iterator->getPath();

Результатом выполнения данного примера будет что-то подобное:

/home/examples/public_html

Смотрите также

  • DirectoryIterator::getBasename - Get base name of current DirectoryIterator item.
  • DirectoryIterator::getFilename - Return file name of current DirectoryIterator item.
  • DirectoryIterator::getPathname - Return path and file name of current DirectoryIterator item
  • pathinfo() - Возвращает информацию о пути к файлу

DirectoryIterator::getOwner
DirectoryIterator::getPathname
DirectoryIterator


Return path and file name of current DirectoryIterator item

DirectoryIterator::getPath
DirectoryIterator::getPerms
DirectoryIterator
PHP Manual

DirectoryIterator::getPathname

(PHP 5 <= 5.1.1)

DirectoryIterator::getPathname — Return path and file name of current DirectoryIterator item

Описание

public string DirectoryIterator::getPathname ( void )

Get the path and file name of the current file.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns he path and file name of current file. Directories do not have a trailing slash.

Примеры

Пример #1 DirectoryIterator::getPathname() example

<?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 - Get base name of current DirectoryIterator item.
  • DirectoryIterator::getFilename - Return file name of current DirectoryIterator item.
  • DirectoryIterator::getPath - Get path of current Iterator item without filename
  • pathinfo() - Возвращает информацию о пути к файлу

DirectoryIterator::getPath
DirectoryIterator::getPerms
DirectoryIterator


Get the permissions of current DirectoryIterator item

DirectoryIterator::getPathname
DirectoryIterator::getSize
DirectoryIterator
PHP Manual

DirectoryIterator::getPerms

(PHP 5 >= 5.0.2)

DirectoryIterator::getPerms — Get the permissions of current DirectoryIterator item

Описание

public int DirectoryIterator::getPerms ( void )

Get the permissions of the current DirectoryIterator item.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the permissions of the file, as a decimal integer.

Примеры

Пример #1 DirectoryIterator::getPerms() example

<?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 - Determine if current DirectoryIterator item is executable
  • DirectoryIterator::isReadable - Determine if current DirectoryIterator item can be read
  • DirectoryIterator::isWritable - Determine if current DirectoryIterator item can be written to

DirectoryIterator::getPathname
DirectoryIterator::getSize
DirectoryIterator


Get size of current DirectoryIterator item

DirectoryIterator::getPerms
DirectoryIterator::getType
DirectoryIterator
PHP Manual

DirectoryIterator::getSize

(PHP 5 >= 5.0.2)

DirectoryIterator::getSize — Get size of current DirectoryIterator item

Описание

public int DirectoryIterator::getSize ( void )

Get the file size for the current DirectoryIterator item.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the size of the file, in bytes.

Примеры

Пример #1 DirectoryIterator::getSize() example

<?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


Determine the type of the current DirectoryIterator item

DirectoryIterator::getSize
DirectoryIterator::isDir
DirectoryIterator
PHP Manual

DirectoryIterator::getType

(PHP 5 >= 5.0.2)

DirectoryIterator::getType — Determine the type of the current DirectoryIterator item

Описание

public string DirectoryIterator::getType ( void )

Determines which file type the current DirectoryIterator item belongs to. One of file, link, or dir.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns a string representing the type of the file. May be one of file, link, or dir.

Примеры

Пример #1 DirectoryIterator::getType() example

<?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 - Determine if current DirectoryIterator item is a directory
  • DirectoryIterator::isDot - Determine if current DirectoryIterator item is '.' or '..'
  • DirectoryIterator::isFile - Determine if current DirectoryIterator item is a regular file
  • DirectoryIterator::isLink - Determine if current DirectoryIterator item is a symbolic link

DirectoryIterator::getSize
DirectoryIterator::isDir
DirectoryIterator


Determine if current DirectoryIterator item is a directory

DirectoryIterator::getType
DirectoryIterator::isDot
DirectoryIterator
PHP Manual

DirectoryIterator::isDir

(PHP 5 <= 5.1.1)

DirectoryIterator::isDir — Determine if current DirectoryIterator item is a directory

Описание

public bool DirectoryIterator::isDir ( void )

Determines if the current DirectoryIterator item is a directory.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns TRUE if it is a directory, otherwise FALSE

Примеры

Пример #1 DirectoryIterator::isDir() example

This example lists the directories within the directory of the current script.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isDir()) {
        echo $fileinfo->getFilename() . "\n";
    }
}
?>

Результатом выполнения данного примера будет что-то подобное:

.
..
apples
bananas
pears

Смотрите также

  • DirectoryIterator::getType - Determine the type of the current DirectoryIterator item
  • DirectoryIterator::isDot - Determine if current DirectoryIterator item is '.' or '..'
  • DirectoryIterator::isFile - Determine if current DirectoryIterator item is a regular file
  • DirectoryIterator::isLink - Determine if current DirectoryIterator item is a symbolic link

DirectoryIterator::getType
DirectoryIterator::isDot
DirectoryIterator


Determine if current DirectoryIterator item is '.' or '..'

DirectoryIterator::isDir
DirectoryIterator::isExecutable
DirectoryIterator
PHP Manual

DirectoryIterator::isDot

(PHP 5.1.0)

DirectoryIterator::isDot — Determine if current DirectoryIterator item is '.' or '..'

Описание

public bool DirectoryIterator::isDot ( void )

Determines if the current DirectoryIterator item is a directory and either . or ...

Список параметров

This function has no parameters.

Возвращаемые значения

TRUE if the entry is . or .., otherwise FALSE

Примеры

Пример #1 A DirectoryIterator::isDot example

This example will list all files, omitting the . and .. entries.

<?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 - Determine the type of the current DirectoryIterator item
  • DirectoryIterator::isDir - Determine if current DirectoryIterator item is a directory
  • DirectoryIterator::isFile - Determine if current DirectoryIterator item is a regular file
  • DirectoryIterator::isLink - Determine if current DirectoryIterator item is a symbolic link

DirectoryIterator::isDir
DirectoryIterator::isExecutable
DirectoryIterator


Determine if current DirectoryIterator item is executable

DirectoryIterator::isDot
DirectoryIterator::isFile
DirectoryIterator
PHP Manual

DirectoryIterator::isExecutable

(PHP 5 <= 5.1.1)

DirectoryIterator::isExecutable — Determine if current DirectoryIterator item is executable

Описание

public bool DirectoryIterator::isExecutable ( void )

Determines if the current DirectoryIterator item is executable.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns TRUE if the entry is executable, otherwise FALSE

Примеры

Пример #1 DirectoryIterator::isExecutable() example

This example lists files in the directory containing the script which are executable.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isExecutable()) {
        echo $fileinfo->getFilename() . "\n";
    }
}
?>

Результатом выполнения данного примера будет что-то подобное:

example.php
myscript.sh

Смотрите также

  • DirectoryIterator::isReadable - Determine if current DirectoryIterator item can be read
  • DirectoryIterator::isWritable - Determine if current DirectoryIterator item can be written to
  • DirectoryIterator::getPerms - Get the permissions of current DirectoryIterator item

DirectoryIterator::isDot
DirectoryIterator::isFile
DirectoryIterator


Determine if current DirectoryIterator item is a regular file

DirectoryIterator::isExecutable
DirectoryIterator::isLink
DirectoryIterator
PHP Manual

DirectoryIterator::isFile

(PHP 5 <= 5.1.1)

DirectoryIterator::isFile — Determine if current DirectoryIterator item is a regular file

Описание

public bool DirectoryIterator::isFile ( void )

Determines if the current DirectoryIterator item is a regular file.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns TRUE if the file exists and is a regular file (not a link or dir), otherwise FALSE

Примеры

Пример #1 DirectoryIterator::isFile example

This example will list all regular files in the directory containing the script.

<?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 - Determine the type of the current DirectoryIterator item
  • DirectoryIterator::isDir - Determine if current DirectoryIterator item is a directory
  • DirectoryIterator::isDot - Determine if current DirectoryIterator item is '.' or '..'
  • DirectoryIterator::isLink - Determine if current DirectoryIterator item is a symbolic link

DirectoryIterator::isExecutable
DirectoryIterator::isLink
DirectoryIterator


Determine if current DirectoryIterator item is a symbolic link

DirectoryIterator::isFile
DirectoryIterator::isReadable
DirectoryIterator
PHP Manual

DirectoryIterator::isLink

(PHP 5 <= 5.1.1)

DirectoryIterator::isLink — Determine if current DirectoryIterator item is a symbolic link

Описание

public bool DirectoryIterator::isLink ( void )

Determines if the current DirectoryIterator item is a symbolic link.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns TRUE if the item is a symbolic link, otherwise FALSE

Примеры

Пример #1 A DirectoryIterator::isLink example

This example contains a recursive function for removing a directory tree.

<?php
/**
 * This function will recursively delete all files in the given path, without
 * following symlinks.
 *
 * @param string $path Path to the directory to remove.
 */
function removeDir($path) {
    $dir = new DirectoryIterator($path);
    foreach ($dir as $fileinfo) {
        if ($fileinfo->isFile() || $fileinfo->isSymlink()) {
            unlink($fileinfo->getPathName());
        } elseif (!$fileinfo->isDot() && $fileinfo->isDir()) {
            removeDir($fileinfo->getPathName());
        }
    }
    rmdir($path);
}

removeDir('foo');
?>

Смотрите также

  • DirectoryIterator::getType - Determine the type of the current DirectoryIterator item
  • DirectoryIterator::isDir - Determine if current DirectoryIterator item is a directory
  • DirectoryIterator::isDot - Determine if current DirectoryIterator item is '.' or '..'
  • DirectoryIterator::isFile - Determine if current DirectoryIterator item is a regular file

DirectoryIterator::isFile
DirectoryIterator::isReadable
DirectoryIterator


Determine if current DirectoryIterator item can be read

DirectoryIterator::isLink
DirectoryIterator::isWritable
DirectoryIterator
PHP Manual

DirectoryIterator::isReadable

(PHP 5 <= 5.1.1)

DirectoryIterator::isReadable — Determine if current DirectoryIterator item can be read

Описание

public bool DirectoryIterator::isReadable ( void )

Determines if the current DirectoryIterator item is readable.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns TRUE if the file is readable, otherwise FALSE

Примеры

Пример #1 DirectoryIterator::isReadable example

<?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 - Determine if current DirectoryIterator item is executable
  • DirectoryIterator::isWritable - Determine if current DirectoryIterator item can be written to
  • DirectoryIterator::getPerms - Get the permissions of current DirectoryIterator item

DirectoryIterator::isLink
DirectoryIterator::isWritable
DirectoryIterator


Determine if current DirectoryIterator item can be written to

DirectoryIterator::isReadable
DirectoryIterator::key
DirectoryIterator
PHP Manual

DirectoryIterator::isWritable

(PHP 5 <= 5.1.1)

DirectoryIterator::isWritable — Determine if current DirectoryIterator item can be written to

Описание

public bool DirectoryIterator::isWritable ( void )

Determines if the current DirectoryIterator item is writable.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns TRUE if the file/directory is writable, otherwise FALSE

Примеры

Пример #1 DirectoryIterator::isWritable example

This example lists the files and directories which can be opened for writing in the directory containing the script.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isWritable()) {
        echo $fileinfo->getFilename() . "\n";
    }
}
?>

Результатом выполнения данного примера будет что-то подобное:

apples.txt
bananas.html
pears

Смотрите также

  • DirectoryIterator::getPerms - Get the permissions of current DirectoryIterator item
  • DirectoryIterator::isExecutable - Determine if current DirectoryIterator item is executable
  • DirectoryIterator::isReadable - Determine if current DirectoryIterator item can be read

DirectoryIterator::isReadable
DirectoryIterator::key
DirectoryIterator


Return the key for the current DirectoryIterator item

DirectoryIterator::isWritable
DirectoryIterator::next
DirectoryIterator
PHP Manual

DirectoryIterator::key

(PHP 5)

DirectoryIterator::key — Return the key for the current DirectoryIterator item

Описание

public string DirectoryIterator::key ( void )

Get the key for the current DirectoryIterator item.

Список параметров

This function has no parameters.

Возвращаемые значения

The key for the current DirectoryIterator item.

Примеры

Пример #1 A DirectoryIterator::key example

<?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 - Return the current DirectoryIterator item.
  • DirectoryIterator::next - Move forward to next DirectoryIterator item
  • DirectoryIterator::rewind - Rewind the DirectoryIterator back to the start
  • DirectoryIterator::valid - Check whether current DirectoryIterator position is a valid file
  • Iterator::key - Return the key of the current element

DirectoryIterator::isWritable
DirectoryIterator::next
DirectoryIterator


Move forward to next DirectoryIterator item

DirectoryIterator::key
DirectoryIterator::rewind
DirectoryIterator
PHP Manual

DirectoryIterator::next

(PHP 5)

DirectoryIterator::next — Move forward to next DirectoryIterator item

Описание

public void DirectoryIterator::next ( void )

Move forward to the next DirectoryIterator item.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 DirectoryIterator::next example

List the contents of a directory using a while loop.

<?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 - Return the current DirectoryIterator item.
  • DirectoryIterator::key - Return the key for the current DirectoryIterator item
  • DirectoryIterator::rewind - Rewind the DirectoryIterator back to the start
  • DirectoryIterator::valid - Check whether current DirectoryIterator position is a valid file
  • Iterator::next - Move forward to next element

DirectoryIterator::key
DirectoryIterator::rewind
DirectoryIterator


Rewind the DirectoryIterator back to the start

DirectoryIterator::next
DirectoryIterator::seek
DirectoryIterator
PHP Manual

DirectoryIterator::rewind

(PHP 5)

DirectoryIterator::rewind — Rewind the DirectoryIterator back to the start

Описание

public void DirectoryIterator::rewind ( void )

Rewind the DirectoryIterator back to the start.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 DirectoryIterator::rewind example

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));

$iterator->next();
echo $iterator->key(); //1

$iterator->rewind(); //rewinding to the beginning
echo $iterator->key(); //0
?>

Смотрите также

  • DirectoryIterator::current - Return the current DirectoryIterator item.
  • DirectoryIterator::key - Return the key for the current DirectoryIterator item
  • DirectoryIterator::next - Move forward to next DirectoryIterator item
  • DirectoryIterator::valid - Check whether current DirectoryIterator position is a valid file
  • Iterator::rewind - Rewind the Iterator to the first element

DirectoryIterator::next
DirectoryIterator::seek
DirectoryIterator


Seek to a DirectoryIterator item

DirectoryIterator::rewind
DirectoryIterator::__toString
DirectoryIterator
PHP Manual

DirectoryIterator::seek

()

DirectoryIterator::seek — Seek to a DirectoryIterator item

Описание

public void DirectoryIterator::seek ( int $position )

Seek to a given position in the DirectoryIterator.

Список параметров

position

The zero-based numeric position to seek to.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 DirectoryIterator::seek example

Seek to the fourth item in the directory containing the script. The first two are usually . and ..

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
$iterator->seek(3);
if ($iterator->valid()) {
    echo $iterator->getFilename();
} else {
    echo 'No file at position 3';
}
?>

Смотрите также

  • DirectoryIterator::rewind - Rewind the DirectoryIterator back to the start
  • DirectoryIterator::next - Move forward to next DirectoryIterator item
  • SeekableIterator::seek - Seeks to a position

DirectoryIterator::rewind
DirectoryIterator::__toString
DirectoryIterator


Get file name as a string

DirectoryIterator::seek
DirectoryIterator::valid
DirectoryIterator
PHP Manual

DirectoryIterator::__toString

()

DirectoryIterator::__toString — Get file name as a string

Описание

public string DirectoryIterator::__toString ( void )

Get the file name of the current DirectoryIterator item.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the file name of the current DirectoryIterator item.

Примеры

Пример #1 A DirectoryIterator::__toString example

This example will list the contents of the directory containing the script.

<?php
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $fileinfo) {
    echo $fileinfo;
}
?>

Результатом выполнения данного примера будет что-то подобное:

.
..
apple.jpg
banana.jpg
index.php
pear.jpg

Смотрите также

  • DirectoryIterator::getFilename - Return file name of current DirectoryIterator item.
  • The __toString magic method

DirectoryIterator::seek
DirectoryIterator::valid
DirectoryIterator


Check whether current DirectoryIterator position is a valid file

DirectoryIterator::__toString
FilesystemIterator
DirectoryIterator
PHP Manual

DirectoryIterator::valid

(PHP 5)

DirectoryIterator::valid — Check whether current DirectoryIterator position is a valid file

Описание

public bool DirectoryIterator::valid ( void )

Check whether current DirectoryIterator position is a valid file.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns TRUE if the position is valid, otherwise FALSE

Примеры

Пример #1 A DirectoryIterator::valid example

<?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 - Return the current DirectoryIterator item.
  • DirectoryIterator::key - Return the key for the current DirectoryIterator item
  • DirectoryIterator::next - Move forward to next DirectoryIterator item
  • DirectoryIterator::rewind - Rewind the DirectoryIterator back to the start
  • Iterator::valid - Checks if current position is valid

DirectoryIterator::__toString
FilesystemIterator
DirectoryIterator


The FilesystemIterator class

Введение

The Filesystem iterator

Class synopsis

FilesystemIterator
FilesystemIterator extends DirectoryIterator implements SeekableIterator , Traversable , Iterator {
/* Methods */
__construct ( string $path [, string $flags ] )
mixed current ( void )
public int getFlags ( void )
string key ( void )
public void next ( void )
public void rewind ( void )
public void setFlags ([ string $flags ] )
/* Inherited methods */
public DirectoryIterator DirectoryIterator::current ( void )
public int DirectoryIterator::getATime ( void )
public string DirectoryIterator::getBasename ([ string $suffix ] )
public int DirectoryIterator::getCTime ( 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::__construct — Constructs a new filesystem iterator
  • FilesystemIterator::current — The current file
  • FilesystemIterator::getFlags — Get the handling flags
  • FilesystemIterator::key — Retrieve the file name
  • FilesystemIterator::next — Move to the next entry
  • FilesystemIterator::rewind — Rewinds dir
  • FilesystemIterator::setFlags — Sets handling flags
DirectoryIterator::valid
FilesystemIterator::__construct
Iterators


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 [, string $flags ] )

Constructs a new filesystem iterator from the path .

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

path

The path.

flags

The desired flags.

Смотрите также

  • FilesystemIterator::setFlags - Sets handling flags
  • DirectoryIterator::__construct - Constructs a new directory iterator from a path

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

Описание

mixed FilesystemIterator::current ( void )

Get file information of the current element.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

This function has no parameters.

Возвращаемые значения

The Filename, File information, or $this depending on the set flags.

Смотрите также

  • DirectoryIterator::current - Return the current DirectoryIterator item.
  • DirectoryIterator::getFileName - Return file name of current DirectoryIterator item.

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.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

This function has no parameters.

Возвращаемые значения

The value of the set flags.

Смотрите также

  • FilesystemIterator::__construct - Constructs a new filesystem iterator

FilesystemIterator::current
FilesystemIterator::key
FilesystemIterator


Retrieve the file name

FilesystemIterator::getFlags
FilesystemIterator::next
FilesystemIterator
PHP Manual

FilesystemIterator::key

(PHP 5 >= 5.3.0)

FilesystemIterator::key — Retrieve the file name

Описание

string FilesystemIterator::key ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the Pathname or Filename depending on the set flags.

Смотрите также

  • DirectoryIterator::key - Return the key for the current DirectoryIterator item
  • DirectoryIterator::getFilename - Return file name of current DirectoryIterator item.
  • DirectoryIterator::getPathname - Return path and file name of current DirectoryIterator item

FilesystemIterator::getFlags
FilesystemIterator::next
FilesystemIterator


Move to the next entry

FilesystemIterator::key
FilesystemIterator::rewind
FilesystemIterator
PHP Manual

FilesystemIterator::next

(PHP 5 >= 5.3.0)

FilesystemIterator::next — Move to the next entry

Описание

public void FilesystemIterator::next ( void )

Move to the next entry.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • DirectoryIterator::next - Move forward to next DirectoryIterator item

FilesystemIterator::key
FilesystemIterator::rewind
FilesystemIterator


Rewinds dir

FilesystemIterator::next
FilesystemIterator::setFlags
FilesystemIterator
PHP Manual

FilesystemIterator::rewind

(PHP 5 >= 5.3.0)

FilesystemIterator::rewind — Rewinds dir

Описание

public void FilesystemIterator::rewind ( void )

Rewinds the directory back to the start.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • DirectoryIterator::rewind - Rewind the DirectoryIterator back to the start

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 ([ string $flags ] )

Sets handling flags.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

flags

The handling flags to set.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • FilesystemIterator::__construct - Constructs a new filesystem iterator
  • FilesystemIterator::getFlags - Get the handling flags

FilesystemIterator::rewind
FilterIterator
FilesystemIterator


The FilterIterator class

Введение

...

Class synopsis

FilterIterator
abstract FilterIterator extends IteratorIterator implements OuterIterator , Traversable , Iterator {
/* Methods */
mixed current ( void )
Iterator getInnerIterator ( void )
mixed key ( void )
void next ( void )
void rewind ( void )
bool valid ( void )
}

Содержание

  • 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::current
Iterators


Get the current element value

FilterIterator
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.

Список параметров

This function has no parameters.

Возвращаемые значения

The current element value.

Смотрите также

  • FilterIterator::key() - Get the current key
  • FilterIterator::next() - Move the iterator forward

FilterIterator
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.

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

TRUE if the current element is valid, otherwise FALSE

FilterIterator::rewind
GlobIterator
FilterIterator


The GlobIterator class

Введение

Iterates through a file system in a similar fashion to glob().

Class synopsis

GlobIterator
GlobIterator extends FilesystemIterator implements Iterator , Traversable , SeekableIterator , Countable {
/* Methods */
__construct ( string $path [, string $flags ] )
public integer count ( void )
/* Inherited methods */
FilesystemIterator::__construct ( string $path [, string $flags ] )
mixed FilesystemIterator::current ( void )
public int FilesystemIterator::getFlags ( void )
string FilesystemIterator::key ( void )
public void FilesystemIterator::next ( void )
public void FilesystemIterator::rewind ( void )
public void FilesystemIterator::setFlags ([ string $flags ] )
}

Содержание

  • GlobIterator::__construct — Construct a directory using glob
  • GlobIterator::count — Get the number of directories and files
FilterIterator::valid
GlobIterator::__construct
Iterators


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 [, string $flags ] )

Constructs a new directory iterator from a glob expression.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

path

The path of the directory.

flags

Optional flags.

Смотрите также

  • DirectoryIterator::__construct - Constructs a new directory iterator from a path
  • glob() - Находит файловые пути, совпадающие с шаблоном

GlobIterator
GlobIterator::count
GlobIterator


Get the number of directories and files

GlobIterator::__construct
IteratorIterator
GlobIterator
PHP Manual

GlobIterator::count

(PHP 5 >= 5.3.0)

GlobIterator::count — Get the number of directories and files

Описание

public integer GlobIterator::count ( void )

Gets the number of directories and files found by the glob expression.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

This function has no parameters.

Возвращаемые значения

The number of returned directories and files, as an integer.

GlobIterator::__construct
IteratorIterator
GlobIterator


The IteratorIterator class

Введение

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.

Class synopsis

IteratorIterator
IteratorIterator implements Iterator , Traversable , OuterIterator {
/* Methods */
__construct ( Traversable $iterator )
public void current ( void )
public void 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
GlobIterator::count
IteratorIterator::__construct
Iterators


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 void IteratorIterator::current ( void )

Get the value of the current element.

Список параметров

This function has no parameters.

Возвращаемые значения

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 void IteratorIterator::getInnerIterator ( void )

Get the inner iterator.

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

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

Введение

...

Class synopsis

LimitIterator
LimitIterator extends IteratorIterator implements OuterIterator , Traversable , Iterator {
/* Methods */
int getPosition ( void )
void next ( void )
void rewind ( void )
void seek ( int $position )
bool valid ( void )
}

Содержание

  • LimitIterator::getPosition — Return the current position
  • 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::getPosition
Iterators


Return the current position

LimitIterator
LimitIterator::next
LimitIterator
PHP Manual

LimitIterator::getPosition

(PHP 5 >= 5.1.0)

LimitIterator::getPosition — Return the current position

Описание

int LimitIterator::getPosition ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

This function has no parameters.

Возвращаемые значения

The current position.

LimitIterator
LimitIterator::next
LimitIterator


Move the iterator forward

LimitIterator::getPosition
LimitIterator::rewind
LimitIterator
PHP Manual

LimitIterator::next

(PHP 5 >= 5.1.0)

LimitIterator::next — Move the iterator forward

Описание

void LimitIterator::next ( void )

Moves the iterator forward.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

LimitIterator::getPosition
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

Описание

void LimitIterator::rewind ( void )

Rewinds the iterator to the specified starting offset.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

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

Описание

void LimitIterator::seek ( int $position )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

position

The position being seeked to.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

LimitIterator::rewind
LimitIterator::valid
LimitIterator


Check whether the current element is valid

LimitIterator::seek
ParentIterator
LimitIterator
PHP Manual

LimitIterator::valid

(PHP 5 >= 5.1.0)

LimitIterator::valid — Check whether the current element is valid

Описание

bool LimitIterator::valid ( void )

Checks whether the current element is valid.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

This function has no parameters.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

LimitIterator::seek
ParentIterator
LimitIterator


The ParentIterator class

Введение

...

Class synopsis

ParentIterator
ParentIterator extends RecursiveFilterIterator implements RecursiveIterator , OuterIterator , Traversable , Iterator {
/* Methods */
ParentIterator getChildren ( void )
bool hasChildren ( void )
void next ( void )
void rewind ( void )
}

Содержание

  • 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
LimitIterator::valid
ParentIterator::getChildren
Iterators


Return the inner iterator's children contained in a ParentIterator

ParentIterator
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 the inner iterator's children contained in a ParentIterator.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

This function has no parameters.

Возвращаемые значения

An object.

ParentIterator
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.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

This function has no parameters.

Возвращаемые значения

Возвращает 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.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ParentIterator::hasChildren
ParentIterator::rewind
ParentIterator


Rewind the iterator

ParentIterator::next
RecursiveCachingIterator
ParentIterator
PHP Manual

ParentIterator::rewind

(PHP 5 >= 5.1.0)

ParentIterator::rewind — Rewind the iterator

Описание

void ParentIterator::rewind ( void )

Rewinds the iterator.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ParentIterator::next
RecursiveCachingIterator
ParentIterator


The RecursiveCachingIterator class

Введение

...

Class synopsis

RecursiveCachingIterator
RecursiveCachingIterator extends CachingIterator implements Countable , ArrayAccess , Iterator , Traversable , OuterIterator , RecursiveIterator {
/* Methods */
RecursiveCachingIterator getChildren ( void )
bool hasChildren ( void )
/* Inherits */
CachingIterator::__construct ( Iterator $iterator [, string $flags ] )
public void 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::getChildren — Return the inner iterator's children as a RecursiveCachingIterator
  • RecursiveCachingIterator::hasChildren — Check whether the current element of the inner iterator has children
ParentIterator::rewind
RecursiveCachingIterator::getChildren
Iterators


Return the inner iterator's children as a RecursiveCachingIterator

RecursiveCachingIterator
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 )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

This function has no parameters.

Возвращаемые значения

The inner iterator's children, as a RecursiveCachingIterator.

RecursiveCachingIterator
RecursiveCachingIterator::hasChildren
RecursiveCachingIterator


Check whether the current element of the inner iterator has children

RecursiveCachingIterator::getChildren
RecursiveDirectoryIterator
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 )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

This function has no parameters.

Возвращаемые значения

TRUE if the inner iterator has children, otherwise FALSE

RecursiveCachingIterator::getChildren
RecursiveDirectoryIterator
RecursiveCachingIterator


The RecursiveDirectoryIterator class

Введение

...

Class synopsis

RecursiveDirectoryIterator
RecursiveDirectoryIterator extends DirectoryIterator implements Traversable , Iterator , RecursiveIterator {
/* Methods */
object getChildren ( void )
bool hasChildren ([ bool $allow_links ] )
string key ( void )
void next ( void )
void rewind ( void )
/* Inherits */
public DirectoryIterator DirectoryIterator::current ( void )
public int DirectoryIterator::getATime ( void )
public string DirectoryIterator::getBasename ([ string $suffix ] )
public int DirectoryIterator::getCTime ( 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 )
}

Содержание

  • RecursiveDirectoryIterator::getChildren — Returns an iterator for the current entry if it is a directory
  • 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
RecursiveCachingIterator::hasChildren
RecursiveDirectoryIterator::getChildren
Iterators


Returns an iterator for the current entry if it is a directory

RecursiveDirectoryIterator
RecursiveDirectoryIterator::hasChildren
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 )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

This function has no parameters.

Возвращаемые значения

An iterator for the current entry, if it is a directory.

RecursiveDirectoryIterator
RecursiveDirectoryIterator::hasChildren
RecursiveDirectoryIterator


Returns whether current entry is a directory and not '.' or '..'

RecursiveDirectoryIterator::getChildren
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::getChildren
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 )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

This function has no parameters.

Возвращаемые значения

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 )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

RecursiveDirectoryIterator::key
RecursiveDirectoryIterator::rewind
RecursiveDirectoryIterator


Rewind dir back to the start

RecursiveDirectoryIterator::next
RecursiveIteratorIterator
RecursiveDirectoryIterator
PHP Manual

RecursiveDirectoryIterator::rewind

(PHP 5)

RecursiveDirectoryIterator::rewind — Rewind dir back to the start

Описание

void RecursiveDirectoryIterator::rewind ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

RecursiveDirectoryIterator::next
RecursiveIteratorIterator
RecursiveDirectoryIterator


The RecursiveIteratorIterator class

Введение

...

Class synopsis

RecursiveIteratorIterator
RecursiveIteratorIterator implements OuterIterator , Traversable , Iterator {
/* Methods */
mixed current ( void )
int getDepth ( void )
RecursiveIterator getSubIterator ( void )
mixed key ( void )
void next ( void )
void rewind ( void )
bool valid ( void )
}

Содержание

  • RecursiveIteratorIterator::current — Access the current element value
  • RecursiveIteratorIterator::getDepth — Get the current depth of the recursive iteration
  • RecursiveIteratorIterator::getSubIterator — The current active sub iterator
  • RecursiveIteratorIterator::key — Access the current key
  • RecursiveIteratorIterator::next — Move forward to the next element
  • RecursiveIteratorIterator::rewind — Rewind the iterator to the first element of the top level inner iterator
  • RecursiveIteratorIterator::valid — Check whether the current position is valid
RecursiveDirectoryIterator::rewind
RecursiveIteratorIterator::current
Iterators


Access the current element value

RecursiveIteratorIterator
RecursiveIteratorIterator::getDepth
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::current

(PHP 5)

RecursiveIteratorIterator::current — Access the current element value

Описание

mixed RecursiveIteratorIterator::current ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

This function has no parameters.

Возвращаемые значения

The current elements value.

RecursiveIteratorIterator
RecursiveIteratorIterator::getDepth
RecursiveIteratorIterator


Get the current depth of the recursive iteration

RecursiveIteratorIterator::current
RecursiveIteratorIterator::getSubIterator
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::getDepth

(PHP 5)

RecursiveIteratorIterator::getDepth — Get the current depth of the recursive iteration

Описание

int RecursiveIteratorIterator::getDepth ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

This function has no parameters.

Возвращаемые значения

The current depth of the recursive iteration.

RecursiveIteratorIterator::current
RecursiveIteratorIterator::getSubIterator
RecursiveIteratorIterator


The current active sub iterator

RecursiveIteratorIterator::getDepth
RecursiveIteratorIterator::key
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::getSubIterator

(PHP 5)

RecursiveIteratorIterator::getSubIterator — The current active sub iterator

Описание

RecursiveIterator RecursiveIteratorIterator::getSubIterator ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

This function has no parameters.

Возвращаемые значения

The current active sub iterator.

RecursiveIteratorIterator::getDepth
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 )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

This function has no parameters.

Возвращаемые значения

The current key.

RecursiveIteratorIterator::getSubIterator
RecursiveIteratorIterator::next
RecursiveIteratorIterator


Move forward to the next element

RecursiveIteratorIterator::key
RecursiveIteratorIterator::rewind
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::next

(PHP 5)

RecursiveIteratorIterator::next — Move forward to the next element

Описание

void RecursiveIteratorIterator::next ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

RecursiveIteratorIterator::key
RecursiveIteratorIterator::rewind
RecursiveIteratorIterator


Rewind the iterator to the first element of the top level inner iterator

RecursiveIteratorIterator::next
RecursiveIteratorIterator::valid
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 )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

RecursiveIteratorIterator::next
RecursiveIteratorIterator::valid
RecursiveIteratorIterator


Check whether the current position is valid

RecursiveIteratorIterator::rewind
SimpleXMLIterator
RecursiveIteratorIterator
PHP Manual

RecursiveIteratorIterator::valid

(PHP 5)

RecursiveIteratorIterator::valid — Check whether the current position is valid

Описание

bool RecursiveIteratorIterator::valid ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

This function has no parameters.

Возвращаемые значения

TRUE if the current position is valid, otherwise FALSE

RecursiveIteratorIterator::rewind
SimpleXMLIterator
RecursiveIteratorIterator


The SimpleXMLIterator class

Введение

The SimpleXMLIterator provides recursive iteration over all nodes of a SimpleXMLElement object.

Class synopsis

SimpleXMLIterator
SimpleXMLIterator extends SimpleXMLElement implements RecursiveIterator , Traversable , Iterator , Countable {
/* Methods */
mixed current ( void )
object getChildren ( void )
bool hasChildren ( void )
mixed key ( void )
void next ( void )
void rewind ( void )
bool valid ( void )
}

Содержание

  • SimpleXMLIterator::current — Returns the current element
  • 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
RecursiveIteratorIterator::valid
SimpleXMLIterator::current
Iterators


Returns the current element

SimpleXMLIterator
SimpleXMLIterator::getChildren
SimpleXMLIterator
PHP Manual

SimpleXMLIterator::current

(PHP 5 >= 5.1.0)

SimpleXMLIterator::current — Returns the current element

Описание

mixed SimpleXMLIterator::current ( void )

This method returns the current element as a SimpleXMLIterator object or NULL.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the current element as a SimpleXMLIterator object or NULL on failure.

Примеры

Пример #1 Return the current element

<?php
$xmlIterator = new SimpleXMLIterator('<books><book>PHP basics</book><book>XML basics</book></books>');
var_dump($xmlIterator->current());

$xmlIterator->rewind(); // rewind to first element
var_dump($xmlIterator->current());
?>

Результат выполнения данного примера:

NULL
object(SimpleXMLIterator)#2 (1) {
  [0]=>
  string(10) "PHP basics"
}

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.

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #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.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #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
Interfaces
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.

Список параметров

This function has no parameters.

Возвращаемые значения

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
Interfaces
SimpleXMLIterator


Interfaces

Содержание

  • The Countable interface
  • The SeekableIterator interface

SPL provides a set of interfaces.

See also the Predefined Interfaces

Interface list

  • Countable
  • OuterIterator
  • RecursiveIterator
  • SeekableIterator
  • SplObserver
  • SplSubject
SimpleXMLIterator::valid
Countable
SPL


The Countable interface

Введение

Classes implementing Countable can be used with the count() function.

Interface synopsis

Countable
Countable {
/* Methods */
abstract public int count ( void )
}

Содержание

  • Countable::count — Count elements of an object
Interfaces
Countable::count
Interfaces


Count elements of an object

Countable
SeekableIterator
Countable
PHP Manual

Countable::count

(PHP 5 >= 5.1.0)

Countable::count — Count elements of an object

Описание

abstract public int Countable::count ( void )

This method executed when using the count() function on a object implementing Countable.

Список параметров

This function has no parameters.

Возвращаемые значения

The custom count as integer.

Замечание: The return value is casted to integer.

Примеры

Пример #1 Countable::count() example

<?php
class myCounter implements Countable {
    public function count() {
        static $count = 0;
        return ++$count;
    }
}

$counter = new myCounter;

for($i=0; $i<10; ++$i) {
    echo "I have been count()ed " . count($counter) . " times\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

I have been count()ed 1 times
I have been count()ed 2 times
I have been count()ed 3 times
I have been count()ed 4 times
I have been count()ed 5 times
I have been count()ed 6 times
I have been count()ed 7 times
I have been count()ed 8 times
I have been count()ed 9 times
I have been count()ed 10 times

Countable
SeekableIterator
Countable


The SeekableIterator interface

Введение

The Seekable iterator.

Interface synopsis

SeekableIterator
SeekableIterator extends Iterator {
/* Methods */
abstract public void seek ( int $position )
/* Inherited methods */
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
Countable::count
SeekableIterator::seek
Interfaces


Seeks to a position

SeekableIterator
Exceptions
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.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Errors/Exceptions

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
Exceptions
SeekableIterator


Exceptions

Содержание

  • The BadFunctionCallException class
  • The BadMethodCallException class
  • The DomainException class
  • The InvalidArgumentException class
  • The LengthException class
  • The LogicException class
  • The OutOfBoundsException class
  • The OutOfRangeException class
  • The OverflowException class
  • The RangeException class
  • The RuntimeException class
  • The UnderflowException class
  • The UnexpectedValueException class

SPL provides a set of standard Exceptions.

See also the Предопределённые исключения

SeekableIterator::seek
BadFunctionCallException
SPL


The BadFunctionCallException class

Введение

Exception thrown if a callback refers to an undefined function or if some arguments are missing

Class synopsis

BadFunctionCallException
BadFunctionCallException extends LogicException {
/* Inherited methods */
final public string Exception::getMessage ( void )
final public int 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 )
}
Exceptions
BadMethodCallException
Exceptions


The BadMethodCallException class

Введение

Exception thrown if a callback refers to an undefined method or if some arguments are missing

Class synopsis

BadMethodCallException
BadMethodCallException extends BadFunctionCallException {
/* Inherited methods */
final public string Exception::getMessage ( void )
final public int 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
Exceptions


The DomainException class

Введение

A domain exception

Class synopsis

DomainException
DomainException extends LogicException {
/* Inherited methods */
final public string Exception::getMessage ( void )
final public int 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
Exceptions


The InvalidArgumentException class

Введение

Exception thrown if a argument does not match with the expected value

Class synopsis

InvalidArgumentException
InvalidArgumentException extends LogicException {
/* Inherited methods */
final public string Exception::getMessage ( void )
final public int 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
Exceptions


The LengthException class

Введение

Exception thrown if a length is invalid

Class synopsis

LengthException
LengthException extends LogicException {
/* Inherited methods */
final public string Exception::getMessage ( void )
final public int 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
Exceptions


The LogicException class

Введение

Exception thrown if a logic expression is invalid

Class synopsis

LogicException
LogicException extends Exception {
/* Inherited methods */
final public string Exception::getMessage ( void )
final public int 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
Exceptions


The OutOfBoundsException class

Введение

Exception thrown if a value is not a valid key

Class synopsis

OutOfBoundsException
OutOfBoundsException extends RuntimeException {
/* Inherited methods */
final public string Exception::getMessage ( void )
final public int 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
Exceptions


The OutOfRangeException class

Введение

Exception thrown when a value does not match with a range

Class synopsis

OutOfRangeException
OutOfRangeException extends LogicException {
/* Inherited methods */
final public string Exception::getMessage ( void )
final public int 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
Exceptions


The OverflowException class

Введение

Exception thrown when you add an element into a full container

Class synopsis

OverflowException
OverflowException extends RuntimeException {
/* Inherited methods */
final public string Exception::getMessage ( void )
final public int 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
Exceptions


The RangeException class

Введение

Exception thrown when an invalid range is given.

Class synopsis

RangeException
RangeException extends RuntimeException {
/* Inherited methods */
final public string Exception::getMessage ( void )
final public int 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
Exceptions


The RuntimeException class

Введение

Exception thrown if an error which can only be found on runtime occurs

Class synopsis

RuntimeException
RuntimeException extends Exception {
/* Inherited methods */
final public string Exception::getMessage ( void )
final public int 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
Exceptions


The UnderflowException class

Введение

Exception thrown when you try to remove an element of an empty container

Class synopsis

UnderflowException
UnderflowException extends RuntimeException {
/* Inherited methods */
final public string Exception::getMessage ( void )
final public int 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
Exceptions


The UnexpectedValueException class

Введение

Exception thrown if a value does not match with a set of values

Class synopsis

UnexpectedValueException
UnexpectedValueException extends RuntimeException {
/* Inherited methods */
final public string Exception::getMessage ( void )
final public int 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 Функции
Exceptions


SPL Функции

Содержание

  • class_implements — Return the interfaces which are implemented by the given class
  • class_parents — Return the parent classes of the given class
  • iterator_apply — Apply a user function to every element of an iterator
  • iterator_count — Count the elements in an iterator
  • iterator_to_array — Copy the iterator into an 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. Defaults to TRUE.

Возвращаемые значения

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
iterator_apply
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. Defaults to TRUE.

Возвращаемые значения

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
iterator_apply
SPL Функции


Apply a user function to every element of an iterator

class_parents
iterator_count
SPL Функции
PHP Manual

iterator_apply

(PHP 5 >= 5.1.0)

iterator_apply — Apply a user function to every element of an iterator

Описание

int iterator_apply ( Traversable $iterator , callback $function [, array $args ] )

Calls a function for every element in an iterator.

Список параметров

iterator

The class to walk through.

function

The callback function to call on every element.

args

Arguments to pass to the callback function.

Возвращаемые значения

Returns the iteration count.

Смотрите также

  • array_walk() - Применить пользовательскую функцию к каждому члену массива

class_parents
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 Функции


Copy the iterator into an array

iterator_count
spl_autoload_call
SPL Функции
PHP Manual

iterator_to_array

(PHP 5 >= 5.1.0)

iterator_to_array — Copy the iterator into an array

Описание

array iterator_to_array ( Traversable $iterator [, bool $use_keys= true ] )

Copy the elements of an iterator into an array.

Список параметров

iterator

The iterator being copied.

use_keys

Whether to use the iterator element keys as index.

Возвращаемые значения

An array containing the elements of the iterator .

Примеры

Пример #1 iterator_to_array() example

<?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.

Список параметров

This function has no parameters.

Возвращаемые значения

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 ] )

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().

Список параметров

autoload_function

The autoload function being registered. If no parameter is provided, then the default implementation of spl_autoload() will be registered.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.3.0 | Namespaces support was introduced.

Примеры

Пример #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 activated an existing __autoload function 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 autoload_register() is called without any parameters then this functions will be used for any later call to __autoload().

Список параметров

class_name

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.

Примеры

Пример #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
ArrayObject
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 object and is always the same for the same object.

Примеры

Пример #1 A spl_object_hash() example

<?php
$id = spl_object_hash($object);
$storage[$id] = $object;
?>

spl_classes
ArrayObject
SPL Функции


The ArrayObject class

Введение

...

Class synopsis

ArrayObject
ArrayObject implements IteratorAggregate , Traversable , ArrayAccess , Countable {
/* Methods */
__construct ( mixed $input )
void append ( mixed $newval )
int count ( void )
ArrayIterator getIterator ( void )
bool offsetExists ( mixed $index )
mixed offsetGet ( mixed $index )
void offsetSet ( mixed $index , mixed $newval )
void offsetUnset ( mixed $index )
}

Содержание

  • ArrayObject::append — Appends the value
  • ArrayObject::__construct — Construct a new array object
  • ArrayObject::count — Get the number of elements in the Iterator
  • ArrayObject::getIterator — Create a new iterator from an ArrayObject instance
  • ArrayObject::offsetExists — Returns whether the requested $index exists
  • ArrayObject::offsetGet — Returns the value at the specified $index
  • ArrayObject::offsetSet — Sets the value at the specified $index to $newval
  • ArrayObject::offsetUnset — Unsets the value at the specified $index
spl_object_hash
ArrayObject::append
SPL


Appends the value

ArrayObject
ArrayObject::__construct
ArrayObject
PHP Manual

ArrayObject::append

(PHP 5 >= 5.1.0)

ArrayObject::append — Appends the value

Описание

void ArrayObject::append ( mixed $newval )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ArrayObject
ArrayObject::__construct
ArrayObject


Construct a new array object

ArrayObject::append
ArrayObject::count
ArrayObject
PHP Manual

ArrayObject::__construct

(PHP 5 >= 5.1.0)

ArrayObject::__construct — Construct a new array object

Описание

ArrayObject::__construct ( mixed $input )

This constructs a new array object.

Список параметров

input

The input parameter accepts an array or another ArrayObject.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 ArrayObject::__construct() example

<?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::append
ArrayObject::count
ArrayObject


Get the number of elements in the Iterator

ArrayObject::__construct
ArrayObject::getIterator
ArrayObject
PHP Manual

ArrayObject::count

(PHP 5 >= 5.1.0)

ArrayObject::count — Get the number of elements in the Iterator

Описание

int ArrayObject::count ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

This function has no parameters.

Возвращаемые значения

The number of elements in the Iterator.

ArrayObject::__construct
ArrayObject::getIterator
ArrayObject


Create a new iterator from an ArrayObject instance

ArrayObject::count
ArrayObject::offsetExists
ArrayObject
PHP Manual

ArrayObject::getIterator

(PHP 5 >= 5.1.0)

ArrayObject::getIterator — Create a new iterator from an ArrayObject instance

Описание

ArrayIterator ArrayObject::getIterator ( void )

Create a new iterator from an ArrayObject instance.

Список параметров

This function has no parameters.

Возвращаемые значения

An iterator from an ArrayObject.

Примеры

Пример #1 ArrayObject::getIterator() example

<?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::count
ArrayObject::offsetExists
ArrayObject


Returns whether the requested $index exists

ArrayObject::getIterator
ArrayObject::offsetGet
ArrayObject
PHP Manual

ArrayObject::offsetExists

(PHP 5 >= 5.1.0)

ArrayObject::offsetExists — Returns whether the requested $index exists

Описание

bool ArrayObject::offsetExists ( mixed $index )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

index

The index being checked.

Возвращаемые значения

TRUE if the requested $index exists, otherwise FALSE

ArrayObject::getIterator
ArrayObject::offsetGet
ArrayObject


Returns the value at the specified $index

ArrayObject::offsetExists
ArrayObject::offsetSet
ArrayObject
PHP Manual

ArrayObject::offsetGet

(PHP 5 >= 5.1.0)

ArrayObject::offsetGet — Returns the value at the specified $index

Описание

mixed ArrayObject::offsetGet ( mixed $index )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список параметров

index

The index with the value.

Возвращаемые значения

The value at the specified $index.

ArrayObject::offsetExists
ArrayObject::offsetSet
ArrayObject


Sets the value at the specified $index to $newval

ArrayObject::offsetGet
ArrayObject::offsetUnset
ArrayObject
PHP Manual

ArrayObject::offsetSet

(PHP 5 >= 5.1.0)

ArrayObject::offsetSet — Sets the value at the specified $index to $newval

Описание

void ArrayObject::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 .

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ArrayObject::offsetGet
ArrayObject::offsetUnset
ArrayObject


Unsets the value at the specified $index

ArrayObject::offsetSet
SplFileInfo
ArrayObject
PHP Manual

ArrayObject::offsetUnset

(PHP 5 >= 5.1.0)

ArrayObject::offsetUnset — Unsets the value at the specified $index

Описание

void ArrayObject::offsetUnset ( mixed $index )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Unsets the value at the specified index.

Список параметров

index

The index being unset.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

ArrayObject::offsetSet
SplFileInfo
ArrayObject


The SplFileInfo class

Введение

The SplFileInfo class offers a high-level object oriented interface to information for an individual file.

Class synopsis

SplFileInfo
SplFileInfo {
/* Methods */
__construct ( string $file_name )
public int getATime ( void )
public string getBasename ([ string $suffix ] )
public int getCTime ( 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::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
ArrayObject::offsetUnset
SplFileInfo::__construct
SPL


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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the time the file was last accessed.

Errors/Exceptions

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::getFileInfo
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.

Список параметров

This function has no parameters.

Возвращаемые значения

The last change time, in a Unix timestamp.

Errors/Exceptions

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() - Получить время последнего изменения i-узла

SplFileInfo::getBasename
SplFileInfo::getFileInfo
SplFileInfo


Gets an SplFileInfo object for the file

SplFileInfo::getCTime
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::getCTime
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.

Список параметров

This function has no parameters.

Возвращаемые значения

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/anoncvs.php');
var_dump($info->getFilename());
?>

Результатом выполнения данного примера будет что-то подобное:

string(7) "foo.txt"
string(7) "foo.txt"
string(0) ""
string(11) "anoncvs.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.

Список параметров

This function has no parameters.

Возвращаемые значения

The group id in numerical format.

Errors/Exceptions

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the inode number for the filesystem object.

Errors/Exceptions

Throws RuntimeException on error.

Смотрите также

  • fileinode() - Получить номер inode файла

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the target of the filesystem link.

Errors/Exceptions

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.

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Список параметров

This function has no parameters.

Возвращаемые значения

The owner id in numerical format.

Errors/Exceptions

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.

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Список параметров

This function has no parameters.

Возвращаемые значения

The filesize in bytes.

Errors/Exceptions

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.

Список параметров

This function has no parameters.

Возвращаемые значения

A string representing the type of the entry. May be one of file, link, or dir

Errors/Exceptions

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.

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns TRUE if the file is a link, FALSE otherwise.

Примеры

Пример #1 SplFileInfo::isLink() example

<?php
$info = new SplInfo('/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.

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Список параметров

This function has no parameters.

Возвращаемые значения

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

When set to TRUE, the filename is also searched for within the include_path

context

Refer to the context section of the manual for a description of contexts.

Возвращаемые значения

The opened file as an SplFileObject object.

Errors/Exceptions

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() - Create a streams context
  • 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
SPL Types
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.

Список параметров

This function has no parameters.

Возвращаемые значения

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
SPL Types
SplFileInfo


SPL Type Handling

  • Введение
  • SplInt — The SplInt class
    • SplInt::__construct — Constructs an integer object type
  • SplFloat — The SplFloat class
    • SplFloat::__construct — Constructs a float object type
  • SplEnum — The SplEnum class
    • SplEnum::__construct — Constructs an enumeger object type
  • SplBool — The SplBool class
    • SplBool::__construct — Constructs a bool object type
  • SplString — The SplString class
SplFileInfo::__toString
Введение
Other Basic Extensions


Введение

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
SplInt
SPL Types


Введение
SplInt::__construct
SPL Types
PHP Manual

The SplInt class

Введение

The SplInt class is used to enforce strong typing of the integer type.

Class synopsis

SplInt
SplInt {
/* Methods */
__construct ( integer $input )
}

Содержание

  • SplInt::__construct — Constructs an integer object type
Введение
SplInt::__construct
SPL Types


Constructs an integer object type

SplInt
SplFloat
SplInt
PHP Manual

SplInt::__construct

(PECL spl_types >= 0.1.0)

SplInt::__construct — Constructs an integer object type

Описание

SplInt::__construct ( integer $input )

This constructs a new object of type integer.

Список параметров

input

The input parameter accepts an integer An UnexpectedValueException Exception will be thrown if anything is passed.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 SplInt::__construct() example

<?php
$int = new SplInt(94);

try {
    $int = 'Try to cast a string value for fun';
} catch (UnexpectedValueException $uve) {
    echo $uve->getMessage() . PHP_EOL;
}

var_dump($int);
echo $int; // Outputs 94
?>

Результат выполнения данного примера:

Value not an integer
object(SplInt)#1 (1) {
  ["__default"]=>
  int(94)
}
94

SplInt
SplFloat
SplInt


The SplFloat class

Введение

The SplFloat class is used to enforce strong typing of the float type.

Class synopsis

SplFloat
SplFloat {
/* Methods */
__construct ( float $input )
}

Содержание

  • SplFloat::__construct — Constructs a float object type
SplInt::__construct
SplFloat::__construct
SPL Types


Constructs a float object type

SplFloat
SplEnum
SplFloat
PHP Manual

SplFloat::__construct

(PECL spl_types >= 0.1.0)

SplFloat::__construct — Constructs a float object type

Описание

SplFloat::__construct ( float $input )

This constructs a new object of type float.

Список параметров

input

The input parameter accepts a float or an integer. If an integer is passed, it will be converted to float.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 SplFloat::__construct() 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 $uve->getMessage() . PHP_EOL;
}

var_dump($float);
var_dump($newFloat);
?>

Результат выполнения данного примера:

Value not a float
object(SplFloat)#1 (1) {
  ["__default"]=>
  float(3.154)
}
object(SplFloat)#2 (1) {
  ["__default"]=>
  float(3)
}

SplFloat
SplEnum
SplFloat


The SplEnum class

Введение

SplEnum gives the ability to emulate and create "Enum" objects natively in PHP.

Class synopsis

SplEnum
abstract SplEnum {
/* Methods */
__construct ( void )
}

Содержание

  • SplEnum::__construct — Constructs an enumeger object type
SplFloat::__construct
SplEnum::__construct
SPL Types


Constructs an enumeger object type

SplEnum
SplBool
SplEnum
PHP Manual

SplEnum::__construct

(PECL spl_types >= 0.1.0)

SplEnum::__construct — Constructs an enumeger object type

Описание

SplEnum::__construct ( void )

This constructor is used to set the value and the strictness of the "Enum" Object.

Список параметров

input

The input parameter accepts an integer and will throw an UnexpectedValueException if anything else is passed.

strict

A boolean variable to indicate wether the object's strictness should be set or not.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 SplEnum::__construct() example

<?php

class EnumOne extends SplEnum
{
    const __default = 1;
}

class EnumTwo extends SplEnum
{
    const __default = 2;
}

class EnumThree extends SplEnum
{
    const __default = 3;
}

$enumOne   = new EnumOne();
$enumTwo   = new EnumTwo();
$enumThree = new EnumThree();

echo 'Enum one  : ' . $enumOne   . PHP_EOL;
echo 'Enum two  : ' . $enumTwo   . PHP_EOL;
echo 'Enum three: ' . $enumThree . PHP_EOL;
?>

Результат выполнения данного примера:

Enum one  : 1
Enum two  : 2
Enum three: 3

SplEnum
SplBool
SplEnum


The SplBool class

Введение

The SplBool class is used to enforce strong typing of the bool type.

Class synopsis

SplBool
SplBool {
/* Methods */
__construct ( void )
}

Содержание

  • SplBool::__construct — Constructs a bool object type
SplEnum::__construct
SplBool::__construct
SPL Types


Constructs a bool object type

SplBool
SplString
SplBool
PHP Manual

SplBool::__construct

(PECL spl_types >= 0.1.0)

SplBool::__construct — Constructs a bool object type

Описание

SplBool::__construct ( void )

This constructs a new object of type bool.

Список параметров

input

The input parameter accepts a bool.

strict

A boolean variable to indicate wether the object's strictness should be set or not.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 SplBool::__construct() example

<?php
$one = new SplBool(true);
$two = new SplBool(1);

var_dump($one);
var_dump($two);
?>

Результат выполнения данного примера:

object(SplBool)#1 (1) {
  ["__default"]=>
  bool(true)
}
object(SplBool)#1 (1) {
  ["__default"]=>
  bool(true)
}

SplBool
SplString
SplBool


The SplString class

Введение

The SplString class is used to enforce strong typing of the string type.

Class synopsis

SplString
SplString {
/* Methods */
SplInt::__construct ( integer $input )
}
SplBool::__construct
Streams
SPL Types


Streams

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Stream Classes
  • Предопределенные константы
  • Stream Filters
  • Stream Contexts
  • 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_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 Функции
    • 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 — Create a streams context
    • stream_context_get_default — Retreive the default streams context
    • stream_context_get_options — Retrieve options for a stream/wrapper/context
    • stream_context_get_params — Retrieves parameters from a context
    • stream_context_set_default — Set the default streams context
    • stream_context_set_option — Sets an option for a stream/wrapper/context
    • stream_context_set_params — Set parameters for a stream/wrapper/context
    • stream_copy_to_stream — Copies data from one stream to another
    • stream_encoding — Set character set for stream encoding
    • stream_filter_append — Attach a filter to a stream
    • stream_filter_prepend — Attach a filter to a stream
    • stream_filter_register — Register a user defined stream filter
    • stream_filter_remove — Remove a filter from a stream
    • stream_get_contents — Reads remainder of a stream into a string
    • stream_get_filters — Retrieve list of registered filters
    • stream_get_line — Gets line from stream resource up to a given delimiter
    • stream_get_meta_data — Retrieves header/meta data from streams/file pointers
    • stream_get_transports — Retrieve list of registered socket transports
    • stream_get_wrappers — Retrieve list of registered streams
    • stream_is_local — Checks if a stream is a local stream
    • stream_notification_callback — A callback function for the notification context paramater
    • stream_register_wrapper — Псевдоним stream_wrapper_register
    • stream_resolve_include_path — Determine what file will be opened by calls to fopen with a relative path
    • stream_select — Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and tv_usec
    • stream_set_blocking — Set blocking/non-blocking mode on a stream
    • stream_set_timeout — Set timeout period on a stream
    • stream_set_write_buffer — Sets file buffering on the given stream
    • stream_socket_accept — Accept a connection on a socket created by stream_socket_server
    • stream_socket_client — Open Internet or Unix domain socket connection
    • stream_socket_enable_crypto — Turns encryption on/off on an already connected socket
    • stream_socket_get_name — Retrieve the name of the local or remote sockets
    • stream_socket_pair — Creates a pair of connected, indistinguishable socket streams
    • stream_socket_recvfrom — Receives data from a socket, connected or not
    • stream_socket_sendto — Sends a message to a socket, whether it is connected or not
    • stream_socket_server — Create an Internet or Unix domain server socket
    • stream_socket_shutdown — Shutdown a full-duplex connection
    • stream_supports_lock — Tells whether the stream supports locking.
    • stream_wrapper_register — Register a URL wrapper implemented as a PHP class
    • stream_wrapper_restore — Restores a previously unregistered built-in wrapper
    • stream_wrapper_unregister — Unregister a URL wrapper
SplString
Введение
Other Basic Extensions


Введение

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 List of Supported Protocols/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 List of Supported Protocols/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 List of Supported Protocols/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.

Замечание: 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.

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().

Предопределенные константы
Stream Contexts
Streams


Stream Contexts

A context is a set of parameters and wrapper specific options which modify or enhance the behavior of a stream. Contexts are created using stream_context_create() and can be passed to most filesystem related stream creation functions (i.e. fopen(), file(), file_get_contents(), etc...).

Options can be specified when calling stream_context_create(), or later using stream_context_set_option(). A list of wrapper specific options can be found in the Context options and parameters chapter.

Parameters can be specified for contexts using the stream_context_set_params() function.

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.

Stream Contexts
Примеры
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;
        }
    }
}

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

Введение

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.

Class synopsis

streamWrapper
streamWrapper {
/* Properties */
public resource $context ;
/* Methods */
__construct ( void )
public bool dir_closedir ( void )
public bool dir_opendir ( string $path , int $options )
public string dir_readdir ( void )
public bool dir_rewinddir ( void )
public bool mkdir ( string $path , int $mode , int $options )
public bool rename ( string $path_from , string $path_to )
public bool rmdir ( string $path , int $options )
public resource stream_cast ( int $cast_as )
public void stream_close ( void )
public bool stream_eof ( void )
public bool stream_flush ( void )
public bool stream_lock ( mode $operation )
public bool stream_open ( string $path , string $mode , int $options , string &$opened_path )
public string stream_read ( int $count )
public bool stream_seek ( int $offset , int $whence = SEEK_SET )
public bool stream_set_option ( int $option , int $arg1 , int $arg2 )
public array stream_stat ( void )
public int stream_tell ( void )
public int stream_write ( string $data )
public bool unlink ( string $path )
public array 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_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.

Список параметров

This function has no parameters.

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.

Список параметров

This function has no parameters.

Возвращаемые значения

Возвращает 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() - Parse a URL and return its components

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().

Список параметров

This function has no parameters.

Возвращаемые значения

Should return string representing the next filename, or FALSE if there is no next file.

Замечание: The return value will be casted to string.

Errors/Exceptions

Emits E_WARNING if call to this method fails (i.e. not implemented).

Примеры

Пример #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.

Список параметров

This function has no parameters.

Возвращаемые значения

Возвращает 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 в случае возникновения ошибки.

Errors/Exceptions

Emits E_WARNING if call to this method fails (i.e. not implemented).

Примечания

Замечание: The streamWrapper->context property is updated if a valid context is passed to the caller function.

Смотрите также

  • 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 creating directories.

Список параметров

path_from

The URL to the current file.

path_to

The URL which the path_from should be renamed to.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Errors/Exceptions

Emits E_WARNING if call to this method fails (i.e. not implemented).

Примечания

Замечание: The streamWrapper->context property is updated if a valid context is passed to the caller function.

Смотрите также

  • 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 creating directories.

Список параметров

path

The directory URL which should be removed.

options

A bitwise mask of values, such as STREAM_MKDIR_RECURSIVE.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Errors/Exceptions

Emits E_WARNING if call to this method fails (i.e. not implemented).

Примечания

Замечание: The streamWrapper->context property is updated if a valid context is passed to the caller function.

Смотрите также

  • 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() - Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and 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.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • 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().

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Смотрите также

  • 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.

Список параметров

This function has no parameters.

Возвращаемые значения

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_open
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 в случае возникновения ошибки.

Errors/Exceptions

Emits E_WARNING if call to this method fails (i.e. not implemented).

Смотрите также

  • stream_set_blocking() - Set blocking/non-blocking mode on a stream
  • flock() - Портируемое рекомендательное запирание файлов

streamWrapper::stream_flush
streamWrapper::stream_open
streamWrapper


Opens file or URL

streamWrapper::stream_lock
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().

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 в случае возникновения ошибки.

Errors/Exceptions

Emits E_WARNING if call to this method fails (i.e. not implemented).

Примечания

Замечание: The streamWrapper->context property is updated if a valid context is passed to the caller function.

Смотрите также

  • fopen() - Открывает файл или URL
  • parse_url() - Parse a URL and return its components

streamWrapper::stream_lock
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.

Errors/Exceptions

Emits E_WARNING if call to this method fails (i.e. not implemented).

Замечание: 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.

Смотрите также

  • 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

Смотрите также

  • 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() - Set blocking/non-blocking mode on a stream
  • stream_set_timeout() - Set timeout period on a stream
  • stream_set_write_buffer() - Sets file buffering on the given stream

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().

Список параметров

This function has no parameters.

Возвращаемые значения

See stat().

Errors/Exceptions

Emits E_WARNING if call to this method fails (i.e. not implemented).

Смотрите также

  • 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 ftell().

Список параметров

This function has no parameters.

Возвращаемые значения

Should return the current position of the stream.

Смотрите также

  • ftell() - Сообщает текущее смещение чтения/записи файла

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.

Errors/Exceptions

Emits E_WARNING if call to this method fails (i.e. not implemented).

Замечание: If the return value is greater the 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 в случае возникновения ошибки.

Errors/Exceptions

Emits E_WARNING if call to this method fails (i.e. not implemented).

Примечания

Замечание: The streamWrapper->context property is updated if a valid context is passed to the caller function.

Смотрите также

  • 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 URL which should retrieve information about.

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).

Errors/Exceptions

Emits E_WARNING if call to this method fails (i.e. not implemented).

Примечания

Замечание: The streamWrapper->context property is updated if a valid context is passed to the caller function.

Смотрите также

  • stat() - Получает информацию о файле
  • streamwrapper::stream_stat - Retrieve information about a file resource

streamWrapper::unlink
Stream Функции
streamWrapper


Stream Функции

Содержание

  • 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 — Create a streams context
  • stream_context_get_default — Retreive the default streams context
  • stream_context_get_options — Retrieve options for a stream/wrapper/context
  • stream_context_get_params — Retrieves parameters from a context
  • stream_context_set_default — Set the default streams context
  • stream_context_set_option — Sets an option for a stream/wrapper/context
  • stream_context_set_params — Set parameters for a stream/wrapper/context
  • stream_copy_to_stream — Copies data from one stream to another
  • stream_encoding — Set character set for stream encoding
  • stream_filter_append — Attach a filter to a stream
  • stream_filter_prepend — Attach a filter to a stream
  • stream_filter_register — Register a user defined stream filter
  • stream_filter_remove — Remove a filter from a stream
  • stream_get_contents — Reads remainder of a stream into a string
  • stream_get_filters — Retrieve list of registered filters
  • stream_get_line — Gets line from stream resource up to a given delimiter
  • stream_get_meta_data — Retrieves header/meta data from streams/file pointers
  • stream_get_transports — Retrieve list of registered socket transports
  • stream_get_wrappers — Retrieve list of registered streams
  • stream_is_local — Checks if a stream is a local stream
  • stream_notification_callback — A callback function for the notification context paramater
  • stream_register_wrapper — Псевдоним stream_wrapper_register
  • stream_resolve_include_path — Determine what file will be opened by calls to fopen with a relative path
  • stream_select — Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and tv_usec
  • stream_set_blocking — Set blocking/non-blocking mode on a stream
  • stream_set_timeout — Set timeout period on a stream
  • stream_set_write_buffer — Sets file buffering on the given stream
  • stream_socket_accept — Accept a connection on a socket created by stream_socket_server
  • stream_socket_client — Open Internet or Unix domain socket connection
  • stream_socket_enable_crypto — Turns encryption on/off on an already connected socket
  • stream_socket_get_name — Retrieve the name of the local or remote sockets
  • stream_socket_pair — Creates a pair of connected, indistinguishable socket streams
  • stream_socket_recvfrom — Receives data from a socket, connected or not
  • stream_socket_sendto — Sends a message to a socket, whether it is connected or not
  • stream_socket_server — Create an Internet or Unix domain server socket
  • stream_socket_shutdown — Shutdown a full-duplex connection
  • stream_supports_lock — Tells whether the stream supports locking.
  • stream_wrapper_register — Register a URL wrapper implemented as a PHP class
  • stream_wrapper_restore — Restores a previously unregistered built-in wrapper
  • stream_wrapper_unregister — Unregister a URL wrapper
streamWrapper::url_stat
stream_bucket_append
Streams


Append bucket to brigade

Stream Функции
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 )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Stream Функции
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 Функции


Create a streams context

stream_bucket_prepend
stream_context_get_default
Stream Функции
PHP Manual

stream_context_create

(PHP 4 >= 4.3.0, PHP 5)

stream_context_create — Create a streams context

Описание

resource stream_context_create ([ array $options [, array $params ]] )

Creates and returns a stream context with any options supplied in options preset.

Список параметров

options

Must be an associative array of associative arrays in the format $arr['wrapper']['option'] = $value.

Default to an empty array.

params

Must be an associative array in the format $arr['parameter'] = $value. Refer to context parameters for a listing of standard stream parameters.

Возвращаемые значения

A stream context resource.

Список изменений

Версия | Описание
5.3.0 | Added the optional params argument.

Примеры

Пример #1 Using 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);

/* Sends an http request to www.example.com
   with additional headers shown above */
$fp = fopen('http://www.example.com', 'r', false, $context);
fpassthru($fp);
fclose($fp);
?>

Смотрите также

  • stream_context_set_option() - Sets an option for a stream/wrapper/context
  • Listing of supported wrappers (List of Supported Protocols/Wrappers)
  • Context options (Context options and parameters)
stream_bucket_prepend
stream_context_get_default
Stream Функции


Retreive the default streams context

stream_context_create
stream_context_get_options
Stream Функции
PHP Manual

stream_context_get_default

(PHP 5 >= 5.1.0)

stream_context_get_default — Retreive the default streams context

Описание

resource stream_context_get_default ([ array $options ] )

Returns the default stream context which is used whenever file operations (fopen(), file_get_contents(), etc...) are called without a context parameter. Options for the default context can optionally be specified with this function using the same syntax as stream_context_create().

Список параметров

options
options must be an associative array of associative arrays in the format $arr['wrapper']['option'] = $value.

Замечание: As of PHP 5.3.0, the stream_context_set_default() function can be used to set the default context.

Возвращаемые значения

A stream context resource.

Примеры

Пример #1 Using 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);

/* Sends a regular GET request to proxy server at 10.54.1.39
 * For www.example.com using context options specified in $default_opts
 */
readfile('http://www.example.com');

/* Sends a POST request directly to www.example.com
 * Using context options specified in $alternate_opts
 */
readfile('http://www.example.com', false, $alternate);

?>

Смотрите также

  • stream_context_create() - Create a streams context
  • Listing of supported wrappers with context options (List of Supported Protocols/Wrappers).

stream_context_create
stream_context_get_options
Stream Функции


Retrieve options for a stream/wrapper/context

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 — Retrieve options for a stream/wrapper/context

Описание

array stream_context_get_options ( resource $stream_or_context )

Returns an array of options on the specified stream or context.

Список параметров

stream_or_context

The stream or context to get options from

Возвращаемые значения

Returns an associative array with the options.

Примеры

Пример #1 stream_context_get_options() example

<?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 Функции


Retrieves parameters from a context

stream_context_get_options
stream_context_set_default
Stream Функции
PHP Manual

stream_context_get_params

(PHP 5 >= 5.3.0)

stream_context_get_params — Retrieves parameters from a context

Описание

array stream_context_get_params ( resource $stream_or_context )

Retrieves parameter and options information from the stream or context.

Список параметров

stream_or_context

A stream resource or a context resource

Возвращаемые значения

Returns an associate array containing all context options and parameters.

Примеры

Пример #1 stream_context_get_params() example

Basic usage example

<?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() - Sets an option for a stream/wrapper/context
  • stream_context_get_params()
  • stream_context_set_params() - Set parameters for a stream/wrapper/context

stream_context_get_options
stream_context_set_default
Stream Функции


Set the default streams context

stream_context_get_params
stream_context_set_option
Stream Функции
PHP Manual

stream_context_set_default

(PHP 5 >= 5.3.0)

stream_context_set_default — Set the default streams context

Описание

resource stream_context_set_default ( array $options )

Set the default stream context which will be used whenever file operations (fopen(), file_get_contents(), etc...) are called without a context parameter. Uses the same syntax as stream_context_create().

Список параметров

options

The options to set for the default context.

Замечание: options must be an associative array of associative arrays in the format $arr['wrapper']['option'] = $value.

Возвращаемые значения

Returns the default stream context.

Примеры

Пример #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);

/* Sends a regular GET request to proxy server at 10.54.1.39
 * For www.example.com using context options specified in $default_opts
 */
readfile('http://www.example.com');
?>

Смотрите также

  • stream_context_create() - Create a streams context
  • stream_context_get_default() - Retreive the default streams context
  • Listing of supported wrappers with context options (List of Supported Protocols/Wrappers).

stream_context_get_params
stream_context_set_option
Stream Функции


Sets an option for a stream/wrapper/context

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 — Sets an option for a stream/wrapper/context

Описание

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 )

Sets an option on the specified context. value is set to option for wrapper

Список параметров

stream_or_context

The stream or context resource to apply the options too.

options

The options to set for the default context.

Замечание: options must be an associative array of associative arrays in the format $arr['wrapper']['option'] = $value.
Refer to context options and parameters for a listing of stream options.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

stream_context_set_default
stream_context_set_params
Stream Функции


Set parameters for a stream/wrapper/context

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 — Set parameters for a stream/wrapper/context

Описание

bool stream_context_set_params ( resource $stream_or_context , array $params )

Sets parameters on the specified context.

Список параметров

stream_or_context

The stream or context to apply the parameters too.

params

An array of parameters to set.

Замечание: params should be an associative array of the structure: $params['paramname'] = "paramvalue";.

Supported parameters

Parameters | Purpose
notification | Name of user-defined callback function to be called whenever a stream triggers a notification.
options | Array of options as in context options and parameters.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

stream_context_set_option
stream_copy_to_stream
Stream Функции


Copies data from one stream to another

stream_context_set_params
stream_encoding
Stream Функции
PHP Manual

stream_copy_to_stream

(PHP 5)

stream_copy_to_stream — Copies data from one stream to another

Описание

int stream_copy_to_stream ( resource $source , resource $dest [, int $maxlength= -1 [, int $offset= 0 ]] )

Makes a copy of up to maxlength bytes of data from the current position (or from the offset position, if specified) in source to dest . If maxlength is not specified, all remaining content in source will be copied.

Список параметров

source

The source stream

dest

The destination stream

maxlength

Maximum bytes to copy

offset

The offset where to start to copy data

Возвращаемые значения

Returns the total count of bytes copied.

Список изменений

Версия | Описание
5.1.0 | Added the offset parameter

Примеры

Пример #1 A stream_copy_to_stream() example

<?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) . " bytes copied to first1k.txt\n";
echo stream_copy_to_stream($src, $dest2) . " bytes copied to remainder.txt\n";

?>

Смотрите также

  • copy() - Копирует файл

stream_context_set_params
stream_encoding
Stream Функции


Set character set for stream encoding

stream_copy_to_stream
stream_filter_append
Stream Функции
PHP Manual

stream_encoding

(PHP 5 >= 5.2.0)

stream_encoding — Set character set for stream encoding

Описание

bool stream_encoding ( resource $stream [, string $encoding ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

stream_copy_to_stream
stream_filter_append
Stream Функции


Attach a filter to a stream

stream_encoding
stream_filter_prepend
Stream Функции
PHP Manual

stream_filter_append

(PHP 4 >= 4.3.0, PHP 5)

stream_filter_append — Attach a filter to a stream

Описание

resource stream_filter_append ( resource $stream , string $filtername [, int $read_write [, mixed $params ]] )

Adds filtername to the list of filters attached to stream .

Список параметров

stream

The target stream.

filtername

The filter name.

read_write

By default, stream_filter_append() will attach the filter to the read filter chain if the file was opened for reading (i.e. File Mode: r, and/or +). The filter will also be attached to the write filter chain if the file was opened for writing (i.e. File Mode: w, a, and/or +). STREAM_FILTER_READ, STREAM_FILTER_WRITE, and/or STREAM_FILTER_ALL can also be passed to the read_write parameter to override this behavior.

params

This filter will be added with the specified params to the end of the list and will therefore be called last during stream operations. To add a filter to the beginning of the list, use stream_filter_prepend().

Возвращаемые значения

Returns a resource which can be used to refer to this filter instance during a call to stream_filter_remove().

Список изменений

Версия | Описание
5.1.0 | Prior to PHP 5.1.0, this function returns TRUE on success or FALSE on failure.

Примеры

Пример #1 Controlling where filters are applied

<?php
/* Open a test file for reading and writing */
$fp = fopen('test.txt', 'w+');

/* Apply the ROT13 filter to the
 * write filter chain, but not the
 * read filter chain */
stream_filter_append($fp, "string.rot13", STREAM_FILTER_WRITE);

/* Write a simple string to the file
 * it will be ROT13 transformed on the
 * way out */
fwrite($fp, "This is a test\n");

/* Back up to the beginning of the file */
rewind($fp);

/* Read the contents of the file back out.
 * Had the filter been applied to the
 * read filter chain as well, we would see
 * the text ROT13ed back to its original state */
fpassthru($fp);

fclose($fp);

/* Expected Output
   ---------------

Guvf vf n grfg

 */
?>

Примечания

Замечание: When using custom (user) filters
stream_filter_register() must be called first in order to register the desired user filter to filtername .

Замечание: Stream data is read from resources (both local and remote) in chunks, with any unconsumed data kept in internal buffers. When a new filter is appended to a stream, data in the internal buffers is processed through the new filter at that time. This differs from the behavior of stream_filter_prepend().

Замечание: When a filter is added for read and write, two instances of the filter are created. stream_filter_append() must be called twice with STREAM_FILTER_READ and STREAM_FILTER_WRITE to get both filter resources.

Смотрите также

  • stream_filter_register() - Register a user defined stream filter
  • stream_filter_prepend() - Attach a filter to a stream
  • stream_get_filters() - Retrieve list of registered filters
stream_encoding
stream_filter_prepend
Stream Функции


Attach a filter to a stream

stream_filter_append
stream_filter_register
Stream Функции
PHP Manual

stream_filter_prepend

(PHP 4 >= 4.3.0, PHP 5)

stream_filter_prepend — Attach a filter to a stream

Описание

resource stream_filter_prepend ( resource $stream , string $filtername [, int $read_write [, mixed $params ]] )

Adds filtername to the list of filters attached to stream .

Список параметров

stream

The target stream.

filtername

The filter name.

read_write

By default, stream_filter_prepend() will attach the filter to the read filter chain if the file was opened for reading (i.e. File Mode: r, and/or +). The filter will also be attached to the write filter chain if the file was opened for writing (i.e. File Mode: w, a, and/or +). STREAM_FILTER_READ, STREAM_FILTER_WRITE, and/or STREAM_FILTER_ALL can also be passed to the read_write parameter to override this behavior. See stream_filter_append() for an example of using this parameter.

params

This filter will be added with the specified params to the beginning of the list and will therefore be called first during stream operations. To add a filter to the end of the list, use stream_filter_append().

Возвращаемые значения

Returns a resource which can be used to refer to this filter instance during a call to stream_filter_remove().

Список изменений

Версия | Описание
5.1.0 | Prior to PHP 5.1.0, this function returns TRUE on success or FALSE on failure.

Примечания

Замечание: When using custom (user) filters
stream_filter_register() must be called first in order to register the desired user filter to filtername .

Замечание: Stream data is read from resources (both local and remote) in chunks, with any unconsumed data kept in internal buffers. When a new filter is prepended to a stream, data in the internal buffers, which has already been processed through other filters will not be reprocessed through the new filter at that time. This differs from the behavior of stream_filter_append().

Замечание: When a filter is added for read and write, two instances of the filter are created. stream_filter_prepend() must be called twice with STREAM_FILTER_READ and STREAM_FILTER_WRITE to get both filter resources.

Смотрите также

  • stream_filter_register() - Register a user defined stream filter
  • stream_filter_append() - Attach a filter to a stream
stream_filter_append
stream_filter_register
Stream Функции


Register a user defined stream filter

stream_filter_prepend
stream_filter_remove
Stream Функции
PHP Manual

stream_filter_register

(PHP 5)

stream_filter_register — Register a user defined stream filter

Описание

bool stream_filter_register ( string $filtername , string $classname )

stream_filter_register() allows you to implement your own filter on any registered stream used with all the other filesystem functions (such as fopen(), fread() etc.).

Список параметров

filtername

The filter name to be registered.

classname

To implement a filter, you need to define a class as an extension of php_user_filter with a number of member functions as defined below. When performing read/write operations on the stream to which your filter is attached, PHP will pass the data through your filter (and any other filters attached to that stream) so that the data may be modified as desired. You must implement the methods exactly as described below - doing otherwise will lead to undefined behaviour.

int filter ( resource $in , resource $out , int &$consumed , bool $closing )

This method is called whenever data is read from or written to the attached stream (such as with fread() or fwrite()). in is a resource pointing to a bucket brigade which contains one or more bucket objects containing data to be filtered. out is a resource pointing to a second bucket brigade into which your modified buckets should be placed. consumed , which must always be declared by reference, should be incremented by the length of the data which your filter reads in and alters. In most cases this means you will increment consumed by $bucket->datalen for each $bucket. If the stream is in the process of closing (and therefore this is the last pass through the filterchain), the closing parameter will be set to TRUE. The filter method must return one of three values upon completion.

Return Value | Meaning
PSFS_PASS_ON | Filter processed successfully with data available in the out bucket brigade.
PSFS_FEED_ME | Filter processed successfully, however no data was available to return. More data is required from the stream or prior filter.
PSFS_ERR_FATAL (default) | The filter experienced an unrecoverable error and cannot continue.

bool onCreate ( void )
This method is called during instantiation of the filter class object. If your filter allocates or initializes any other resources (such as a buffer), this is the place to do it. Your implementation of this method should return FALSE on failure, or TRUE on success. When your filter is first instantiated, and yourfilter->onCreate() is called, a number of properties will be available as shown in the table below.

Property | Contents
FilterClass->filtername | A string containing the name the filter was instantiated with. Filters may be registered under multiple names or under wildcards. Use this property to determine which name was used.
FilterClass->params | The contents of the params parameter passed to stream_filter_append() or stream_filter_prepend().
FilterClass->stream | The stream resource being filtered. Maybe available only during filter calls when the closing parameter is set to FALSE.

void onClose ( void )

This method is called upon filter shutdown (typically, this is also during stream shutdown), and is executed after the flush method is called. If any resources were allocated or initialzed during onCreate() this would be the time to destroy or dispose of them.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

stream_filter_register() will return FALSE if the filtername is already defined.

Примеры

Пример #1 Filter for capitalizing characters on foo-bar.txt stream

The example below implements a filter named strtoupper on the foo-bar.txt stream which will capitalize all letter characters written to/read from that stream.

<?php

/* Define our filter class */
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;
  }
}

/* Register our filter with PHP */
stream_filter_register("strtoupper", "strtoupper_filter")
    or die("Failed to register filter");

$fp = fopen("foo-bar.txt", "w");

/* Attach the registered filter to the stream just opened */
stream_filter_append($fp, "strtoupper");

fwrite($fp, "Line1\n");
fwrite($fp, "Word - 2\n");
fwrite($fp, "Easy As 123\n");

fclose($fp);

/* Read the contents back out
 */
readfile("foo-bar.txt");

?>

Результат выполнения данного примера:

LINE1
WORD - 2
EASY AS 123

Пример #2 Registering a generic filter class to match multiple filter names.

<?php

/* Define our filter class */
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 {
      /* Some other str.* filter was asked for,
         report failure so that PHP will keep looking */
      return false;
    }

    return true;
  }
}

/* Register our filter with PHP */
stream_filter_register("str.*", "string_filter")
    or die("Failed to register filter");

$fp = fopen("foo-bar.txt", "w");

/* Attach the registered filter to the stream just opened
   We could alternately bind to str.tolower here */
stream_filter_append($fp, "str.toupper");

fwrite($fp, "Line1\n");
fwrite($fp, "Word - 2\n");
fwrite($fp, "Easy As 123\n");

fclose($fp);

/* Read the contents back out
 */
readfile("foo-bar.txt");
?>

Результат выполнения данного примера:

LINE1
WORD - 2
EASY AS 123

Смотрите также

  • stream_wrapper_register() - Register a URL wrapper implemented as a PHP class
  • stream_filter_append() - Attach a filter to a stream
  • stream_filter_prepend() - Attach a filter to a stream

stream_filter_prepend
stream_filter_remove
Stream Функции


Remove a filter from a stream

stream_filter_register
stream_get_contents
Stream Функции
PHP Manual

stream_filter_remove

(PHP 5 >= 5.1.0)

stream_filter_remove — Remove a filter from a stream

Описание

bool stream_filter_remove ( resource $stream_filter )

Removes a stream filter previously added to a stream with stream_filter_prepend() or stream_filter_append(). Any data remaining in the filter's internal buffer will be flushed through to the next filter before removing it.

Список параметров

stream_filter

The stream filter to be removed.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Dynamicly refiltering a stream

<?php
/* Open a test file for reading and writing */
$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() - Register a user defined stream filter
  • stream_filter_append() - Attach a filter to a stream
  • stream_filter_prepend() - Attach a filter to a stream

stream_filter_register
stream_get_contents
Stream Функции


Reads remainder of a stream into a string

stream_filter_remove
stream_get_filters
Stream Функции
PHP Manual

stream_get_contents

(PHP 5)

stream_get_contents — Reads remainder of a stream into a string

Описание

string stream_get_contents ( resource $handle [, int $maxlength= -1 [, int $offset= 0 ]] )

Identical to file_get_contents(), except that stream_get_contents() operates on an already open stream resource and returns the remaining contents in a string, up to maxlength bytes and starting at the specified offset .

Список параметров

handle (resource)

A stream resource (e.g. returned from fopen())

maxlength (integer)

The maximum bytes to read. Defaults to -1 (read all the remaining buffer).

offset (integer)

Seek to the specified offset before reading.

Возвращаемые значения

Returns a string, or FALSE on failure.

Список изменений

Версия | Описание
5.1.0 | The offset was added.

Примеры

Пример #1 stream_get_contents() example

<?php

if ($stream = fopen('http://www.example.com', 'r')) {
    // print all the page starting at the offset 10
    echo stream_get_contents($stream, -1, 10);

    fclose($stream);
}

if ($stream = fopen('http://www.example.net', 'r')) {
    // print the first 5 bytes
    echo stream_get_contents($stream, 5);

    fclose($stream);
}

?>

Примечания

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Смотрите также

  • fgets() - Читает строку из файла
  • fread() - Бинарно-безопасное чтение файла
  • fpassthru() - Выводит все оставшиеся данные из файлового указателя

stream_filter_remove
stream_get_filters
Stream Функции


Retrieve list of registered filters

stream_get_contents
stream_get_line
Stream Функции
PHP Manual

stream_get_filters

(PHP 5)

stream_get_filters — Retrieve list of registered filters

Описание

array stream_get_filters ( void )

Retrieve the list of registered filters on the running system.

Возвращаемые значения

Returns an indexed array containing the name of all stream filters available.

Примеры

Пример #1 Using 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() - Register a user defined stream filter
  • stream_get_wrappers() - Retrieve list of registered streams
stream_get_contents
stream_get_line
Stream Функции


Gets line from stream resource up to a given delimiter

stream_get_filters
stream_get_meta_data
Stream Функции
PHP Manual

stream_get_line

(PHP 5)

stream_get_line — Gets line from stream resource up to a given delimiter

Описание

string stream_get_line ( resource $handle , int $length [, string $ending ] )

Gets a line from the given handle.

Reading ends when length bytes have been read, when the string specified by ending is found (which is not included in the return value), or on EOF (whichever comes first).

This function is nearly identical to fgets() except in that it allows end of line delimiters other than the standard \n, \r, and \r\n, and does not return the delimiter itself.

Список параметров

handle

A valid file handle.

length

The number of bytes to read from the handle.

ending

An optional string delimiter.

Возвращаемые значения

Returns a string of up to length bytes read from the file pointed to by handle .

If an error occurs, returns FALSE.

Смотрите также

  • fread() - Бинарно-безопасное чтение файла
  • fgets() - Читает строку из файла
  • fgetc() - Считывает символ из файла
stream_get_filters
stream_get_meta_data
Stream Функции


Retrieves header/meta data from streams/file pointers

stream_get_line
stream_get_transports
Stream Функции
PHP Manual

stream_get_meta_data

(PHP 4 >= 4.3.0, PHP 5)

stream_get_meta_data — Retrieves header/meta data from streams/file pointers

Описание

array stream_get_meta_data ( resource $stream )

Returns information about an existing stream .

Список параметров

stream

The stream can be any stream created by fopen(), fsockopen() and pfsockopen().

Возвращаемые значения

The result array contains the following items:

  • timed_out (bool) - TRUE if the stream timed out while waiting for data on the last call to fread() or fgets().

  • blocked (bool) - TRUE if the stream is in blocking IO mode. See stream_set_blocking().

  • eof (bool) - TRUE if the stream has reached end-of-file. Note that for socket streams this member can be TRUE even when unread_bytes is non-zero. To determine if there is more data to be read, use feof() instead of reading this item.

  • unread_bytes (int) - the number of bytes currently contained in the PHP's own internal buffer.

    Замечание: You shouldn't use this value in a script.

  • stream_type (string) - a label describing the underlying implementation of the stream.

  • wrapper_type (string) - a label describing the protocol wrapper implementation layered over the stream. See List of Supported Protocols/Wrappers for more information about wrappers.

  • wrapper_data (mixed) - wrapper specific data attached to this stream. See List of Supported Protocols/Wrappers for more information about wrappers and their wrapper data.

  • filters (array) - and array containing the names of any filters that have been stacked onto this stream. Documentation on filters can be found in the Filters appendix.

  • mode (string) - the type of access required for this stream (see Table 1 of the fopen() reference)

  • seekable (bool) - whether the current stream can be seeked.

  • uri (string) - the URI/filename associated with this stream.

Список изменений

Версия | Описание
5.0.0 | The following entries were added in the returned array: mode, seekable, and uri.
4.3.0 | The following entries were added in the returned array: stream_type, wrapper_type, wrapper_data, and filters.
4.3.0 | socket_get_status() is an alias for this function. Prior to PHP 4.3.0, it was used to retrieve the first four items, for socket based streams only.

Примечания

Замечание: This function does NOT work on sockets created by the Socket extension.

stream_get_line
stream_get_transports
Stream Функции


Retrieve list of registered socket transports

stream_get_meta_data
stream_get_wrappers
Stream Функции
PHP Manual

stream_get_transports

(PHP 5)

stream_get_transports — Retrieve list of registered socket transports

Описание

array stream_get_transports ( void )

Returns an indexed array containing the name of all socket transports available on the running system.

Возвращаемые значения

Returns an indexed array of socket transports names.

Примеры

Пример #1 Using stream_get_transports()

<?php
$xportlist = stream_get_transports();
print_r($xportlist);
?>

Результатом выполнения данного примера будет что-то подобное:

Array (
  [0] => tcp
  [1] => udp
  [2] => unix
  [3] => udg
)

Смотрите также

  • stream_get_filters() - Retrieve list of registered filters
  • stream_get_wrappers() - Retrieve list of registered streams
stream_get_meta_data
stream_get_wrappers
Stream Функции


Retrieve list of registered streams

stream_get_transports
stream_is_local
Stream Функции
PHP Manual

stream_get_wrappers

(PHP 5)

stream_get_wrappers — Retrieve list of registered streams

Описание

array stream_get_wrappers ( void )

Retrieve list of registered streams available on the running system.

Возвращаемые значения

Returns an indexed array containing the name of all stream wrappers available on the running system.

Примеры

Пример #1 stream_get_wrappers() example

<?php
print_r(stream_get_wrappers());
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [0] => php
    [1] => file
    [2] => http
    [3] => ftp
    [4] => compress.bzip2
    [5] => compress.zlib
)

Пример #2 Checking for the existence of a stream wrapper

<?php
// check for the existence of the bzip2 stream wrapper
if (in_array('compress.bzip2', stream_get_wrappers())) {
    echo 'compress.bzip2:// support enabled.';
} else {
    echo 'compress.bzip2:// support not enabled.';
}
?>

Смотрите также

  • stream_wrapper_register() - Register a URL wrapper implemented as a PHP class
stream_get_transports
stream_is_local
Stream Функции


Checks if a stream is a local stream

stream_get_wrappers
stream_notification_callback
Stream Функции
PHP Manual

stream_is_local

(PHP 5 >= 5.2.4)

stream_is_local — Checks if a stream is a local stream

Описание

bool stream_is_local ( mixed $stream_or_url )

Checks if a stream, or a URL, is a local one or not.

Список параметров

stream_or_url

The stream resource or URL to check.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 stream_is_local() example

Basic usage 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 Функции


A callback function for the notification context paramater

stream_is_local
stream_register_wrapper
Stream Функции
PHP Manual

stream_notification_callback

(PHP 5 >= 5.2.0)

stream_notification_callback — A callback function for the notification context paramater

Описание

void stream_notification_callback ( int $notification_code , int $severity , string $message , int $message_code , int $bytes_transferred , int $bytes_max )

A callback function, used by the notification context parameter, called during an event.

Замечание: This is not a real function, only a prototype of how the function should be.

Список параметров

notification_code

One of the STREAM_NOTIFY_* notification constants.

severity

One of the STREAM_NOTIFY_SEVERITY_* notification constants.

message

Passed if a descriptive message is available for the event.

message_code

Passed if a descriptive message code is available for the event.

The meaning of this value is dependent on the specific wrapper in use.

bytes_transferred

If applicable, the bytes_transferred will be populated.

bytes_max

If applicable, the bytes_max will be populated.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 stream_notification_callback() example

<?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);
            /* Ignore */
            break;

        case STREAM_NOTIFY_REDIRECTED:
            echo "Being redirected to: ", $message;
            break;

        case STREAM_NOTIFY_CONNECT:
            echo "Connected...";
            break;

        case STREAM_NOTIFY_FILE_SIZE_IS:
            echo "Got the filesize: ", $bytes_max;
            break;

        case STREAM_NOTIFY_MIME_TYPE_IS:
            echo "Found the mime-type: ", $message;
            break;

        case STREAM_NOTIFY_PROGRESS:
            echo "Made some progress, downloaded ", $bytes_transferred, " so far";
            break;
    }
    echo "\n";
}

$ctx = stream_context_create(null, array("notification" => "stream_notification_callback"));

file_get_contents("http://php.net/contact", false, $ctx);
?>

Результатом выполнения данного примера будет что-то подобное:

Connected...
Found the mime-type: text/html; charset=utf-8
Being redirected to: http://no.php.net/contact
Connected...
Got the filesize: 0
Found the mime-type: text/html; charset=utf-8
Being redirected to: http://no.php.net/contact.php
Connected...
Got the filesize: 4589
Found the mime-type: text/html;charset=utf-8
Made some progress, downloaded 0 so far
Made some progress, downloaded 0 so far
Made some progress, downloaded 0 so far
Made some progress, downloaded 1440 so far
Made some progress, downloaded 2880 so far
Made some progress, downloaded 4320 so far
Made some progress, downloaded 5760 so far
Made some progress, downloaded 6381 so far
Made some progress, downloaded 7002 so far

Пример #2 Simple progressbar for commandline download client

<?php
function usage($argv) {
    echo "Usage:\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:
        /* Ignore */
        break;

    case STREAM_NOTIFY_REDIRECTED:
        echo "Being redirected to: ", $message, "\n";
        break;

    case STREAM_NOTIFY_CONNECT:
        echo "Connected...\n";
        break;

    case STREAM_NOTIFY_FILE_SIZE_IS:
        $filesize = $bytes_max;
        echo "Filesize: ", $filesize, "\n";
        break;

    case STREAM_NOTIFY_MIME_TYPE_IS:
        echo "Mime-type: ", $message, "\n";
        break;

    case STREAM_NOTIFY_PROGRESS:
        if ($bytes_transferred > 0) {
            if (!isset($filesize)) {
                printf("\rUnknown filesize.. %2d kb done..", $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(null, array("notification" => "stream_notification_callback"));

$fp = fopen($argv[1], "r", false, $ctx);
if (is_resource($fp) && file_put_contents($argv[2], $fp)) {
    echo "\nDone!\n";
    exit(0);
}

$err = error_get_last();
echo "\nErrrrrorr..\n", $err["message"], "\n";
exit(1);
?>

Executing the example above with: php -n fetch.php http://no2.php.net/get/php-5-LATEST.tar.bz2/from/this/mirror php-latest.tar.bz2 will output something similar too:

Connected...
Mime-type: text/html; charset=utf-8
Being redirected to: http://no2.php.net/distributions/php-5.2.5.tar.bz2
Connected...
Filesize: 7773024
Mime-type: application/octet-stream
[========================================>                                                           ] 40% (3076/7590 kb)

Смотрите также

  • Context parameters

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 Функции


Determine what file will be opened by calls to fopen with a relative path

stream_register_wrapper
stream_select
Stream Функции
PHP Manual

stream_resolve_include_path

(PHP 6)

stream_resolve_include_path — Determine what file will be opened by calls to fopen() with a relative path

Описание

string stream_resolve_include_path ( string $filename [, resource $context ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

stream_register_wrapper
stream_select
Stream Функции


Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and tv_usec

stream_resolve_include_path
stream_set_blocking
Stream Функции
PHP Manual

stream_select

(PHP 4 >= 4.3.0, PHP 5)

stream_select — Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and tv_usec

Описание

int stream_select ( array &$read , array &$write , array &$except , int $tv_sec [, int $tv_usec= 0 ] )

The stream_select() function accepts arrays of streams and waits for them to change status. Its operation is equivalent to that of the socket_select() function except in that it acts on streams.

Список параметров

read

The streams 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 stream resource is also ready on end-of-file, in which case an fread() will return a zero length string).

write

The streams listed in the write array will be watched to see if a write will not block.

except

The streams listed in the except array will be watched for high priority exceptional ("out-of-band") data arriving.

Замечание: When stream_select() returns, the arrays read , write and except are modified to indicate which stream resource(s) actually changed status.

You do not need to pass every array to stream_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 stream_select() returns.
tv_sec

The tv_sec and tv_usec together form the timeout parameter, tv_sec specifies the number of seconds while tv_usec the number of microseconds. The timeout is an upper bound on the amount of time that stream_select() will wait before it returns. If tv_sec and tv_usec are both set to 0, stream_select() will not wait for data - instead it will return immediately, indicating the current status of the streams.

If tv_sec is NULL stream_select() can block indefinitely, returning only when an event on one of the watched streams occurs (or if a signal interrupts the system call).

Внимание

Using a timeout value of 0 allows you to instantaneously poll the status of the streams, however, it is NOT a good idea to use a 0 timeout value in a loop as it will cause your script to consume too much CPU time.

It is much better to specify a timeout value of a few seconds, although if you need to be checking and running other code concurrently, using a timeout value of at least 200000 microseconds will help reduce the CPU usage of your script.

Remember that the timeout value is the maximum time that will elapse; stream_select() will return as soon as the requested streams are ready for use.

tv_usec

See tv_sec description.

Возвращаемые значения

On success stream_select() returns the number of stream resources contained in the modified arrays, which may be zero if the timeout expires before anything interesting happens. On error FALSE is returned and a warning raised (this can happen if the system call is interrupted by an incoming signal).

Примеры

Пример #1 stream_select() Example

This example checks to see if data has arrived for reading on either $stream1 or $stream2 . Since the timeout value is 0 it will return immediately:

<?php
/* Prepare the read array */
$read   = array($stream1, $stream2);
$write  = NULL;
$except = NULL;
if (false === ($num_changed_streams = stream_select($read, $write, $except, 0))) {
    /* Error handling */
} elseif ($num_changed_streams > 0) {
    /* At least on one of the streams something interesting happened */
}
?>

Примечания

Замечание: Due to 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:

<?php
$e = NULL;
stream_select($r, $w, $e, 0);
?>

Замечание: Be sure to use the === operator when checking for an error. Since the stream_select() may return 0 the comparison with == would evaluate to TRUE:

<?php
$e = NULL;
if (false === stream_select($r, $w, $e, 0)) {
    echo "stream_select() failed\n";
}
?>

Замечание: If you read/write to a stream returned 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.

Замечание: Windows compatibility: stream_select() used on a pipe returned from proc_open() may cause data loss under Windows 98.
Use of stream_select() on file descriptors returned by proc_open() will fail and return FALSE under Windows.

Смотрите также

  • stream_set_blocking() - Set blocking/non-blocking mode on a stream
stream_resolve_include_path
stream_set_blocking
Stream Функции


Set blocking/non-blocking mode on a stream

stream_select
stream_set_timeout
Stream Функции
PHP Manual

stream_set_blocking

(PHP 4 >= 4.3.0, PHP 5)

stream_set_blocking — Set blocking/non-blocking mode on a stream

Описание

bool stream_set_blocking ( resource $stream , int $mode )

Sets blocking or non-blocking mode on a stream .

This function works for any stream that supports non-blocking mode (currently, regular files and socket streams).

Список параметров

stream

The stream.

mode

If mode is 0, the given stream will be switched to non-blocking mode, and if 1, it will be switched to blocking mode. This affects calls like fgets() and fread() that read from the stream. In non-blocking mode an fgets() call will always return right away while in blocking mode it will wait for data to become available on the stream.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
4.3.0 | Prior to PHP 4.3.0, this function only worked on socket based streams.

Примечания

Замечание: This function was previously called as set_socket_blocking() and later socket_set_blocking() but this usage is deprecated.

Смотрите также

  • stream_select() - Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and tv_usec
stream_select
stream_set_timeout
Stream Функции


Set timeout period on a stream

stream_set_blocking
stream_set_write_buffer
Stream Функции
PHP Manual

stream_set_timeout

(PHP 4 >= 4.3.0, PHP 5)

stream_set_timeout — Set timeout period on a stream

Описание

bool stream_set_timeout ( resource $stream , int $seconds [, int $microseconds= 0 ] )

Sets the timeout value on stream , expressed in the sum of seconds and microseconds .

When the stream times out, the 'timed_out' key of the array returned by stream_get_meta_data() is set to TRUE, although no error/warning is generated.

Список параметров

stream

The target stream.

seconds

The seconds part of the timeout to be set.

microseconds

The microseconds part of the timeout to be set.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
4.3.0 | As of PHP 4.3, this function can (potentially) work on any kind of stream. In PHP 4.3, socket based streams are still the only kind supported in the PHP core, although streams from other extensions may support this function.

Примеры

Пример #1 stream_set_timeout() example

<?php
$fp = fsockopen("www.example.com", 80);
if (!$fp) {
    echo "Unable to open\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 'Connection timed out!';
    } else {
        echo $res;
    }

}
?>

Примечания

Замечание: This function doesn't work with advanced operations like stream_socket_recvfrom(), use stream_select() with timeout parameter instead.

This function was previously called as set_socket_timeout() and later socket_set_timeout() but this usage is deprecated.

Смотрите также

  • fsockopen() - Open Internet or Unix domain socket connection
  • fopen() - Открывает файл или URL
stream_set_blocking
stream_set_write_buffer
Stream Функции


Sets file buffering on the given 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 — Sets file buffering on the given stream

Описание

int stream_set_write_buffer ( resource $stream , int $buffer )

Sets the buffering for write operations on the given stream to buffer bytes.

Output using fwrite() is normally buffered at 8K. This means that if there are two processes wanting to write to the same output stream (a file), each is paused after 8K of data to allow the other to write.

Список параметров

stream

The file pointer.

buffer

The number of bytes to buffer. If buffer is 0 then write operations are unbuffered. This ensures that all writes with fwrite() are completed before other processes are allowed to write to that output stream.

Возвращаемые значения

Returns 0 on success, or EOF if the request cannot be honored.

Примеры

Пример #1 stream_set_write_buffer() example

The following example demonstrates how to use stream_set_write_buffer() to create an unbuffered stream.

<?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 Функции


Accept a connection on a socket created by stream_socket_server

stream_set_write_buffer
stream_socket_client
Stream Функции
PHP Manual

stream_socket_accept

(PHP 5)

stream_socket_accept — Accept a connection on a socket created by stream_socket_server()

Описание

resource stream_socket_accept ( resource $server_socket [, float $timeout= ini_get("default_socket_timeout") [, string &$peername ]] )

Accept a connection on a socket previously created by stream_socket_server().

Список параметров

timeout

Override the default socket accept timeout. Time should be given in seconds.

peername

Will be set to the name (address) of the client which connected, if included and available from the selected transport.

Замечание: Can also be determined later using stream_socket_get_name().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Внимание

This function should not be used with UDP server sockets. Instead, use stream_socket_recvfrom() and stream_socket_sendto().

Смотрите также

  • stream_socket_server() - Create an Internet or Unix domain server socket
  • stream_socket_get_name() - Retrieve the name of the local or remote sockets
  • stream_set_blocking() - Set blocking/non-blocking mode on a stream
  • stream_set_timeout() - Set timeout period on a stream
  • fgets() - Читает строку из файла
  • fgetss() - Прочитать строку из файла и отбросить HTML-теги
  • fwrite() - Бинарно-безопасная запись в файл
  • fclose() - Закрывает дескриптор файла
  • feof() - Проверяет, достигнут ли конец файла
  • CURL

stream_set_write_buffer
stream_socket_client
Stream Функции


Open Internet or Unix domain socket connection

stream_socket_accept
stream_socket_enable_crypto
Stream Функции
PHP Manual

stream_socket_client

(PHP 5)

stream_socket_client — Open Internet or Unix domain socket connection

Описание

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 ]]]]] )

Initiates a stream or datagram connection to the destination specified by remote_socket . The type of socket created is determined by the transport specified using standard URL formatting: transport://target. For Internet Domain sockets (AF_INET) such as TCP and UDP, the target portion of the remote_socket parameter should consist of a hostname or IP address followed by a colon and a port number. For Unix domain sockets, the target portion should point to the socket file on the filesystem.

Замечание: The stream will by default be opened in blocking mode. You can switch it to non-blocking mode by using stream_set_blocking().

Список параметров

remote_socket

Address to the socket to connect to.

errno

Will be set to the system level error number if connection fails.

errstr

Will be set to the system level error message if the connection fails.

timeout

Number of seconds until the connect() system call should timeout.

Замечание: This parameter only applies when not making asynchronous connection attempts.

Замечание: To set a timeout for reading/writing data over the socket, use the stream_set_timeout(), as the timeout only applies while making connecting the socket.

flags

Bitmask field which may be set to any combination of connection flags. Currently the select of connection flags is limited to STREAM_CLIENT_CONNECT (default), STREAM_CLIENT_ASYNC_CONNECT and STREAM_CLIENT_PERSISTENT.

context

A valid context resource created with stream_context_create().

Возвращаемые значения

On success a stream resource is returned which may
be used together with the other file functions (such as
fgets(), fgetss(),
fwrite(), fclose(), and
feof()), FALSE on failure.

Errors/Exceptions

On failure the errno and errstr arguments will be populated with the actual system level error 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. Note that the errno and errstr arguments will always be passed by reference.

Примеры

Пример #1 stream_socket_client() example

<?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 Using UDP connection

Retrieving the day and time from the UDP service "daytime" (port 13) on localhost.

<?php
$fp = stream_socket_client("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);
}
?>

Примечания

Внимание

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.

Замечание: Depending on the environment, the Unix domain or the optional connect timeout may not be available. A list of available transports can be retrieved using stream_get_transports(). See Список поддерживаемых транспортных протоколов for a list of built in transports.

Смотрите также

  • stream_socket_server() - Create an Internet or Unix domain server socket
  • stream_set_blocking() - Set blocking/non-blocking mode on a stream
  • stream_set_timeout() - Set timeout period on a stream
  • stream_select() - Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and tv_usec
  • fgets() - Читает строку из файла
  • fgetss() - Прочитать строку из файла и отбросить HTML-теги
  • fwrite() - Бинарно-безопасная запись в файл
  • fclose() - Закрывает дескриптор файла
  • feof() - Проверяет, достигнут ли конец файла
  • CURL

stream_socket_accept
stream_socket_enable_crypto
Stream Функции


Turns encryption on/off on an already connected socket

stream_socket_client
stream_socket_get_name
Stream Функции
PHP Manual

stream_socket_enable_crypto

(PHP 5 >= 5.1.0)

stream_socket_enable_crypto — Turns encryption on/off on an already connected socket

Описание

mixed stream_socket_enable_crypto ( resource $stream , bool $enable [, int $crypto_type [, resource $session_stream ]] )

Enable or disable encryption on the stream.

Once the crypto settings are established, cryptography can be turned on and off dynamically by passing TRUE or FALSE in the enable parameter.

Список параметров

stream

The stream resource.

enable

Enable/disable cryptography on the stream.

crypto_type

Setup encryption on the stream. Valid methods are

  • 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

Seed the stream with settings from session_stream .

Возвращаемые значения

Returns TRUE on success, FALSE if negotiation has failed or 0 if there isn't enough data and you should try again (only for non-blocking sockets).

Примеры

Пример #1 stream_socket_enable_crypto() example

<?php
$fp = stream_socket_client("tcp://myproto.example.com:31337", $errno, $errstr, 30);
if (!$fp) {
    die("Unable to connect: $errstr ($errno)");
}

/* Turn on encryption for login phase */
stream_socket_enable_crypto($fp, true, STREAM_CRYPTO_METHOD_SSLv23_CLIENT);
fwrite($fp, "USER god\r\n");
fwrite($fp, "PASS secret\r\n");

/* Turn off encryption for the rest */
stream_socket_enable_crypto($fp, false);

while ($motd = fgets($fp)) {
    echo $motd;
}

fclose($fp);
?>

Результатом выполнения данного примера будет что-то подобное:

Смотрите также

  • OpenSSL Функции
    •

  • Список поддерживаемых транспортных протоколов
    •

stream_socket_client

stream_socket_get_name

Stream Функции


Retrieve the name of the local or remote sockets

stream_socket_enable_crypto
stream_socket_pair
Stream Функции
PHP Manual

stream_socket_get_name

(PHP 5)

stream_socket_get_name — Retrieve the name of the local or remote sockets

Описание

string stream_socket_get_name ( resource $handle , bool $want_peer )

Returns the local or remote name of a given socket connection.

Список параметров

handle

The socket to get the name of.

want_peer

If set to TRUE the remote socket name will be returned, if set to FALSE the local socket name will be returned.

Возвращаемые значения

The name of the socket.

Смотрите также

  • stream_socket_accept() - Accept a connection on a socket created by stream_socket_server

stream_socket_enable_crypto
stream_socket_pair
Stream Функции


Creates a pair of connected, indistinguishable socket streams

stream_socket_get_name
stream_socket_recvfrom
Stream Функции
PHP Manual

stream_socket_pair

(PHP 5 >= 5.1.0)

stream_socket_pair — Creates a pair of connected, indistinguishable socket streams

Описание

array stream_socket_pair ( int $domain , int $type , int $protocol )

stream_socket_pair() creates a pair of connected, indistinguishable socket streams. This function is commonly used in IPC (Inter-Process Communication).

Список параметров

domain

The protocol family to be used: STREAM_PF_INET, STREAM_PF_INET6 or STREAM_PF_UNIX

type

The type of communication to be used: STREAM_SOCK_DGRAM, STREAM_SOCK_RAW, STREAM_SOCK_RDM, STREAM_SOCK_SEQPACKET or STREAM_SOCK_STREAM

protocol

The protocol to be used: STREAM_IPPROTO_ICMP, STREAM_IPPROTO_IP, STREAM_IPPROTO_RAW, STREAM_IPPROTO_TCP or STREAM_IPPROTO_UDP

Замечание: Please consult the Streams constant list for further details on each constant.

Возвращаемые значения

Returns an array with the two socket resources on success, or FALSE on failure.

Список изменений

Версия | Описание
5.3.0 | This function is now available on Windows platforms.

Примеры

Пример #1 A stream_socket_pair() example

This example shows the basic usage of stream_socket_pair() in Inter-Process Comunication.

<?php

$sockets = stream_socket_pair(STREAM_PF_UNIX, STREAM_SOCK_STREAM, STREAM_IPPROTO_IP);
$pid     = pcntl_fork();

if ($pid == -1) {
     die('could not fork');

} else if ($pid) {
     /* parent */
    fclose($sockets[0]);

    fwrite($sockets[1], "child PID: $pid\n");
    echo fgets($sockets[1]);

    fclose($sockets[1]);

} else {
    /* child */
    fclose($sockets[1]);

    fwrite($sockets[0], "message from child\n");
    echo fgets($sockets[0]);

    fclose($sockets[0]);
}

?>

Результатом выполнения данного примера будет что-то подобное:

child PID: 1378
message from child

stream_socket_get_name
stream_socket_recvfrom
Stream Функции


Receives data from a socket, connected or not

stream_socket_pair
stream_socket_sendto
Stream Функции
PHP Manual

stream_socket_recvfrom

(PHP 5)

stream_socket_recvfrom — Receives data from a socket, connected or not

Описание

string stream_socket_recvfrom ( resource $socket , int $length [, int $flags= 0 [, string &$address ]] )

stream_socket_recvfrom() accepts data from a remote socket up to length bytes.

Список параметров

socket

The remote socket.

length

The number of bytes to receive from the socket .

flags

The value of flags can be any combination of the following:

Possible values for flags
STREAM_OOB | Process OOB (out-of-band) data.
STREAM_PEEK | Retrieve data from the socket, but do not consume the buffer. Subsequent calls to fread() or stream_socket_recvfrom() will see the same data.

address

If address is provided it will be populated with the address of the remote socket.

Возвращаемые значения

Returns the read data, as a string

Примеры

Пример #1 stream_socket_recvfrom() example

<?php
/* Open a server socket to port 1234 on localhost */
$server = stream_socket_server('tcp://127.0.0.1:1234');

/* Accept a connection */
$socket = stream_socket_accept($server);

/* Grab a packet (1500 is a typical MTU size) of OOB data */
echo "Received Out-Of-Band: '" . stream_socket_recvfrom($socket, 1500, STREAM_OOB) . "'\n";

/* Take a peek at the normal in-band data, but don't comsume it. */
echo "Data: '" . stream_socket_recvfrom($socket, 1500, STREAM_PEEK) . "'\n";

/* Get the exact same packet again, but remove it from the buffer this time. */
echo "Data: '" . stream_socket_recvfrom($socket, 1500) . "'\n";

/* Close it up */
fclose($socket);
fclose($server);
?>

Примечания

Замечание: If a message received is longer than the length parameter, excess bytes may be discarded depending on the type of socket the message is received from (such as UDP).

Замечание: Calls to stream_socket_recvfrom() on socket-based streams, after calls to buffer-based stream functions (like fread() or stream_get_line()) read data directly from the socket and bypass the stream buffer.

Смотрите также

  • stream_socket_sendto() - Sends a message to a socket, whether it is connected or not
  • stream_socket_client() - Open Internet or Unix domain socket connection
  • stream_socket_server() - Create an Internet or Unix domain server socket
stream_socket_pair
stream_socket_sendto
Stream Функции


Sends a message to a socket, whether it is connected or not

stream_socket_recvfrom
stream_socket_server
Stream Функции
PHP Manual

stream_socket_sendto

(PHP 5)

stream_socket_sendto — Sends a message to a socket, whether it is connected or not

Описание

int stream_socket_sendto ( resource $socket , string $data [, int $flags= 0 [, string $address ]] )

Sends the specified data through the socket .

Список параметров

socket

The socket to send data to.

data

The data to be sent.

flags

The value of flags can be any combination of the following:

possible values for flags
STREAM_OOB Process OOB (out-of-band) data.

address

The address specified when the socket stream was created will be used unless an alternate address is specified in address .

If specified, it must be in dotted quad (or [ipv6]) format.

Возвращаемые значения

Returns a result code, as an integer.

Примеры

Пример #1 stream_socket_sendto() Example

<?php
/* Open a socket to port 1234 on localhost */
$socket = stream_socket_client('tcp://127.0.0.1:1234');

/* Send ordinary data via ordinary channels. */
fwrite($socket, "Normal data transmit.");

/* Send more data out of band. */
stream_socket_sendto($socket, "Out of Band data.", STREAM_OOB);

/* Close it up */
fclose($socket);
?>

Смотрите также

  • stream_socket_recvfrom() - Receives data from a socket, connected or not
  • stream_socket_client() - Open Internet or Unix domain socket connection
  • stream_socket_server() - Create an Internet or Unix domain server socket
stream_socket_recvfrom
stream_socket_server
Stream Функции


Create an Internet or Unix domain server socket

stream_socket_sendto
stream_socket_shutdown
Stream Функции
PHP Manual

stream_socket_server

(PHP 5)

stream_socket_server — Create an Internet or Unix domain server socket

Описание

resource stream_socket_server ( string $local_socket [, int &$errno [, string &$errstr [, int $flags= STREAM_SERVER_BIND | STREAM_SERVER_LISTEN [, resource $context ]]]] )

Creates a stream or datagram socket on the specified local_socket .

This function only creates a socket, to begin accepting connections use stream_socket_accept().

Список параметров

local_socket

The type of socket created is determined by the transport specified using standard URL formatting: transport://target.

For Internet Domain sockets (AF_INET) such as TCP and UDP, the target portion of the remote_socket parameter should consist of a hostname or IP address followed by a colon and a port number. For Unix domain sockets, the target portion should point to the socket file on the filesystem.

Depending on the environment, Unix domain sockets may not be available. A list of available transports can be retrieved using stream_get_transports(). See Список поддерживаемых транспортных протоколов for a list of bulitin transports.

errno

If the optional errno and errstr arguments are present they will be set to indicate the actual system level error that occurred in the system-level socket(), bind(), and listen() calls. If the value returned in errno is 0 and the function returned FALSE, it is an indication that the error occurred before the bind() call. This is most likely due to a problem initializing the socket. Note that the errno and errstr arguments will always be passed by reference.

errstr

See errno description.

flags

A bitmask field which may be set to any combination of socket creation flags. The default value of flags is STREAM_SERVER_BIND | STREAM_SERVER_LISTEN.

Замечание: For UDP sockets, you must use STREAM_SERVER_BIND as the flags parameter.

context

Возвращаемые значения

Returns the created stream, or FALSE on error.

Примеры

Пример #1 Using TCP server sockets

<?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, 'The local time is ' . date('n/j/Y g:i a') . "\n");
    fclose($conn);
  }
  fclose($socket);
}
?>

The example below shows how to act as a time server which can respond to time queries as shown in an example on stream_socket_client().

Замечание: Most systems require root access to create a server socket on a port below 1024.

Пример #2 Using UDP server sockets

<?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() - Open Internet or Unix domain socket connection
  • stream_set_blocking() - Set blocking/non-blocking mode on a stream
  • stream_set_timeout() - Set timeout period on a stream
  • fgets() - Читает строку из файла
  • fgetss() - Прочитать строку из файла и отбросить HTML-теги
  • fwrite() - Бинарно-безопасная запись в файл
  • fclose() - Закрывает дескриптор файла
  • feof() - Проверяет, достигнут ли конец файла
  • Curl extension
stream_socket_sendto
stream_socket_shutdown
Stream Функции


Shutdown a full-duplex connection

stream_socket_server
stream_supports_lock
Stream Функции
PHP Manual

stream_socket_shutdown

(PHP 5 >= 5.2.1)

stream_socket_shutdown — Shutdown a full-duplex connection

Описание

bool stream_socket_shutdown ( resource $stream , int $how )

Shutdowns (partially or not) a full-duplex connection.

Список параметров

stream

An open stream (opened with stream_socket_client(), for example)

how

One of the following constants: STREAM_SHUT_RD (disable further receptions), STREAM_SHUT_WR (disable further transmissions) or STREAM_SHUT_RDWR (disable further receptions and transmissions).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 A stream_socket_shutdown() example

<?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, "hello"));

stream_socket_shutdown($client, STREAM_SHUT_WR);
var_dump(fputs($client, "hello")); // doesn't work now

?>

Результатом выполнения данного примера будет что-то подобное:

int(5)

Notice: fputs(): send of 5 bytes failed with errno=32 Broken pipe in test.php on line 9
int(0)

Смотрите также

  • fclose() - Закрывает дескриптор файла

stream_socket_server
stream_supports_lock
Stream Функции


Tells whether the stream supports locking.

stream_socket_shutdown
stream_wrapper_register
Stream Функции
PHP Manual

stream_supports_lock

(PHP 5 >= 5.3.0)

stream_supports_lock — Tells whether the stream supports locking.

Описание

bool stream_supports_lock ( resource $stream )

Tells whether the stream supports locking through flock().

Список параметров

stream

The stream to check.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • flock() - Портируемое рекомендательное запирание файлов

stream_socket_shutdown
stream_wrapper_register
Stream Функции


Register a URL wrapper implemented as a PHP class

stream_supports_lock
stream_wrapper_restore
Stream Функции
PHP Manual

stream_wrapper_register

(PHP 4 >= 4.3.2, PHP 5)

stream_wrapper_register — Register a URL wrapper implemented as a PHP class

Описание

bool stream_wrapper_register ( string $protocol , string $classname [, int $flags = 0 ] )

Allows you to implement your own protocol handlers and streams for use with all the other filesystem functions (such as fopen(), fread() etc.).

Список параметров

protocol

The wrapper name to be registered.

classname

The classname which implements the protocol .

flags

Should be set to STREAM_IS_URL if protocol is a URL protocol. Default is 0, local stream.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

stream_wrapper_register() will return FALSE if the protocol already has a handler.

Список изменений

Версия | Описание
5.2.4 | Added the flags parameter.

Примеры

Пример #1 How to register a stream wrapper

<?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
"

Смотрите также

  • The streamWrapper prototype class
  • Example class registered as stream wrapper
  • stream_wrapper_unregister() - Unregister a URL wrapper
  • stream_wrapper_restore() - Restores a previously unregistered built-in wrapper
  • stream_get_wrappers() - Retrieve list of registered streams

stream_supports_lock
stream_wrapper_restore
Stream Функции


Restores a previously unregistered built-in wrapper

stream_wrapper_register
stream_wrapper_unregister
Stream Функции
PHP Manual

stream_wrapper_restore

(PHP 5 >= 5.1.0)

stream_wrapper_restore — Restores a previously unregistered built-in wrapper

Описание

bool stream_wrapper_restore ( string $protocol )

Restores a built-in wrapper previously unregistered with stream_wrapper_unregister().

Список параметров

protocol

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

stream_wrapper_register
stream_wrapper_unregister
Stream Функции


Unregister a URL wrapper

stream_wrapper_restore
Tidy
Stream Функции
PHP Manual

stream_wrapper_unregister

(PHP 5 >= 5.1.0)

stream_wrapper_unregister — Unregister a URL wrapper

Описание

bool stream_wrapper_unregister ( string $protocol )

Allows you to disable an already defined stream wrapper. Once the wrapper has been disabled you may override it with a user-defined wrapper using stream_wrapper_register() or reenable it later on with stream_wrapper_restore().

Список параметров

protocol

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

stream_wrapper_restore
Tidy
Stream Функции


Tidy

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Примеры
  • Tidy — The Tidy class
    • tidy::body — Returns a tidyNode object starting from the tag of the tidy parse tree
    • tidy::CleanRepair — Execute configured cleanup and repair operations on parsed markup
    • tidy::__construct — Constructs a new tidy object
    • tidy::diagnose — Run configured diagnostics on parsed and repaired markup
    • tidy::getConfig — Get current Tidy configuration
    • tidy::htmlver — Get the Detected HTML version for the specified document
    • tidy::getOpt — Returns the value of the specified configuration option for the tidy document
    • tidy::getoptdoc — Returns the documentation for the given option name
    • tidy::getRelease — Get release date (version) for Tidy library
    • tidy::getStatus — Get status of specified document
    • tidy::head — Returns a tidyNode object starting from the tag of the tidy parse tree
    • tidy::html — Returns a tidyNode object starting from the tag of the tidy parse tree
    • tidy::isXhtml — Indicates if the document is a XHTML document
    • tidy::isXml — Indicates if the document is a generic (non HTML/XHTML) XML document
    • tidy::parseFile — Parse markup in file or URI
    • tidy::parseString — Parse a document stored in a string
    • tidy::repairFile — Repair a file and return it as a string
    • tidy::repairString — Repair a string using an optionally provided configuration file
    • tidy::root — Returns a tidyNode object representing the root of the tidy parse tree
  • TidyNode — The TidyNode class
    • tidyNode::getParent — Returns the parent node of the current node
    • tidyNode::hasChildren — Checks if a node has children
    • tidyNode::hasSiblings — Checks if a node has siblings
    • tidyNode::isAsp — Checks if this node is ASP
    • tidyNode::isComment — Checks if a node represents a comment
    • tidyNode::isHtml — Checks if a node is part of a HTML document
    • tidyNode::isJste — Checks if this node is JSTE
    • tidyNode::isPhp — Checks if a node is PHP
    • tidyNode::isText — Checks if a node represents text (no markup)
  • Tidy Функции
    • ob_tidyhandler — ob_start callback function to repair the buffer
    • tidy_access_count — Returns the Number of Tidy accessibility warnings encountered for specified document
    • tidy_config_count — Returns the Number of Tidy configuration errors encountered for specified document
    • tidy_error_count — Returns the Number of Tidy errors encountered for specified document
    • tidy_get_error_buffer — Return warnings and errors which occurred parsing the specified document
    • tidy_get_output — Return a string representing the parsed tidy markup
    • tidy_load_config — Load an ASCII Tidy configuration file with the specified encoding
    • tidy_reset_config — Restore Tidy configuration to default values
    • tidy_save_config — Save current settings to named file
    • tidy_set_encoding — Set the input/output character encoding for parsing markup
    • tidy_setopt — Updates the configuration settings for the specified tidy document
    • tidy_warning_count — Returns the Number of Tidy warnings encountered for specified document
stream_wrapper_unregister
Введение
Other Basic Extensions


Введение

Tidy is a binding for the Tidy HTML clean and repair utility which allows you to not only clean and otherwise manipulate HTML documents, but also traverse the document tree.

Tidy
Установка и настройка
Tidy


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Tidy


Требования

To use Tidy, you will need libtidy installed, available on the tidy homepage » http://tidy.sourceforge.net/.

Установка и настройка
Установка
Установка и настройка


Установка

Tidy is currently available for PHP 4.3.x and PHP 5 as a PECL extension from » http://pecl.php.net/package/tidy.

Замечание: Tidy 1.0 is just for PHP 4.3.x, while Tidy 2.0 is just for PHP 5.

If » PEAR is available on your *nix-like system you can use the pear installer to install the tidy extension, by the following command: pecl install tidy.

You can always download the tar.gz package and install tidy by hand:

Пример #1 tidy install by hand in PHP 4.3.x

gunzip tidy-xxx.tgz
tar -xvf tidy-xxx.tar
cd tidy-xxx
phpize
./configure && make && make install

In PHP 5 you need only to compile using the --with-tidy option.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Tidy Configuration Options
Name | Default | Changeable | Changelog
tidy.default_config | "" | PHP_INI_SYSTEM | Available since PHP 5.0.0.
tidy.clean_output | "0" | PHP_INI_USER | PHP_INI_PERDIR in PHP 5. Available since PHP 5.0.0.

Для подробного описания констант PHP_INI_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

tidy.default_config string

Default path for tidy config file.

tidy.clean_output boolean

Turns on/off the output repairing by Tidy.

Внимание

Do not turn on tidy.clean_output if you are generating non-html content such as dynamic images.

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение подгружается во время выполнения.

Each TIDY_TAG_XXX represents a HTML tag. For example, TIDY_TAG_A represents a "<a href="XX">link</a>" tag. Each TIDY_ATTR_XXX represents a HTML attribute. For example TIDY_ATTR_HREF would represent the href attribute in the previous example.

The following constants are defined:

tidy tag constants
constant
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 attribute constants
constant
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 nodetype constants
constant | description
TIDY_NODETYPE_ROOT | root node
TIDY_NODETYPE_DOCTYPE | doctype
TIDY_NODETYPE_COMMENT | HTML comment
TIDY_NODETYPE_PROCINS | Processing Instruction
TIDY_NODETYPE_TEXT | Text
TIDY_NODETYPE_START | start tag
TIDY_NODETYPE_END | end tag
TIDY_NODETYPE_STARTEND | empty tag
TIDY_NODETYPE_CDATA | CDATA
TIDY_NODETYPE_SECTION | XML section
TIDY_NODETYPE_ASP | ASP code
TIDY_NODETYPE_JSTE | JSTE code
TIDY_NODETYPE_PHP | PHP code
TIDY_NODETYPE_XMLDECL | XML declaration

Типы ресурсов
Примеры
Tidy


Примеры
Tidy
PHP Manual

Примеры

Содержание

  • Примеры
Предопределенные константы
Примеры
Tidy


Примеры
Tidy
Примеры
PHP Manual

Примеры

This simple example shows basic Tidy usage.

Пример #1 Basic Tidy usage

<?php
ob_start();
?>
<html>a html document</html>
<?php
$html = ob_get_clean();

// Specify configuration
$config = array(
           'indent'         => true,
           'output-xhtml'   => true,
           'wrap'           => 200);

// Tidy
$tidy = new tidy;
$tidy->parseString($html, $config, 'utf8');
$tidy->cleanRepair();

// Output
echo $tidy;
?>

Примеры
Tidy
Примеры
PHP Manual


The Tidy class

Введение

An HTML node in an HTML file, as detected by tidy.

Class synopsis

Tidy
Tidy {
/* Properties */
/* Methods */
tidyNode tidy_get_body ( tidy $object )
bool tidy_clean_repair ( tidy $object )
tidy tidy::__construct ([ string $filename [, mixed $config [, string $encoding [, bool $use_include_path ]]]] )
bool tidy_diagnose ( tidy $object )
array tidy_get_config ( tidy $object )
int tidy_get_html_ver ( tidy $object )
mixed tidy_getopt ( tidy $object , string $option )
string tidy_get_opt_doc ( tidy $object , string $optname )
string tidy_get_release ( void )
int tidy_get_status ( tidy $object )
tidyNode tidy_get_head ( tidy $object )
tidyNode tidy_get_html ( tidy $object )
bool tidy_is_xhtml ( tidy $object )
bool tidy_is_xml ( tidy $object )
tidy tidy_parse_file ( string $filename [, mixed $config [, string $encoding [, bool $use_include_path= false ]]] )
tidy tidy_parse_string ( string $input [, mixed $config [, string $encoding ]] )
string tidy_repair_file ( string $filename [, mixed $config [, string $encoding [, bool $use_include_path= false ]]] )
string tidy_repair_string ( string $data [, mixed $config [, string $encoding ]] )
tidyNode tidy_get_root ( tidy $object )
}

Свойства

errorBuffer

The last warnings and errors from TidyLib

Содержание

  • tidy::body — Returns a tidyNode object starting from the tag of the tidy parse tree
  • tidy::CleanRepair — Execute configured cleanup and repair operations on parsed markup
  • tidy::__construct — Constructs a new tidy object
  • tidy::diagnose — Run configured diagnostics on parsed and repaired markup
  • tidy::getConfig — Get current Tidy configuration
  • tidy::htmlver — Get the Detected HTML version for the specified document
  • tidy::getOpt — Returns the value of the specified configuration option for the tidy document
  • tidy::getoptdoc — Returns the documentation for the given option name
  • tidy::getRelease — Get release date (version) for Tidy library
  • tidy::getStatus — Get status of specified document
  • tidy::head — Returns a tidyNode object starting from the tag of the tidy parse tree
  • tidy::html — Returns a tidyNode object starting from the tag of the tidy parse tree
  • tidy::isXhtml — Indicates if the document is a XHTML document
  • tidy::isXml — Indicates if the document is a generic (non HTML/XHTML) XML document
  • tidy::parseFile — Parse markup in file or URI
  • tidy::parseString — Parse a document stored in a string
  • tidy::repairFile — Repair a file and return it as a string
  • tidy::repairString — Repair a string using an optionally provided configuration file
  • tidy::root — Returns a tidyNode object representing the root of the tidy parse tree
Примеры
tidy::body
Tidy


Returns a tidyNode object starting from the

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 — Returns a tidyNode object starting from the <body> tag of the tidy parse tree

Описание

Procedural style

tidyNode tidy_get_body ( tidy $object )

Object oriented style

tidyNode tidy::body ( void )

Returns a tidyNode object starting from the <body> tag of the tidy parse tree.

Список параметров

object

The Tidy object.

Возвращаемые значения

Returns the detected HTML version.

Внимание

This function is not yet implemented in the Tidylib itself, so it always return 0.

Примеры

Пример #1 tidy::getBody() example

<?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 2, что означает PHP >= 5.0.0.

Смотрите также

  • tidy::head() - Returns a tidyNode object starting from the tag of the tidy parse tree
  • tidy::html() - Returns a tidyNode object starting from the tag of the tidy parse tree
Tidy
tidy::CleanRepair
Tidy


Execute configured cleanup and repair operations on parsed markup

tidy::body
tidy::__construct
Tidy
PHP Manual

tidy::CleanRepair

tidy_clean_repair

(PHP 5, PECL tidy >= 0.5.2)

tidy::CleanRepair -- tidy_clean_repair — Execute configured cleanup and repair operations on parsed markup

Описание

Procedural style

bool tidy_clean_repair ( tidy $object )

Object oriented style

bool tidy::cleanRepair ( void )

This function cleans and repairs the given tidy object .

Список параметров

object

The Tidy object.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 tidy::cleanrepair() example

<?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() - Repair a file and return it as a string
  • tidy::repairString() - Repair a string using an optionally provided configuration file
tidy::body
tidy::__construct
Tidy


Constructs a new tidy object

tidy::CleanRepair
tidy::diagnose
Tidy
PHP Manual

tidy::__construct

(PHP 5, PECL tidy >= 0.5.2)

tidy::__construct — Constructs a new tidy object

Описание

tidy tidy::__construct ([ string $filename [, mixed $config [, string $encoding [, bool $use_include_path ]]]] )

Constructs a new tidy object.

Список параметров

filename

If the filename parameter is given, this function will also read that file and initialize the object with the file, acting like tidy_parse_file().

config

The config config can be passed either as an array or as a string. If a string is passed, it is interpreted as the name of the configuration file, otherwise, it is interpreted as the options themselves.

For an explanation about each option, visit » http://tidy.sourceforge.net/docs/quickref.html.

encoding

The encoding parameter sets the encoding for input/output documents. The possible values for encoding are: ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5, and shiftjis.

use_include_path

Search for the file in the include_path.

Возвращаемые значения

Returns the new tidy instance.

Примеры

Пример #1 tidy::__construct() example

<?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 "The following errors were detected:\n";
    echo $tidy->errorBuffer;
}

?>

Результат выполнения данного примера:

The following errors were detected:
line 8 column 14 - Error: <bt> is not recognized!
line 8 column 14 - Warning: discarding unexpected <bt>

Смотрите также

  • tidy::parseFile() - Parse markup in file or URI
  • tidy::parseString() - Parse a document stored in a string
tidy::CleanRepair
tidy::diagnose
Tidy


Run configured diagnostics on parsed and repaired markup

tidy::__construct
tidy::getConfig
Tidy
PHP Manual

tidy::diagnose

tidy_diagnose

(PHP 5, PECL tidy >= 0.5.2)

tidy::diagnose -- tidy_diagnose — Run configured diagnostics on parsed and repaired markup

Описание

Procedural style

bool tidy_diagnose ( tidy $object )

Object oriented style

bool tidy::diagnose ( void )

Runs diagnostic tests on the given tidy object , adding some more information about the document in the error buffer.

Список параметров

object

The Tidy object.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 tidy::diagnose() example

<?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();

// note the difference between the two outputs
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


Get current Tidy configuration

tidy::diagnose
tidy::htmlver
Tidy
PHP Manual

tidy::getConfig

tidy_get_config

(PHP 5, PECL tidy >= 0.7.0)

tidy::getConfig -- tidy_get_config — Get current Tidy configuration

Описание

Procedural style

array tidy_get_config ( tidy $object )

Object oriented style

array tidy::getConfig ( void )

Gets the list of the configuration options in use by the given tidy object .

Список параметров

object

The Tidy object.

Возвращаемые значения

Returns an array of configuration options.

For an explanation about each option, visit » http://tidy.sourceforge.net/docs/quickref.html.

Примеры

Пример #1 tidy::getConfig() example

<?php
$html = '<p>test</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::resetConfig()
  • tidy::saveConfig()
tidy::diagnose
tidy::htmlver
Tidy


Get the Detected HTML version for the specified document

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 — Get the Detected HTML version for the specified document

Описание

Procedural style

int tidy_get_html_ver ( tidy $object )

Object oriented style

int tidy::getHtmlVer ( void )

Returns the detected HTML version for the specified tidy object .

Список параметров

object

The Tidy object.

Возвращаемые значения

Returns the detected HTML version.

Внимание

This function is not yet implemented in the Tidylib itself, so it always return 0.

tidy::getConfig
tidy::getOpt
Tidy


Returns the value of the specified configuration option for the tidy document

tidy::htmlver
tidy::getoptdoc
Tidy
PHP Manual

tidy::getOpt

tidy_getopt

(PHP 5, PECL tidy >= 0.5.2)

tidy::getOpt -- tidy_getopt — Returns the value of the specified configuration option for the tidy document

Описание

Procedural style

mixed tidy_getopt ( tidy $object , string $option )

Object oriented style

mixed tidy::getOpt ( string $option )

Returns the value of the specified option for the specified tidy object .

Список параметров

object

The Tidy object.

option

You will find a list with each configuration option and their types at: » http://tidy.sourceforge.net/docs/quickref.html.

Возвращаемые значения

Returns the value of the specified option . The return type depends on the type of the specified one.

Примеры

Пример #1 tidy_getopt() example

<?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>';

$config = array('accessibility-check' => 3,
                'alt-text' => 'some 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) "some text"

tidy::htmlver
tidy::getoptdoc
Tidy


Returns the documentation for the given option name

tidy::getOpt
tidy::getRelease
Tidy
PHP Manual

tidy::getoptdoc

tidy_get_opt_doc

(PHP 5 >= 5.1.0)

tidy::getoptdoc -- tidy_get_opt_doc — Returns the documentation for the given option name

Описание

Procedural style

string tidy_get_opt_doc ( tidy $object , string $optname )

Object oriented style

string tidy::getOptDoc ( string $optname )

tidy_get_opt_doc() returns the documentation for the given option name.

Замечание: You need at least libtidy from 25 April, 2005 for this function be available.

Список параметров

object

The Tidy object.

optname

The option name

Возвращаемые значения

Returns a string if the option exists and has documentation available, or FALSE otherwise.

Примеры

Пример #1 Print all options along with their documentation and default value

<?php

$tidy = new tidy;
$config = $tidy->getConfig();

ksort($config);

foreach ($config as $opt => $val) {

    if (!$doc = $tidy->getOptDoc($opt))
        $doc = 'no documentation available!';

    $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() - Get current Tidy configuration
  • tidy::getopt() - Returns the value of the specified configuration option for the tidy document

tidy::getOpt
tidy::getRelease
Tidy


Get release date (version) for Tidy library

tidy::getoptdoc
tidy::getStatus
Tidy
PHP Manual

tidy::getRelease

tidy_get_release

(PHP 5, PECL tidy >= 0.5.2)

tidy::getRelease -- tidy_get_release — Get release date (version) for Tidy library

Описание

Procedural style

string tidy_get_release ( void )

Object oriented style

string tidy::getRelease ( void )

Gets the release date of the Tidy library.

Возвращаемые значения

Returns a string with the release date of the Tidy library.

tidy::getoptdoc
tidy::getStatus
Tidy


Get status of specified document

tidy::getRelease
tidy::head
Tidy
PHP Manual

tidy::getStatus

tidy_get_status

(PHP 5, PECL tidy >= 0.5.2)

tidy::getStatus -- tidy_get_status — Get status of specified document

Описание

Procedural style

int tidy_get_status ( tidy $object )

Object oriented style

int tidy::getStatus ( void )

Returns the status for the specified tidy object .

Список параметров

object

The Tidy object.

Возвращаемые значения

Returns 0 if no error/warning was raised, 1 for warnings or accessibility errors, or 2 for errors.

Примеры

Пример #1 tidy::getStatus() example

<?php
$html = '<p>paragraph</i>';
$tidy = new tidy();
$tidy->parseString($html);

$tidy2 = new tidy();
$html2 = '<bogus>test</bogus>';
$tidy2->parseString($html2);

echo $tidy->getStatus(); //1

echo $tidy2->getStatus(); //2
?>

tidy::getRelease
tidy::head
Tidy


Returns a tidyNode object starting from the

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 — Returns a tidyNode object starting from the <head> tag of the tidy parse tree

Описание

Procedural style

tidyNode tidy_get_head ( tidy $object )

Object oriented style

tidyNode tidy::head ( void )

Returns a tidyNode object starting from the <head> tag of the tidy parse tree.

Список параметров

object

The Tidy object.

Возвращаемые значения

Returns the tidyNode object.

Примеры

Пример #1 tidy::head() example

<?php
$html = '
<html>
  <head>
    <title>test</title>
  </head>
  <body>
    <p>paragraph</p>
  </body>
</html>';

$tidy = tidy_parse_string($html);

$head = $tidy->head();
echo $head->value;
?>

Результат выполнения данного примера:

<head>
<title>test</title>
</head>

Примечания

Замечание: Эта функция доступна только в Движке Zend 2, что означает PHP >= 5.0.0.

Смотрите также

  • tidy::body() - Returns a tidyNode object starting from the tag of the tidy parse tree
  • tidy::html() - Returns a tidyNode object starting from the tag of the tidy parse tree
tidy::getStatus
tidy::html
Tidy


Returns a tidyNode object starting from the

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 — Returns a tidyNode object starting from the <html> tag of the tidy parse tree

Описание

Procedural style

tidyNode tidy_get_html ( tidy $object )

Object oriented style

tidyNode tidy::html ( void )

Returns a tidyNode object starting from the <html> tag of the tidy parse tree.

Список параметров

object

The Tidy object.

Возвращаемые значения

Returns the tidyNode object.

Примеры

Пример #1 tidy::html() example

<?php
$html = '
<html>
  <head>
    <title>test</title>
  </head>
  <body>
    <p>paragraph</p>
  </body>
</html>';

$tidy = tidy_parse_string($html);

$html = $tidy::html($tidy);
echo $html->value;
?>

Результат выполнения данного примера:

<html>
<head>
<title>test</title>
</head>
<body>
<p>paragraph</p>
</body>
</html>

Примечания

Замечание: Эта функция доступна только в Движке Zend 2, что означает PHP >= 5.0.0.

Смотрите также

  • tidy::body() - Returns a tidyNode object starting from the tag of the tidy parse tree
  • tidy::head() - Returns a tidyNode object starting from the tag of the tidy parse tree
tidy::head
tidy::isXhtml
Tidy


Indicates if the document is a XHTML document

tidy::html
tidy::isXml
Tidy
PHP Manual

tidy::isXhtml

tidy_is_xhtml

(PHP 5, PECL tidy >= 0.5.2)

tidy::isXhtml -- tidy_is_xhtml — Indicates if the document is a XHTML document

Описание

Procedural style

bool tidy_is_xhtml ( tidy $object )

Object oriented style

bool tidy::isXhtml ( void )

Tells if the document is a XHTML document.

Список параметров

object

The Tidy object.

Возвращаемые значения

This function returns TRUE if the specified tidy object is a XHTML document, or FALSE otherwise.

Внимание

This function is not yet implemented in the Tidylib itself, so it always return FALSE.

tidy::html
tidy::isXml
Tidy


Indicates if the document is a generic (non HTML/XHTML) XML document

tidy::isXhtml
tidy::parseFile
Tidy
PHP Manual

tidy::isXml

tidy_is_xml

(PHP 5, PECL tidy >= 0.5.2)

tidy::isXml -- tidy_is_xml — Indicates if the document is a generic (non HTML/XHTML) XML document

Описание

Procedural style

bool tidy_is_xml ( tidy $object )

Object oriented style

bool tidy::isXml ( void )

Tells if the document is a generic (non HTML/XHTML) XML document.

Список параметров

object

The Tidy object.

Возвращаемые значения

This function returns TRUE if the specified tidy object is a generic XML document (non HTML/XHTML), or FALSE otherwise.

Внимание

This function is not yet implemented in the Tidylib itself, so it always return FALSE.

tidy::isXhtml
tidy::parseFile
Tidy


Parse markup in file or 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 — Parse markup in file or URI

Описание

Procedural style

tidy tidy_parse_file ( string $filename [, mixed $config [, string $encoding [, bool $use_include_path= false ]]] )

Object oriented style

bool tidy::parseFile ( string $filename [, mixed $config [, string $encoding [, bool $use_include_path= false ]]] )

Parses the given file.

Список параметров

filename

If the filename parameter is given, this function will also read that file and initialize the object with the file, acting like tidy_parse_file().

config

The config config can be passed either as an array or as a string. If a string is passed, it is interpreted as the name of the configuration file, otherwise, it is interpreted as the options themselves.

For an explanation about each option, see » http://tidy.sourceforge.net/docs/quickref.html.

encoding

The encoding parameter sets the encoding for input/output documents. The possible values for encoding are: ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5, and shiftjis.

use_include_path

Search for the file in the include_path.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 tidy::parseFile() example

<?php
$tidy = new tidy();
$tidy->parseFile('file.html');

$tidy->cleanRepair();

if(!empty($tidy->errorBuffer)) {
    echo "The following errors or warnings occured:\n";
    echo $tidy->errorBuffer;
}
?>

Примечания

Замечание: Опциональные параметры config_options и enconding были добавлены в Tidy 2.0.

Смотрите также

  • tidy::parsestring() - Parse a document stored in a string
  • tidy::repairfile() - Repair a file and return it as a string
  • tidy::repairstring() - Repair a string using an optionally provided configuration file
tidy::isXml
tidy::parseString
Tidy


Parse a document stored in a string

tidy::parseFile
tidy::repairFile
Tidy
PHP Manual

tidy::parseString

tidy_parse_string

(PHP 5, PECL tidy >= 0.5.2)

tidy::parseString -- tidy_parse_string — Parse a document stored in a string

Описание

Procedural style

tidy tidy_parse_string ( string $input [, mixed $config [, string $encoding ]] )

Object oriented style

bool tidy::parseString ( string $input [, mixed $config [, string $encoding ]] )

Parses a document stored in a string.

Список параметров

input

The data to be parsed.

config

The config config can be passed either as an array or as a string. If a string is passed, it is interpreted as the name of the configuration file, otherwise, it is interpreted as the options themselves.

For an explanation about each option, visit » http://tidy.sourceforge.net/docs/quickref.html.

encoding

The encoding parameter sets the encoding for input/output documents. The possible values for encoding are: ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5, and shiftjis.

Возвращаемые значения

Returns a new tidy instance.

Примеры

Пример #1 tidy::parseString() example

<?php
ob_start();
?>

<html>
  <head>
   <title>test</title>
  </head>
  <body>
   <p>error<br>another line</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>
      test
    </title>
  </head>
  <body>
    <p>
      error<br />
      another line
    </p>
  </body>
</html>

Примечания

Замечание: Опциональные параметры config_options и enconding были добавлены в Tidy 2.0.

Смотрите также

  • tidy::parseFile() - Parse markup in file or URI
  • tidy::repairFile() - Repair a file and return it as a string
  • tidy::repairString() - Repair a string using an optionally provided configuration file
tidy::parseFile
tidy::repairFile
Tidy


Repair a file and return it as a string

tidy::parseString
tidy::repairString
Tidy
PHP Manual

tidy::repairFile

tidy_repair_file

(PHP 5, PECL tidy >= 0.7.0)

tidy::repairFile -- tidy_repair_file — Repair a file and return it as a string

Описание

Procedural style

string tidy_repair_file ( string $filename [, mixed $config [, string $encoding [, bool $use_include_path= false ]]] )

Object oriented style

string tidy::repairFile ( string $filename [, mixed $config [, string $encoding [, bool $use_include_path= false ]]] )

Repairs the given file and returns it as a string.

Список параметров

filename

The file to be repaired.

config

The config config can be passed either as an array or as a string. If a string is passed, it is interpreted as the name of the configuration file, otherwise, it is interpreted as the options themselves.

Check http://tidy.sourceforge.net/docs/quickref.html for an explanation about each option.

encoding

The encoding parameter sets the encoding for input/output documents. The possible values for encoding are: ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5, and shiftjis.

use_include_path

Search for the file in the include_path.

Возвращаемые значения

Returns the repaired contents as a string.

Примеры

Пример #1 tidy::repairFile() example

<?php
$file = 'file.html';

$tidy = new tidy();
$repaired = $tidy->repairfile($file);
rename($file, $file . '.bak');

file_put_contents($file, $repaired);
?>

Примечания

Замечание: Опциональные параметры config_options и enconding были добавлены в Tidy 2.0.

Смотрите также

  • tidy::parseFile() - Parse markup in file or URI
  • tidy::parseString() - Parse a document stored in a string
  • tidy::repairString() - Repair a string using an optionally provided configuration file
tidy::parseString
tidy::repairString
Tidy


Repair a string using an optionally provided configuration file

tidy::repairFile
tidy::root
Tidy
PHP Manual

tidy::repairString

tidy_repair_string

(PHP 5, PECL tidy >= 0.7.0)

tidy::repairString -- tidy_repair_string — Repair a string using an optionally provided configuration file

Описание

Procedural style

string tidy_repair_string ( string $data [, mixed $config [, string $encoding ]] )

Object oriented style

string tidy::repairString ( string $data [, mixed $config [, string $encoding ]] )

Repairs the given string.

Список параметров

data

The data to be repaired.

config

The config config can be passed either as an array or as a string. If a string is passed, it is interpreted as the name of the configuration file, otherwise, it is interpreted as the options themselves.

Check http://tidy.sourceforge.net/docs/quickref.html for an explanation about each option.

encoding

The encoding parameter sets the encoding for input/output documents. The possible values for encoding are: ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5, and shiftjis.

Возвращаемые значения

Returns the repaired string.

Примеры

Пример #1 tidy::repairString() example

<?php
ob_start();
?>

<html>
  <head>
    <title>test</title>
  </head>
  <body>
    <p>error</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>test</title>
</head>
<body>
<p>error</p>
</body>
</html>

Примечания

Замечание: Опциональные параметры config_options и enconding были добавлены в Tidy 2.0.

Смотрите также

  • tidy::parseFile() - Parse markup in file or URI
  • tidy::parseString() - Parse a document stored in a string
  • tidy::repairFile() - Repair a file and return it as a string
tidy::repairFile
tidy::root
Tidy


Returns a tidyNode object representing the root of the tidy parse tree

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 — Returns a tidyNode object representing the root of the tidy parse tree

Описание

Procedural style

tidyNode tidy_get_root ( tidy $object )

Object oriented style

tidyNode tidy::root ( void )

Returns a tidyNode object representing the root of the tidy parse tree.

Список параметров

object

The Tidy object.

Возвращаемые значения

Returns the tidyNode object.

Примеры

Пример #1 tidy::root() example

<?php

$html = <<< HTML
<html><body>

<p>paragraph</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
........"paragraph"
......br

Примечания

Замечание: Эта функция доступна только в Движке Zend 2, что означает PHP >= 5.0.0.

tidy::repairString
TidyNode
Tidy


The TidyNode class

Введение

An HTML node in an HTML file, as detected by tidy.

Class synopsis

TidyNode
TidyNode {
/* Properties */
/* Methods */
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

The HTML representation of the node, including the surrounding tags.

name

The name of the HTML node

type

The type of the tag (one of the constants above, e.g. TIDY_NODETYPE_PHP)

line

The line number at which the tags is located in the file

column

The column number at which the tags is located in the file

proprietary

Indicates if the node is a proprietary tag

id

The ID of the tag (one of the constants above, e.g. TIDY_TAG_FRAME)

attribute

An array of string, representing the attributes names (as keys) of the current node.

child

An array of TidyNode, representing the children of the current node.

Версия | Описание
5.1.0 | line, column and proprietary were added

Содержание

  • tidyNode::getParent — Returns the parent node of the current node
  • tidyNode::hasChildren — Checks if a node has children
  • tidyNode::hasSiblings — Checks if a node has siblings
  • tidyNode::isAsp — Checks if this node is ASP
  • tidyNode::isComment — Checks if a node represents a comment
  • tidyNode::isHtml — Checks if a node is part of a HTML document
  • tidyNode::isJste — Checks if this node is JSTE
  • tidyNode::isPhp — Checks if a node is PHP
  • tidyNode::isText — Checks if a node represents text (no markup)
tidy::root
tidyNode::getParent
Tidy


Returns the parent node of the current node

TidyNode
tidyNode::hasChildren
TidyNode
PHP Manual

tidyNode::getParent

(PHP 5 >= 5.2.2)

tidyNode::getParent — Returns the parent node of the current node

Описание

tidyNode tidyNode::getParent ( void )

Returns the parent node of the current node.

Примеры

Пример #1 tidyNode::hasChildren() example

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>title</title>'; ?>
<#
  /* JSTE code */
  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"

Возвращаемые значения

Returns a tidyNode if the node has a parent, or NULL otherwise.

TidyNode
tidyNode::hasChildren
TidyNode


Checks if a node has children

tidyNode::getParent
tidyNode::hasSiblings
TidyNode
PHP Manual

tidyNode::hasChildren

(PHP 5 >= 5.0.1)

tidyNode::hasChildren — Checks if a node has children

Описание

bool tidyNode::hasChildren ( void )

Tells if the node has children.

Возвращаемые значения

Returns TRUE if the node has children, FALSE otherwise.

Примеры

Пример #1 tidyNode::hasChildren() example

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>title</title>'; ?>
<#
  /* JSTE code */
  alert('Hello World');
#>
</head>
<body>

<?php
  // PHP code
  echo 'hello world!';
?>

<%
  /* ASP code */
  response.write("Hello World!")
%>

<!-- Comments -->
Hello World
</body></html>
Outside HTML
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

// the head tag
var_dump($tidy->html()->child[0]->hasChildren());

// the php inside the head tag
var_dump($tidy->html()->child[0]->child[0]->hasChildren());

?>

Результат выполнения данного примера:

bool(true)
bool(false)

Примечания

Замечание: This function was named tidy_node::has_children() in PHP 4/Tidy 1.

tidyNode::getParent
tidyNode::hasSiblings
TidyNode


Checks if a node has siblings

tidyNode::hasChildren
tidyNode::isAsp
TidyNode
PHP Manual

tidyNode::hasSiblings

(PHP 5 >= 5.0.1)

tidyNode::hasSiblings — Checks if a node has siblings

Описание

bool tidyNode::hasSiblings ( void )

Tells if the node has siblings.

Возвращаемые значения

Returns TRUE if the node has siblings, FALSE otherwise.

Примеры

Пример #1 tidyNode::hasSiblings() example

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>title</title>'; ?>
<#
  /* JSTE code */
  alert('Hello World');
#>
</head>
<body>

<?php
  // PHP code
  echo 'hello world!';
?>

<%
  /* ASP code */
  response.write("Hello World!")
%>

<!-- Comments -->
Hello World
</body></html>
Outside HTML
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

// the html tag
var_dump($tidy->html()->hasSiblings());

// the head tag
var_dump($tidy->html()->child[0]->hasSiblings());

?>

Результат выполнения данного примера:

bool(false)
bool(true)

Примечания

Замечание: This function was named tidy_node::has_siblings() in PHP 4/Tidy 1.

tidyNode::hasChildren
tidyNode::isAsp
TidyNode


Checks if this node is ASP

tidyNode::hasSiblings
tidyNode::isComment
TidyNode
PHP Manual

tidyNode::isAsp

(PHP 5 >= 5.0.1)

tidyNode::isAsp — Checks if this node is ASP

Описание

bool tidyNode::isAsp ( void )

Tells whether the current node is ASP.

Возвращаемые значения

Returns TRUE if the node is ASP, FALSE otherwise.

Примеры

Пример #1 Extract ASP code from a mixed HTML document

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>title</title>'; ?>
<#
  /* JSTE code */
  alert('Hello World');
#>
</head>
<body>

<?php
  // PHP code
  echo 'hello world!';
?>

<%
  /* ASP code */
  response.write("Hello World!")
%>

<!-- Comments -->
Hello World
</body></html>
Outside HTML
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

get_nodes($tidy->html(), 'asp');

function get_nodes($node, $node_type) {

    // check if the current node is of requested type
    if($node->{"is$node_type"}()) {
        echo "\n\n# $node_type node #" . ++$GLOBALS['num'] . "\n";
        echo $node->value;
    }

    // check if the current node has childrens
    if($node->hasChildren()) {
        foreach($node->child as $child) {
            get_nodes($child, $node_type);
        }
    }
}

?>

Результат выполнения данного примера:

# asp node #1
<%
  /* ASP code */
  response.write("Hello World!")
%>

Примечания

Замечание: This function was named tidy_node::is_asp() in PHP 4/Tidy 1.

tidyNode::hasSiblings
tidyNode::isComment
TidyNode


Checks if a node represents a comment

tidyNode::isAsp
tidyNode::isHtml
TidyNode
PHP Manual

tidyNode::isComment

(PHP 5 >= 5.0.1)

tidyNode::isComment — Checks if a node represents a comment

Описание

bool tidyNode::isComment ( void )

Tells if the node is a comment.

Возвращаемые значения

Returns TRUE if the node is a comment, FALSE otherwise.

Примеры

Пример #1 Extract comments from a mixed HTML document

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>title</title>'; ?>
<#
  /* JSTE code */
  alert('Hello World');
#>
</head>
<body>

<?php
  // PHP code
  echo 'hello world!';
?>

<%
  /* ASP code */
  response.write("Hello World!")
%>

<!-- Comments -->
Hello World
</body></html>
Outside HTML
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

get_nodes($tidy->html(), 'comment');

function get_nodes($node, $node_type) {

    // check if the current node is of requested type
    if($node->{"is$node_type"}()) {
        echo "\n\n# $node_type node #" . ++$GLOBALS['num'] . "\n";
        echo $node->value;
    }

    // check if the current node has childrens
    if($node->hasChildren()) {
        foreach($node->child as $child) {
            get_nodes($child, $node_type);
        }
    }
}

?>

Результат выполнения данного примера:

# jste node #1
<#
  /* JSTE code */
  alert('Hello World');
#>

/*
var_dump($tidy->html()->child[0]->hasChildren());
var_dump($tidy->html()->child[0]->child[0]->hasChildren());
*/

Примечания

Замечание: This function was named tidy_node::is_comment() in PHP 4/Tidy 1.

tidyNode::isAsp
tidyNode::isHtml
TidyNode


Checks if a node is part of a HTML document

tidyNode::isComment
tidyNode::isJste
TidyNode
PHP Manual

tidyNode::isHtml

(PHP 5 >= 5.0.1)

tidyNode::isHtml — Checks if a node is part of a HTML document

Описание

bool tidyNode::isHtml ( void )

Tells if the node is part of HTML document.

Возвращаемые значения

Returns TRUE if the node is part of a HTML document, FALSE otherwise.

Примеры

Пример #1 Extract HTML code from a mixed HTML document

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>title</title>'; ?>
<#
  /* JSTE code */
  alert('Hello World');
#>
</head>
<body>

<?php
  // PHP code
  echo 'hello world!';
?>

<%
  /* ASP code */
  response.write("Hello World!")
%>

<!-- Comments -->
Hello World
</body></html>
Outside HTML
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

get_nodes($tidy->html(), 'text');

function get_nodes($node, $node_type) {
    // check if the current node is of requested type
    if($node->{"is$node_type"}()) {
        echo "\n\n# $node_type node #" . ++$GLOBALS['num'] . "\n";
        echo $node->value;
    }

    // check if the current node has childrens
    if($node->hasChildren()) {
        foreach($node->child as $child) {
            get_nodes($child, $node_type);
        }
    }
}

?>

Результат выполнения данного примера:

# html node #1
<html>
<head>
<?php echo '<title>title</title>'; ?><#
  /* JSTE code */
  alert('Hello World');
#>
<title></title>
</head>
<body>
<?php
  // PHP code
  echo 'hello world!';
?><%
  /* ASP code */
  response.write("Hello World!")
%><!-- Comments -->
Hello WorldOutside HTML
</body>
</html>

# html node #2
<head>
<?php echo '<title>title</title>'; ?><#
  /* JSTE code */
  alert('Hello World');
#>
<title></title>
</head>

# html node #3
<?php echo '<title>title</title>'; ?>

# html node #4
<#
  /* JSTE code */
  alert('Hello World');
#>

# html node #5
<title></title>

# html node #6
<body>
<?php
  // PHP code
  echo 'hello world!';
?><%
  /* ASP code */
  response.write("Hello World!")
%><!-- Comments -->
Hello WorldOutside HTML
</body>

# html node #7
<?php
  // PHP code
  echo 'hello world!';
?>

# html node #8
<%
  /* ASP code */
  response.write("Hello World!")
%>

# html node #9
<!-- Comments -->

# html node #10
Hello World

# html node #11
Outside HTML

Примечания

Замечание: This function was named tidy_node::is_html() in PHP 4/Tidy 1.

tidyNode::isComment
tidyNode::isJste
TidyNode


Checks if this node is JSTE

tidyNode::isHtml
tidyNode::isPhp
TidyNode
PHP Manual

tidyNode::isJste

(PHP 5 >= 5.0.1)

tidyNode::isJste — Checks if this node is JSTE

Описание

bool tidyNode::isJste ( void )

Tells if the node is JSTE.

Возвращаемые значения

Returns TRUE if the node is JSTE, FALSE otherwise.

Примеры

Пример #1 Extract JSTE code from a mixed HTML document

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>title</title>'; ?>
<#
  /* JSTE code */
  alert('Hello World');
#>
</head>
<body>

<?php
  // PHP code
  echo 'hello world!';
?>

<%
  /* ASP code */
  response.write("Hello World!")
%>

<!-- Comments -->
Hello World
</body></html>
Outside HTML
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

get_nodes($tidy->html(), 'text');

function get_nodes($node, $node_type) {

    // check if the current node is of requested type
    if($node->{"is$node_type"}()) {
        echo "\n\n# $node_type node #" . ++$GLOBALS['num'] . "\n";
        echo $node->value;
    }

    // check if the current node has childrens
    if($node->hasChildren()) {
        foreach($node->child as $child) {
            get_nodes($child, $node_type);
        }
    }
}

?>

Результат выполнения данного примера:

# jste node #1
<#
  /* JSTE code */
  alert('Hello World');
#>

/*
var_dump($tidy->html()->child[0]->hasChildren());
var_dump($tidy->html()->child[0]->child[0]->hasChildren());
*/

Примечания

Замечание: This function was named tidy_node::is_jste() in PHP 4/Tidy 1.

tidyNode::isHtml
tidyNode::isPhp
TidyNode


Checks if a node is PHP

tidyNode::isJste
tidyNode::isText
TidyNode
PHP Manual

tidyNode::isPhp

(PHP 5 >= 5.0.1)

tidyNode::isPhp — Checks if a node is PHP

Описание

bool tidyNode::isPhp ( void )

Tells if the node is PHP.

Возвращаемые значения

Returns TRUE if the current node is PHP code, FALSE otherwise.

Примеры

Пример #1 Extract PHP code from a mixed HTML document

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>title</title>'; ?>
<#
  /* JSTE code */
  alert('Hello World');
#>
</head>
<body>

<?php
  // PHP code
  echo 'hello world!';
?>

<%
  /* ASP code */
  response.write("Hello World!")
%>

<!-- Comments -->
Hello World
</body></html>
Outside HTML
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

get_nodes($tidy->html(), 'php');

function get_nodes($node, $node_type) {

    // check if the current node is of requested type
    if($node->{"is$node_type"}()) {
        echo "\n\n# $node_type node #" . ++$GLOBALS['num'] . "\n";
        echo $node->value;
    }

    // check if the current node has childrens
    if($node->hasChildren()) {
        foreach($node->child as $child) {
            get_nodes($child, $node_type);
        }
    }
}

?>

Результат выполнения данного примера:

# php node #1
<?php echo '<title>title</title>'; ?>

# php node #2
<?php
  // PHP code
  echo 'hello world!';
?>

Примечания

Замечание: This function was named tidy_node::is_php() in PHP 4/Tidy 1.

tidyNode::isJste
tidyNode::isText
TidyNode


Checks if a node represents text (no markup)

tidyNode::isPhp
Tidy Функции
TidyNode
PHP Manual

tidyNode::isText

(PHP 5 >= 5.0.1)

tidyNode::isText — Checks if a node represents text (no markup)

Описание

bool tidyNode::isText ( void )

Tells if the node represents a text (without any markup).

Возвращаемые значения

Returns TRUE if the node represent a text, FALSE otherwise.

Примеры

Пример #1 Extract text from a mixed HTML document

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>title</title>'; ?>
<#
  /* JSTE code */
  alert('Hello World');
#>
</head>
<body>

<?php
  // PHP code
  echo 'hello world!';
?>

<%
  /* ASP code */
  response.write("Hello World!")
%>

<!-- Comments -->
Hello World
</body></html>
Outside HTML
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

get_nodes($tidy->html(), 'text');

function get_nodes($node, $node_type) {

    // check if the current node is of requested type
    if($node->{"is$node_type"}()) {
        echo "\n\n# $node_type node #" . ++$GLOBALS['num'] . "\n";
        echo $node->value;
    }

    // check if the current node has childrens
    if($node->hasChildren()) {
        foreach($node->child as $child) {
            get_nodes($child, $node_type);
        }
    }
}

?>

Результат выполнения данного примера:

# text node #1
Hello World

# text node #2
Outside HTML

Примечания

Замечание: This function was named tidy_node::is_text() in PHP 4/Tidy 1.

tidyNode::isPhp
Tidy Функции
TidyNode


Tidy Функции

Содержание

  • ob_tidyhandler — ob_start callback function to repair the buffer
  • tidy_access_count — Returns the Number of Tidy accessibility warnings encountered for specified document
  • tidy_config_count — Returns the Number of Tidy configuration errors encountered for specified document
  • tidy_error_count — Returns the Number of Tidy errors encountered for specified document
  • tidy_get_error_buffer — Return warnings and errors which occurred parsing the specified document
  • tidy_get_output — Return a string representing the parsed tidy markup
  • tidy_load_config — Load an ASCII Tidy configuration file with the specified encoding
  • tidy_reset_config — Restore Tidy configuration to default values
  • tidy_save_config — Save current settings to named file
  • tidy_set_encoding — Set the input/output character encoding for parsing markup
  • tidy_setopt — Updates the configuration settings for the specified tidy document
  • tidy_warning_count — Returns the Number of Tidy warnings encountered for specified document
tidyNode::isText
ob_tidyhandler
Tidy


ob_start callback function to repair the buffer

Tidy Функции
tidy_access_count
Tidy Функции
PHP Manual

ob_tidyhandler

(PHP 5)

ob_tidyhandler — ob_start callback function to repair the buffer

Описание

string ob_tidyhandler ( string $input [, int $mode ] )

Callback function for ob_start() to repair the buffer.

Список параметров

input

The buffer.

mode

The buffer mode.

Возвращаемые значения

Returns the modified buffer.

Примеры

Пример #1 ob_tidyhandler() example

<?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() - Turn on output buffering

Tidy Функции
tidy_access_count
Tidy Функции


Returns the Number of Tidy accessibility warnings encountered for specified document

ob_tidyhandler
tidy_config_count
Tidy Функции
PHP Manual

tidy_access_count

(PHP 5, PECL tidy >= 0.5.2)

tidy_access_count — Returns the Number of Tidy accessibility warnings encountered for specified document

Описание

int tidy_access_count ( tidy $object )

tidy_access_count() returns the number of accessibility warnings found for the specified document.

Список параметров

object

The Tidy object.

Возвращаемые значения

Returns the number of warnings.

Примеры

Пример #1 tidy_access_count() example

<?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>';

// select the accessibility check level: 1, 2 or 3
$config = array('accessibility-check' => 3);

$tidy = new tidy();
$tidy->parseString($html, $config);
$tidy->CleanRepair();

/* Never forget to call this! */
$tidy->diagnose();

echo tidy_access_count($tidy); //5

?>

Примечания

Замечание: Due to the design of the TidyLib, you must call tidy_diagnose() before tidy_access_count() or it will return always 0. You must also need to enable the accessibility-check option.

Смотрите также

  • tidy_error_count() - Returns the Number of Tidy errors encountered for specified document
  • tidy_warning_count() - Returns the Number of Tidy warnings encountered for specified document

ob_tidyhandler
tidy_config_count
Tidy Функции


Returns the Number of Tidy configuration errors encountered for specified document

tidy_access_count
tidy_error_count
Tidy Функции
PHP Manual

tidy_config_count

(PHP 5, PECL tidy >= 0.5.2)

tidy_config_count — Returns the Number of Tidy configuration errors encountered for specified document

Описание

int tidy_config_count ( tidy $object )

Returns the number of errors encountered in the configuration of the specified tidy object .

Список параметров

object

The Tidy object.

Возвращаемые значения

Returns the number of errors.

Примеры

Пример #1 tidy_config_count() example

<?php
$html = '<p>test</I>';

$config = array('doctype' => 'bogus');

$tidy = tidy_parse_string($html, $config);

/* This outputs 1, because 'bogus' isn't a valid doctype */
echo tidy_config_count($tidy);
?>

tidy_access_count
tidy_error_count
Tidy Функции


Returns the Number of Tidy errors encountered for specified document

tidy_config_count
tidy_get_error_buffer
Tidy Функции
PHP Manual

tidy_error_count

(PHP 5, PECL tidy >= 0.5.2)

tidy_error_count — Returns the Number of Tidy errors encountered for specified document

Описание

int tidy_error_count ( tidy $object )

Returns the number of Tidy errors encountered for the specified document.

Список параметров

object

The Tidy object.

Возвращаемые значения

Returns the number of errors.

Примеры

Пример #1 tidy_error_count() example

<?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() - Returns the Number of Tidy accessibility warnings encountered for specified document
  • tidy_warning_count() - Returns the Number of Tidy warnings encountered for specified document
tidy_config_count
tidy_get_error_buffer
Tidy Функции


Return warnings and errors which occurred parsing the specified document

tidy_error_count
tidy_get_output
Tidy Функции
PHP Manual

tidy_get_error_buffer

(PHP 5, PECL tidy >= 0.5.2)

tidy_get_error_buffer — Return warnings and errors which occurred parsing the specified document

Описание

Procedural style:

string tidy_get_error_buffer ( tidy $object )

Object oriented style (property):

tidy
string $errorBuffer;

Returns warnings and errors which occurred parsing the specified document.

Список параметров

object

The Tidy object.

Возвращаемые значения

Returns the error buffer as a string.

Примеры

Пример #1 tidy_get_error_buffer() example

<?php
$html = '<p>paragraph</p>';

$tidy = tidy_parse_string($html);

echo tidy_get_error_buffer($tidy);
/* or in OO: */
echo $tidy->errorBuffer;
?>

Результат выполнения данного примера:

line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 1 column 1 - Warning: inserting missing 'title' element

Смотрите также

  • tidy_access_count() - Returns the Number of Tidy accessibility warnings encountered for specified document
  • tidy_error_count() - Returns the Number of Tidy errors encountered for specified document
  • tidy_warning_count() - Returns the Number of Tidy warnings encountered for specified document
tidy_error_count
tidy_get_output
Tidy Функции


Return a string representing the parsed tidy markup

tidy_get_error_buffer
tidy_load_config
Tidy Функции
PHP Manual

tidy_get_output

(PHP 5, PECL tidy >= 0.5.2)

tidy_get_output — Return a string representing the parsed tidy markup

Описание

string tidy_get_output ( tidy $object )

Gets a string with the repaired html.

Список параметров

object

The Tidy object.

Возвращаемые значения

Returns the parsed tidy markup.

Примеры

Пример #1 tidy_get_output() example

<?php

$html = '<p>paragraph</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>paragraph</p>
</body>
</html>

tidy_get_error_buffer
tidy_load_config
Tidy Функции


Load an ASCII Tidy configuration file with the specified encoding

tidy_get_output
tidy_reset_config
Tidy Функции
PHP Manual

tidy_load_config

(PECL tidy >= 0.5.2)

tidy_load_config — Load an ASCII Tidy configuration file with the specified encoding

Описание

void tidy_load_config ( string $filename , string $encoding )

Loads a Tidy configuration file, with the specified encoding .

Список параметров

filename

encoding

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примечания

Замечание: Эта функция доступна только в Tidy 1.0. С приходом Tidy 2.0 она стала ненужной и была удалена.

tidy_get_output
tidy_reset_config
Tidy Функции


Restore Tidy configuration to default values

tidy_load_config
tidy_save_config
Tidy Функции
PHP Manual

tidy_reset_config

(PECL tidy >= 0.7.0)

tidy_reset_config — Restore Tidy configuration to default values

Описание

bool tidy_reset_config ( void )

This function restores the Tidy configuration to the default values.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание: Эта функция доступна только в Tidy 1.0. С приходом Tidy 2.0 она стала ненужной и была удалена.

tidy_load_config
tidy_save_config
Tidy Функции


Save current settings to named file

tidy_reset_config
tidy_set_encoding
Tidy Функции
PHP Manual

tidy_save_config

(PECL tidy >= 0.5.2)

tidy_save_config — Save current settings to named file

Описание

bool tidy_save_config ( string $filename )

Saves current settings to the specified file. Only non-default values are written.

Список параметров

filename

Path to the config file.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание: Эта функция доступна только в Tidy 1.0. С приходом Tidy 2.0 она стала ненужной и была удалена.

Смотрите также

  • tidy_get_config() - Get current Tidy configuration
  • tidy_getopt() - Returns the value of the specified configuration option for the tidy document
  • tidy_reset_config() - Restore Tidy configuration to default values
  • tidy_setopt() - Updates the configuration settings for the specified tidy document

tidy_reset_config
tidy_set_encoding
Tidy Функции


Set the input/output character encoding for parsing markup

tidy_save_config
tidy_setopt
Tidy Функции
PHP Manual

tidy_set_encoding

(PECL tidy >= 0.5.2)

tidy_set_encoding — Set the input/output character encoding for parsing markup

Описание

bool tidy_set_encoding ( string $encoding )

Sets the encoding for input/output documents.

Список параметров

encoding

The encoding parameter sets the encoding for input/output documents. The possible values for encoding are: ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5, and shiftjis.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание: Эта функция доступна только в Tidy 1.0. С приходом Tidy 2.0 она стала ненужной и была удалена.

tidy_save_config
tidy_setopt
Tidy Функции


Updates the configuration settings for the specified tidy document

tidy_set_encoding
tidy_warning_count
Tidy Функции
PHP Manual

tidy_setopt

(PECL tidy >= 0.5.2)

tidy_setopt — Updates the configuration settings for the specified tidy document

Описание

bool tidy_setopt ( string $option , mixed $value )

tidy_setopt() updates the specified option with a new value .

Список параметров

option

The tidy option name. A list of available configuration options may be found at: » http://tidy.sourceforge.net/docs/quickref.html.

value

The tidy option name.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 tidy_setopt() example

<?php
$html = '<p>test</i>';

$tidy = tidy_parse_string($html);

tidy_setopt('indent', FALSE);
?>

Примечания

Замечание: Эта функция доступна только в Tidy 1.0. С приходом Tidy 2.0 она стала ненужной и была удалена.

Смотрите также

  • tidy_getopt() - Returns the value of the specified configuration option for the tidy document
  • tidy_get_config() - Get current Tidy configuration
  • tidy_reset_config() - Restore Tidy configuration to default values
  • tidy_save_config() - Save current settings to named file
tidy_set_encoding
tidy_warning_count
Tidy Функции


Returns the Number of Tidy warnings encountered for specified document

tidy_setopt
Tokenizer
Tidy Функции
PHP Manual

tidy_warning_count

(PHP 5, PECL tidy >= 0.5.2)

tidy_warning_count — Returns the Number of Tidy warnings encountered for specified document

Описание

int tidy_warning_count ( tidy $object )

Returns the number of Tidy warnings encountered for the specified document.

Список параметров

object

The Tidy object.

Возвращаемые значения

Returns the number of warnings.

Примеры

Пример #1 tidy_warning_count() example

<?php
$html = '<p>test</i>
<bogustag>bogus</bogustag>';

$tidy = tidy_parse_string($html);

echo tidy_error_count($tidy) . "\n"; //1
echo tidy_warning_count($tidy) . "\n"; //5
?>

Смотрите также

  • tidy_error_count() - Returns the Number of Tidy errors encountered for specified document
  • tidy_access_count() - Returns the Number of Tidy accessibility warnings encountered for specified document

tidy_setopt
Tokenizer
Tidy Функции


Tokenizer

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • Tokenizer Функции
    • token_get_all — Split given source into PHP tokens
    • token_name — Get the symbolic name of a given PHP token
tidy_warning_count
Введение
Other Basic Extensions


Введение

The tokenizer functions provide an interface to the PHP tokenizer embedded in the Zend Engine. Using these functions you may write your own PHP source analyzing or modification tools without having to deal with the language specification at the lexical level.

See also the appendix about tokens.

Tokenizer
Установка и настройка
Tokenizer


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Tokenizer


Установка

Beginning with PHP 4.3.0 these functions are enabled by default. For older versions you have to configure and compile PHP with --enable-tokenizer. You can disable tokenizer support with --disable-tokenizer.

Версия PHP для Windows имеет встроенную поддержку данного расширения. Это означает, что для использования данных функций не требуется загрузка никаких дополнительных расширений.

Замечание: Built-in support for tokenizer is available as of PHP 4.3.0.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

When the extension has either been compiled into PHP or dynamically loaded at runtime, the tokens listed in List of Parser Tokens are defined as constants.

Типы ресурсов
Примеры
Tokenizer


Примеры

Here is a simple example PHP scripts using the tokenizer that will read in a PHP file, strip all comments from the source and print the pure code only.

Пример #1 Strip comments with the tokenizer

<?php
/*
* T_ML_COMMENT does not exist in PHP 5.
* The following three lines define it in order to
* preserve backwards compatibility.
*
* The next two lines define the PHP 5 only T_DOC_COMMENT,
* which we will mask as T_ML_COMMENT for 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)) {
       // simple 1-character token
       echo $token;
   } else {
       // token array
       list($id, $text) = $token;

       switch ($id) {
           case T_COMMENT:
           case T_ML_COMMENT: // we've defined this
           case T_DOC_COMMENT: // and this
               // no action on comments
               break;

           default:
               // anything else -> output "as is"
               echo $text;
               break;
       }
   }
}
?>
Предопределенные константы
Tokenizer Функции
Tokenizer


Tokenizer Функции

Содержание

  • token_get_all — Split given source into PHP tokens
  • token_name — Get the symbolic name of a given PHP token
Примеры
token_get_all
Tokenizer


Split given source into PHP tokens

Tokenizer Функции
token_name
Tokenizer Функции
PHP Manual

token_get_all

(PHP 4 >= 4.2.0, PHP 5)

token_get_all — Split given source into PHP tokens

Описание

array token_get_all ( string $source )

token_get_all() parses the given source string into PHP language tokens using the Zend engine's lexical scanner.

For a list of parser tokens, see List of Parser Tokens, or use token_name() to translate a token value into its string representation.

Список параметров

source

The PHP source to parse.

Возвращаемые значения

An array of token identifiers. Each individual token identifier is either a single character (i.e.: ;, ., >, !, etc...), or a three element array containing the token index in element 0, the string content of the original token in element 1 and the line number in element 2.

Примеры

Пример #1 token_get_all() examples

<?php
$tokens = token_get_all('<?php echo; ?>'); /* => array(
                                                  array(T_OPEN_TAG, '<?php'),
                                                  array(T_ECHO, 'echo'),
                                                  ';',
                                                  array(T_CLOSE_TAG, '?>') ); */

/* Note in the following example that the string is parsed as T_INLINE_HTML
   rather than the otherwise expected T_COMMENT (T_ML_COMMENT in PHP <5).
   This is because no open/close tags were used in the "code" provided.
   This would be equivalent to putting a comment outside of <?php ?> tags in a normal file. */
$tokens = token_get_all('/* comment */'); // => array(array(T_INLINE_HTML, '/* comment */'));
?>

Список изменений

Версия | Описание
5.2.2 | Line numbers are returned in element 2

Tokenizer Функции
token_name
Tokenizer Функции


Get the symbolic name of a given PHP token

token_get_all
URLs
Tokenizer Функции
PHP Manual

token_name

(PHP 4 >= 4.2.0, PHP 5)

token_name — Get the symbolic name of a given PHP token

Описание

string token_name ( int $token )

token_name() gets the symbolic name for a PHP token value.

Список параметров

token

The token value.

Возвращаемые значения

The symbolic name of the given token . The returned name returned matches the name of the matching token constant.

Примеры

Пример #1 token_name() example

<?php
// 260 is the token value for the T_REQUIRE token
echo token_name(260);        // -> "T_REQUIRE"

// a token constant maps to its own name
echo token_name(T_FUNCTION); // -> "T_FUNCTION"
?>

Смотрите также

  • List of Parser Tokens

token_get_all
URLs
Tokenizer Функции


URL Функции

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • URL Функции
    • base64_decode — Декодирует данные закодированные алгоритмом MIME base64
    • base64_encode — Kодирует данные алгоритмом MIME base64
    • get_headers — Возвращает заголовки из ответа сервера на HTTP-запрос
    • get_meta_tags — Извлекает из файла содержание атрибута content всех мета-тегов и возвращает как ассоциативный массив
    • http_build_query — Generate URL-encoded query string
    • parse_url — Parse a URL and return its components
    • rawurldecode — Decode URL-encoded strings
    • rawurlencode — URL-encode according to RFC 1738
    • urldecode — Decodes URL-encoded string
    • urlencode — URL-encodes string
token_name
Введение
Other Basic Extensions


Введение

Работа со строками URL: кодирование, декодирование, разбор.

URLs
Установка и настройка
URLs


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
URLs


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если 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)
Типы ресурсов
URL Функции
URLs


URL Функции

Содержание

  • base64_decode — Декодирует данные закодированные алгоритмом MIME base64
  • base64_encode — Kодирует данные алгоритмом MIME base64
  • get_headers — Возвращает заголовки из ответа сервера на HTTP-запрос
  • get_meta_tags — Извлекает из файла содержание атрибута content всех мета-тегов и возвращает как ассоциативный массив
  • http_build_query — Generate URL-encoded query string
  • parse_url — Parse a URL and return its components
  • rawurldecode — Decode URL-encoded strings
  • rawurlencode — URL-encode according to RFC 1738
  • urldecode — Decodes URL-encoded string
  • urlencode — URL-encodes string
Предопределенные константы
base64_decode
URLs


Декодирует данные закодированные алгоритмом 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 ] )

Декодирует строку, кодированную при помощи base64.

Список параметров

data

Данные для декодирования.

strict

Если установлен в TRUE и входные данные содержат пробелы или другие разделители - функция вернет FALSE

Возвращаемые значения

Возвращает декодированные данные или 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

Данные для кодирования.

Возвращаемые значения

Кодированные данные, как строку.

Примеры

Пример #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 ] )

get_headers() возвращает массив с заголовками из ответа сервера на HTTP-запрос.

Список параметров

url

Целевой URL.

format

Если необязательный параметр format установлен в 1, get_headers() разберет ответ сервера и установит ключи для возвращаемого массива.

Возвращаемые значения

Возвращает список или ассоциативный массив с заголовками ответа при нормальном завершении и FALSE, если возникла ошибка.

Список изменений

Версия | Описание
5.1.3 | Эта функция теперь использует stream context по-умолчанию, который может быть установлен или изменен при помощи функции stream_context_get_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
)

base64_encode
get_meta_tags
URL Функции


Извлекает из файла содержание атрибута content всех мета-тегов и возвращает как ассоциативный массив

get_headers
http_build_query
URL Функции
PHP Manual

get_meta_tags

(PHP 4, PHP 5)

get_meta_tags — Извлекает из файла содержание атрибута content всех мета-тегов и возвращает как ассоциативный массив

Описание

array get_meta_tags ( string $filename [, bool $use_include_path ] )

Открывает 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
?>

Смотрите также

  • htmlentities() - Преобразует символы в соответствующие HTML сущности.
  • urlencode() - URL-encodes string

get_headers
http_build_query
URL Функции


Generate URL-encoded query string

get_meta_tags
parse_url
URL Функции
PHP Manual

http_build_query

(PHP 5)

http_build_query — Generate URL-encoded query string

Описание

string http_build_query ( array $formdata [, string $numeric_prefix [, string $arg_separator ]] )

Generates a URL-encoded query string from the associative (or indexed) array provided.

Список параметров

formdata

May be an array or object containing properties.

The array form may be a simple one-dimensional structure, or an array of arrays (who in turn may contain other arrays).

numeric_prefix

If numeric indices are used in the base array and this parameter is provided, it will be prepended to the numeric index for elements in the base array only.

This is meant to allow for legal variable names when the data is decoded by PHP or another CGI application later on.

arg_separator

arg_separator.output is used to separate arguments, unless this parameter is specified, and is then used.

Возвращаемые значения

Returns a URL-encoded string.

Список изменений

Версия | Описание
5.1.2 | The arg_separator parameter was added.
5.1.3 | Square brackets are escaped.

Примеры

Пример #1 Simple usage of http_build_query()

<?php
$data = array('foo'=>'bar',
              'baz'=>'boom',
              'cow'=>'milk',
              'php'=>'hypertext processor');

echo http_build_query($data); // foo=bar&baz=boom&cow=milk&php=hypertext+processor
echo http_build_query($data, '', '&amp;'); // foo=bar&amp;baz=boom&amp;cow=milk&amp;php=hypertext+processor

?>

Пример #2 http_build_query() with numerically index elements.

<?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() with complex arrays

<?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_');
?>

this will output : (word wrapped for readability)

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

Замечание: Only the numerically indexed element in the base array "CEO" received a prefix. The other numeric indices, found under pastimes, do not require a string prefix to be legal variable names.

Пример #4 Using http_build_query() with an object

<?php
class myClass {
    var $foo;
    var $baz;

    function myClass() {
        $this->foo = 'bar';
        $this->baz = 'boom';
    }
}

$data = new myClass();

echo http_build_query($data); // foo=bar&baz=boom

?>

Смотрите также

  • parse_str() - Разбирает строку в переменные
  • parse_url() - Parse a URL and return its components
  • urlencode() - URL-encodes string
  • array_walk() - Применить пользовательскую функцию к каждому члену массива

get_meta_tags
parse_url
URL Функции


Parse a URL and return its components

http_build_query
rawurldecode
URL Функции
PHP Manual

parse_url

(PHP 4, PHP 5)

parse_url — Parse a URL and return its components

Описание

mixed parse_url ( string $url [, int $component= -1 ] )

This function parses a URL and returns an associative array containing any of the various components of the URL that are present.

This function is not meant to validate the given URL, it only breaks it up into the above listed parts. Partial URLs are also accepted, parse_url() tries its best to parse them correctly.

Список параметров

url

The URL to parse. Invalid characters are replaced by _.

component

Specify one of PHP_URL_SCHEME, PHP_URL_HOST, PHP_URL_PORT, PHP_URL_USER, PHP_URL_PASS, PHP_URL_PATH, PHP_URL_QUERY or PHP_URL_FRAGMENT to retrieve just a specific URL component as a string.

Возвращаемые значения

On seriously malformed URLs, parse_url() may return FALSE and emit a E_WARNING. Otherwise an associative array is returned, whose components may be (at least one):

  • scheme - e.g. http
  • host
  • port
  • user
  • pass
  • path
  • query - after the question mark ?
  • fragment - after the hashmark #

If the component parameter is specified a string is returned instead of an array.

Список изменений

Версия | Описание
5.1.2 | Added the component parameter

Примеры

Пример #1 A parse_url() example

<?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

Примечания

Замечание: This function doesn't work with relative URLs.

Замечание: This function is intended specifically for the purpose of parsing URLs and not URIs. However, to comply with PHP's backwards compatibility requirements it makes an exception for the file:// scheme where triple slashes (file:///...) are allowed. For any other scheme this is invalid.

Смотрите также

  • pathinfo() - Возвращает информацию о пути к файлу
  • parse_str() - Разбирает строку в переменные
  • http_build_query() - Generate URL-encoded query string
  • dirname() - Возвращает имя каталога из указанного пути
  • basename() - Возвращает имя файла из указанного пути

http_build_query
rawurldecode
URL Функции


Decode URL-encoded strings

parse_url
rawurlencode
URL Функции
PHP Manual

rawurldecode

(PHP 4, PHP 5)

rawurldecode — Decode URL-encoded strings

Описание

string rawurldecode ( string $str )

Returns a string in which the sequences with percent (%) signs followed by two hex digits have been replaced with literal characters.

Список параметров

str

The URL to be decoded.

Возвращаемые значения

Returns the decoded URL, as a string.

Примеры

Пример #1 rawurldecode() example

<?php

echo rawurldecode('foo%20bar%40baz'); // foo bar@baz

?>

Примечания

Замечание: rawurldecode() does not decode plus symbols ('+') into spaces. urldecode() does.

Смотрите также

  • rawurlencode() - URL-encode according to RFC 1738
  • urldecode() - Decodes URL-encoded string
  • urlencode() - URL-encodes string

parse_url
rawurlencode
URL Функции


URL-encode according to RFC 1738

rawurldecode
urldecode
URL Функции
PHP Manual

rawurlencode

(PHP 4, PHP 5)

rawurlencode — URL-encode according to RFC 1738

Описание

string rawurlencode ( string $str )

Encodes the given string according to » RFC 1738.

Список параметров

str

The URL to be encoded.

Возвращаемые значения

Returns a string in which all non-alphanumeric characters except -_. have been replaced with a percent (%) sign followed by two hex digits. This is the encoding described in » RFC 1738 for protecting literal characters from being interpreted as special URL delimiters, and for protecting URLs from being mangled by transmission media with character conversions (like some email systems).

Примеры

Пример #1 including a password in an 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">

Or, if you pass information in a PATH_INFO component of the URL:

Пример #2 rawurlencode() example 2

<?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() - Decode URL-encoded strings
  • urldecode() - Decodes URL-encoded string
  • urlencode() - URL-encodes string
  • » RFC 1738

rawurldecode
urldecode
URL Функции


Decodes URL-encoded string

rawurlencode
urlencode
URL Функции
PHP Manual

urldecode

(PHP 4, PHP 5)

urldecode — Decodes URL-encoded string

Описание

string urldecode ( string $str )

Decodes any %## encoding in the given string.

Список параметров

str

The string to be decoded.

Возвращаемые значения

Returns the decoded string.

Примеры

Пример #1 urldecode() example

<?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++;
}
?>

Примечания

Внимание

The superglobals $_GET and $_REQUEST are already decoded. Using urldecode() on an element in $_GET or $_REQUEST could have unexpected and dangerous results.

Смотрите также

  • urlencode() - URL-encodes string
  • rawurlencode() - URL-encode according to RFC 1738
  • rawurldecode() - Decode URL-encoded strings

rawurlencode
urlencode
URL Функции


URL-encodes string

urldecode
Other Services
URL Функции
PHP Manual

urlencode

(PHP 4, PHP 5)

urlencode — URL-encodes string

Описание

string urlencode ( string $str )

This function is convenient when encoding a string to be used in a query part of a URL, as a convenient way to pass variables to the next page.

Список параметров

str

The string to be encoded.

Возвращаемые значения

Returns a string in which all non-alphanumeric characters except -_. have been replaced with a percent (%) sign followed by two hex digits and spaces encoded as plus (+) signs. It is encoded the same way that the posted data from a WWW form is encoded, that is the same way as in application/x-www-form-urlencoded media type. This differs from the » RFC 1738 encoding (see rawurlencode()) in that for historical reasons, spaces are encoded as plus (+) signs.

Примеры

Пример #1 urlencode() example

<?php
echo '<a href="mycgi?foo=', urlencode($userinput), '">';
?>

Пример #2 urlencode() and htmlentities() example

<?php
$query_string = 'foo=' . urlencode($foo) . '&bar=' . urlencode($bar);
echo '<a href="mycgi?' . htmlentities($query_string) . '">';
?>

Примечания

Замечание: Be careful about variables that may match HTML entities. Things like &amp, &copy and &pound are parsed by the browser and the actual entity is used instead of the desired variable name. This is an obvious hassle that the W3C has been telling people about for years. The reference is here: » http://www.w3.org/TR/html4/appendix/notes.html#h-B.2.2.
PHP supports changing the argument separator to the W3C-suggested semi-colon through the arg_separator .ini directive. Unfortunately most user agents do not send form data in this semi-colon separated format. A more portable way around this is to use &amp; instead of & as the separator. You don't need to change PHP's arg_separator for this. Leave it as &, but simply encode your URLs using htmlentities() or htmlspecialchars().

Смотрите также

  • urldecode() - Decodes URL-encoded string
  • htmlentities() - Преобразует символы в соответствующие HTML сущности.
  • rawurlencode() - URL-encode according to RFC 1738
  • rawurldecode() - Decode URL-encoded strings

urldecode
Other Services
URL Функции


Other Services

  • Функции CURL
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • CURL — Функции CURL, Client URL Library
  • FAM — File Alteration Monitor
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • FAM Функции
  • Функции FTP
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • FTP — Функции FTP
  • Hyperwave
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Integration with Apache
    • Hyperwave Функции
  • Hyperwave API
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Hyperwave API Функции
  • 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 Функции
  • Java — PHP / Java Integration
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Java Servlet SAPI
    • Примеры
    • Java Функции
  • LDAP — Lightweight Directory Access Protocol
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Using the PHP LDAP calls
    • Примеры
    • LDAP Функции
  • Lotus Notes
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Lotus Notes Функции
  • Memcache
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Memcache Функции
  • Memcached
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Expiration Times
    • Callbacks
    • Sessions support
    • Memcached — The Memcached class
  • mqseries
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • mqseries Функции
  • Gopher — Net Gopher
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Gopher Функции
  • Network
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Network Функции
  • SAM — Simple Asynchronous Messaging
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • SAM Функции
  • SNMP
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • SNMP Функции
  • Sockets
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Socket Errors
    • Socket Функции
  • SSH2 — Secure Shell2
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • SSH2 Функции
  • SVN — Subversion
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • SVN Функции
  • TCP — TCP Wrappers
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • TCP Функции
  • YAZ
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • YAZ Функции
  • YP/NIS
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • YP/NIS Функции
urlencode
Функции CURL
Справочник функций


Функции CURL

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Использования модуля CURL для сохранения стартовой страницы example.com
  • CURL — Функции CURL, Client URL Library
    • curl_close — Завершает сеанс CURL
    • curl_copy_handle — Copy a cURL handle along with all of its preferences
    • 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
    • curl_setopt_array — Set multiple options for a cURL transfer
    • curl_setopt — Устанавливает параметр для сеанса CURL
    • curl_version — Возвращает версию CURL
Other Services
Введение
Other Services


Введение

В 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 необходимо установить пакет » CURL. Необходимо мспользовать версию CURL 7.0.2-beta или старше, с более младшими версиями PHP не работает. Для PHP 4.2.3 необходимо использовать версию CURL 7.9.0 или старше. Начиная PHP 4.3.0, необходима CURL 7.9.8 или старше. PHP 5.0.0 требует CURL не младше 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 при работе с удаленными файлами.

Замечание: Замечание для пользователей Win32
Для работы с этим модулем в Windows необходимо скопировать файлы libeay32.dll и ssleay32.dll из директории DLL Win32 дистрибутива PHP в директорию SYSTEM (Нпример C:\WINNT\SYSTEM32 или C:\WINDOWS\SYSTEM)

Требования
Настройка во время выполнения
Установка и настройка


Типы ресурсов

Этот модуль определяет два типа ресурсов: дескриптор cURL и мульти-дескриптор cURL.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение подгружается во время выполнения.

CURLOPT_PORT (integer)
CURLOPT_FILE (integer)
CURLOPT_INFILE (integer)
CURLOPT_INFILESIZE (integer)
CURLOPT_URL (integer)
CURLOPT_PROXY (integer)
CURLOPT_VERBOSE (integer)
CURLOPT_HEADER (integer)
CURLOPT_HTTPHEADER (integer)
CURLOPT_NOPROGRESS (integer)
CURLOPT_NOBODY (integer)
CURLOPT_FAILONERROR (integer)
CURLOPT_UPLOAD (integer)
CURLOPT_POST (integer)
CURLOPT_FTPLISTONLY (integer)
CURLOPT_FTPAPPEND (integer)
CURLOPT_NETRC (integer)
CURLOPT_FOLLOWLOCATION (integer)
CURLOPT_FTPASCII (integer)
CURLOPT_PUT (integer)
CURLOPT_MUTE (integer)
CURLOPT_USERPWD (integer)
CURLOPT_PROXYUSERPWD (integer)
CURLOPT_RANGE (integer)
CURLOPT_TIMEOUT (integer)
CURLOPT_POSTFIELDS (integer)
CURLOPT_REFERER (integer)
CURLOPT_USERAGENT (integer)
CURLOPT_FTPPORT (integer)
CURLOPT_LOW_SPEED_LIMIT (integer)
CURLOPT_LOW_SPEED_TIME (integer)
CURLOPT_RESUME_FROM (integer)
CURLOPT_COOKIE (integer)
CURLOPT_SSLCERT (integer)
CURLOPT_SSLCERTPASSWD (integer)
CURLOPT_WRITEHEADER (integer)
CURLOPT_SSL_VERIFYHOST (integer)
CURLOPT_COOKIEFILE (integer)
CURLOPT_SSLVERSION (integer)
CURLOPT_TIMECONDITION (integer)
CURLOPT_TIMEVALUE (integer)
CURLOPT_CUSTOMREQUEST (integer)
CURLOPT_STDERR (integer)
CURLOPT_TRANSFERTEXT (integer)
CURLOPT_RETURNTRANSFER (integer)
CURLOPT_QUOTE (integer)
CURLOPT_POSTQUOTE (integer)
CURLOPT_INTERFACE (integer)
CURLOPT_KRB4LEVEL (integer)
CURLOPT_HTTPPROXYTUNNEL (integer)
CURLOPT_FILETIME (integer)
CURLOPT_WRITEFUNCTION (integer)
CURLOPT_READFUNCTION (integer)
CURLOPT_PASSWDFUNCTION (integer)
CURLOPT_HEADERFUNCTION (integer)
CURLOPT_MAXREDIRS (integer)
CURLOPT_MAXCONNECTS (integer)
CURLOPT_CLOSEPOLICY (integer)
CURLOPT_FRESH_CONNECT (integer)
CURLOPT_FORBID_REUSE (integer)
CURLOPT_RANDOM_FILE (integer)
CURLOPT_EGDSOCKET (integer)
CURLOPT_CONNECTTIMEOUT (integer)
CURLOPT_SSL_VERIFYPEER (integer)
CURLOPT_CAINFO (integer)
CURLOPT_COOKIEJAR (integer)
CURLOPT_SSL_CIPHER_LIST (integer)
CURLOPT_BINARYTRANSFER (integer)
CURLCLOSEPOLICY_LEAST_RECENTLY_USED (integer)
CURLCLOSEPOLICY_LEAST_TRAFFIC (integer)
CURLCLOSEPOLICY_SLOWEST (integer)
CURLCLOSEPOLICY_CALLBACK (integer)
CURLCLOSEPOLICY_OLDEST (integer)
CURLINFO_EFFECTIVE_URL (integer)
CURLINFO_HTTP_CODE (integer)
CURLINFO_HEADER_SIZE (integer)
CURLINFO_REQUEST_SIZE (integer)
CURLINFO_TOTAL_TIME (integer)
CURLINFO_NAMELOOKUP_TIME (integer)
CURLINFO_CONNECT_TIME (integer)
CURLINFO_PRETRANSFER_TIME (integer)
CURLINFO_SIZE_UPLOAD (integer)
CURLINFO_SIZE_DOWNLOAD (integer)
CURLINFO_SPEED_DOWNLOAD (integer)
CURLINFO_SPEED_UPLOAD (integer)
CURLINFO_FILETIME (integer)
CURLINFO_SSL_VERIFYRESULT (integer)
CURLINFO_CONTENT_LENGTH_DOWNLOAD (integer)
CURLINFO_CONTENT_LENGTH_UPLOAD (integer)
CURLE_OK (integer)
CURLE_UNSUPPORTED_PROTOCOL (integer)
CURLE_FAILED_INIT (integer)
CURLE_URL_MALFORMAT (integer)
CURLE_URL_MALFORMAT_USER (integer)
CURLE_COULDNT_RESOLVE_PROXY (integer)
CURLE_COULDNT_RESOLVE_HOST (integer)
CURLE_COULDNT_CONNECT (integer)
CURLE_FTP_WEIRD_SERVER_REPLY (integer)
CURLE_FTP_ACCESS_DENIED (integer)
CURLE_FTP_USER_PASSWORD_INCORRECT (integer)
CURLE_FTP_WEIRD_PASS_REPLY (integer)
CURLE_FTP_WEIRD_USER_REPLY (integer)
CURLE_FTP_WEIRD_PASV_REPLY (integer)
CURLE_FTP_WEIRD_227_FORMAT (integer)
CURLE_FTP_CANT_GET_HOST (integer)
CURLE_FTP_CANT_RECONNECT (integer)
CURLE_FTP_COULDNT_SET_BINARY (integer)
CURLE_PARTIAL_FILE (integer)
CURLE_FTP_COULDNT_RETR_FILE (integer)
CURLE_FTP_WRITE_ERROR (integer)
CURLE_FTP_QUOTE_ERROR (integer)
CURLE_HTTP_NOT_FOUND (integer)
CURLE_WRITE_ERROR (integer)
CURLE_MALFORMAT_USER (integer)
CURLE_FTP_COULDNT_STOR_FILE (integer)
CURLE_READ_ERROR (integer)
CURLE_OUT_OF_MEMORY (integer)
CURLE_OPERATION_TIMEOUTED (integer)
CURLE_FTP_COULDNT_SET_ASCII (integer)
CURLE_FTP_PORT_FAILED (integer)
CURLE_FTP_COULDNT_USE_REST (integer)
CURLE_FTP_COULDNT_GET_SIZE (integer)
CURLE_HTTP_RANGE_ERROR (integer)
CURLE_HTTP_POST_ERROR (integer)
CURLE_SSL_CONNECT_ERROR (integer)
CURLE_FTP_BAD_DOWNLOAD_RESUME (integer)
CURLE_FILE_COULDNT_READ_FILE (integer)
CURLE_LDAP_CANNOT_BIND (integer)
CURLE_LDAP_SEARCH_FAILED (integer)
CURLE_LIBRARY_NOT_FOUND (integer)
CURLE_FUNCTION_NOT_FOUND (integer)
CURLE_ABORTED_BY_CALLBACK (integer)
CURLE_BAD_FUNCTION_ARGUMENT (integer)
CURLE_BAD_CALLING_ORDER (integer)
CURLE_HTTP_PORT_FAILED (integer)
CURLE_BAD_PASSWORD_ENTERED (integer)
CURLE_TOO_MANY_REDIRECTS (integer)
CURLE_UNKNOWN_TELNET_OPTION (integer)
CURLE_TELNET_OPTION_SYNTAX (integer)
CURLE_OBSOLETE (integer)
CURLE_SSL_PEER_CERTIFICATE (integer)
Типы ресурсов
Примеры
Функции CURL


Примеры

Содержание

  • Использования модуля CURL для сохранения стартовой страницы example.com
Предопределенные константы
Использования модуля CURL для сохранения стартовой страницы example.com
Функции CURL


Использования модуля CURL для сохранения стартовой страницы example.com

Примеры
CURL
Примеры
PHP Manual

После сборки PHP с поддержкой CURL можно использовать функции CURL functions. Работа с 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, Client URL Library

Содержание

  • curl_close — Завершает сеанс CURL
  • curl_copy_handle — Copy a cURL handle along with all of its preferences
  • 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
  • curl_setopt_array — Set multiple options for a cURL transfer
  • curl_setopt — Устанавливает параметр для сеанса CURL
  • curl_version — Возвращает версию CURL
Использования модуля CURL для сохранения стартовой страницы example.com
curl_close
Функции CURL


Завершает сеанс 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 также уничтожается.

Пример #1 Инициализация сеанса CURL и загрузка web-страницы

<?php
// инициализация сеанса
$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_copy_handle
CURL


Copy a cURL handle along with all of its preferences

curl_close
curl_errno
CURL
PHP Manual

curl_copy_handle

(PHP 5)

curl_copy_handle — Copy a cURL handle along with all of its preferences

Описание

resource curl_copy_handle ( resource $ch )

Copies a cURL handle keeping the same preferences.

Список параметров

ch

A cURL handle returned by curl_init().

Возвращаемые значения

Returns a new cURL handle.

Примеры

Пример #1 Copying a cURL handle

<?php
// create a new cURL resource
$ch = curl_init();

// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, 'http://www.example.com/');
curl_setopt($ch, CURLOPT_HEADER, 0);

// copy the handle
$ch2 = curl_copy_handle($ch);

// grab URL (http://www.example.com/) and pass it to the browser
curl_exec($ch2);

// close cURL resources, and free up system resources
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 , или 0 (ноль), если ошибки не было.

См. также описание функции 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_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 )

Эта функция вызывается после инициализации сеанса и установки всех необходимых параметров. Именна эта функция фактически выполняет требуемую операцию.

Пример #1 Инициализация сеанса CURL и загрузка web-страницы

<?php
// инициализация сеанса
$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);
?>

Замечание: Если вам нужно, чтобы эта функция вернула результат, а не вывела его в браузер, используйте опцию CURLOPT_RETURNTRANSFER с функцией curl_setopt().

curl_error
curl_getinfo
CURL


Возвращает информацию о последней операции

curl_exec
curl_init
CURL
PHP Manual

curl_getinfo

(PHP 4 >= 4.0.4, PHP 5)

curl_getinfo — Возвращает информацию о последней операции

Описание

string curl_getinfo ( resource $ch [, int $opt ] )

Возвращает информацию о последней операции, 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_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 в случае, когда этот заголовок не был получен

При вызове без необязательного аргумента opt возвращается ассоциативный массив со следующими индексами, которые соответствуют значениям аргумента opt :

  • "url"
  • "content_type"
  • "http_encode"
  • "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"

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 ] )

curl_init() создает новый сеанс CURL и возвращает дескриптор, который используется с функциями curl_setopt(), curl_exec() и curl_close(). Если передан необязательный аргумент url , опция CURLOPT_URL будет автоматически установлена в значение этого аргумента. Если этот аргумент не передан, необходимо использовать функцию curl_setopt().

Пример #1 Инициализация сеанса CURL и загрузка web-страницы

<?php
// инициализация сеанса
$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_setopt()

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 )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

См. также описание функций
curl_multi_init(),
curl_init() и
curl_multi_remove_handle().

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_multi_init() и curl_close().

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 )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

См. также описание функций curl_multi_init() и curl_exec().

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 )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

См. также описание функции curl_multi_init().

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 )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

См. также описание функции curl_multi_init().

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_init() и curl_multi_close().

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 )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

См. также описание функций
curl_multi_init(),
curl_init() и
curl_multi_add_handle().

curl_multi_init
curl_multi_select
CURL


Возвращает сокеты, созданные модулем cURL

curl_multi_remove_handle
curl_setopt_array
CURL
PHP Manual

curl_multi_select

(PHP 5)

curl_multi_select — Возвращает сокеты, созданные модулем cURL

Описание

int curl_multi_select ( resource $mh [, float $timeout ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

См. также описание функции curl_multi_init().

curl_multi_remove_handle
curl_setopt_array
CURL


Set multiple options for a cURL transfer

curl_multi_select
curl_setopt
CURL
PHP Manual

curl_setopt_array

(PHP 5 >= 5.1.3)

curl_setopt_array — Set multiple options for a cURL transfer

Описание

bool curl_setopt_array ( resource $ch , array $options )

Sets multiple options for a cURL session. This function is useful for setting a large amount of cURL options without repetitively calling curl_setopt().

Список параметров

ch

A cURL handle returned by curl_init().

options

An array specifying which options to set and their values. The keys should be valid curl_setopt() constants or their integer equivalents.

Возвращаемые значения

Returns TRUE if all options were successfully set. If an option could not be successfully set, FALSE is immediately returned, ignoring any future options in the options array.

Примеры

Пример #1 Initializing a new cURL session and fetching a web page

<?php
// create a new cURL resource
$ch = curl_init();

// set URL and other appropriate options
$options = array(CURLOPT_URL => 'http://www.example.com/',
                 CURLOPT_HEADER => false
                );

curl_setopt_array($ch, $options);

// grab URL and pass it to the browser
curl_exec($ch);

// close cURL resource, and free up system resources
curl_close($ch);
?>

Prior to PHP 5.1.4 this function can be simulated with:

Пример #2 Our own implementation of 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;
   }
}
?>

Примечания

Замечание: As with curl_setopt(), passing an array to CURLOPT_POST will encode the data as multipart/form-data, while passing a URL-encoded string will encode the data as 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 , string $option , mixed $value )

Функция curl_setopt() Устанавливает параметр для сеанса CURL, заданного аргументом ch . Аргумент option задает устанавливаемый параметр, а value - его значение.

Для перечисленных ниже параметров, value должен быть целым числом:

  • CURLOPT_INFILESIZE : при закачке файла на удаленный сервер, следует использовать этот параметр для указания ожидаемого размера файла.
  • CURLOPT_VERBOSE : При установке этого параметра в ненулевое значение cURL будет выводить подробные сообщения о всех производимых действиях.
  • CURLOPT_HEADER : При установке этого параметра в ненулевое значение результат будет включать полученные заголовки.

  • CURLOPT_NOPROGRESS : При установке этого параметра в ненулевое значение не будет выводиться индикатор прогресса операции.

    Замечание: В PHP этот параметр устанавливается в ненулевое значение по умолчнию. Изменять его значение рекомендуется только при отладке.

  • CURLOPT_NOBODY : При установке этого параметра в ненулевое значение результат не будет включать документ (например, вам нужно получить только заголовки).
  • CURLOPT_FAILONERROR : При установке этого параметра в ненулевое значение, получение HTTP кода более 300 считается ошибкой.
  • CURLOPT_UPLOAD : Установка этого параметра в ненулевое значение означает, что будет производиться закачка файла на удаленный сервер.
  • CURLOPT_POST : При установке этого параметра в ненулевое значение будет отправлен HTTP запрос методом POST типа application/x-www-form-urlencoded, используемый браузерами при отправке форм.
  • CURLOPT_FTPLISTONLY : При установке этого параметра в ненулевое значение будет получен список файлов в директории FTP сервера.
  • CURLOPT_FTPAPPEND : При установке этого параметра в ненулевое значение данные будут добавляться к файлу на FTP сервере, в противном случае файл будет перезаписан.
  • CURLOPT_NETRC : При установке этого параметра в ненулевое значение будет сделана попытка найти имя пользователя и пароль к удаленному серверу в файле ~./netrc.
  • CURLOPT_FOLLOWLOCATION : При установке этого параметра в ненулевое значение, при получении HTTP заголовка "Location: " будет происходить перенаправление на указанный этим заголовком URL (это действие выполняется рекурсивно, для каждого полученного заголовка "Location:").
  • CURLOPT_PUT : При установке этого параметра в ненулевое значение, будет производиться закачка файла методом HTTP PUT. Файл задается параметрами CURLOPT_INFILE и CURLOPT_INFILESIZE .
  • CURLOPT_MUTE : При установке этого параметра в ненулевое значение, все сообщения cURL будут подавляться.
  • CURLOPT_TIMEOUT : Задает масимальное время выполнения операции в секундах.
  • CURLOPT_LOW_SPEED_LIMIT : Задает минимальную скорость передачи в байтах в секунду. Если в течении времени, заданного параметром CURLOPT_LOW_SPEED_TIME , скорость передачи будет меньше этого значения, операция будет прервана.
  • CURLOPT_LOW_SPEED_TIME : Задает время в секундах, в течение которого скорость передачи должна быть ниже, чем CURLOPT_LOW_SPEED_LIMIT , чтобы операция была признана слишком медленной и прервана.
  • CURLOPT_RESUME_FROM : Задает позицию в файле в байтах, с которой начнется передача данных.
  • CURLOPT_CAINFO : Имя файла, содержащего один или более сертификатов, которые будут использованы при проверке подлинности удаленного сервера. Имеет значение только совместно с параметром CURLOPT_SSL_VERIFYPEER .
  • CURLOPT_SSL_VERIFYPEER : Установите этот параметр в ноль, чтобы запретить проверку сертификата удаленного сервера (начиная с curl 7.10, по умолчанию этот параметр имеет значение TRUE). Дополнительные сертификаты можно задать с помощью параметра CURLOPT_CAINFO (добавленного в in curl 7.9.8). Можно также указать путь к файлам сертификатов в параметре CURLOPT_CAPATH . Если CURLOPT_SSL_VERIFYPEER установлен в 0, возможно, также потребуется установить CURLOPT_SSL_VERIFYHOST в 1 или 0 (по умолчанию 2).
  • CURLOPT_SSLVERSION : Целое число, указывающее, какую версию SSL использовать (2 или 3). По умолчанию версия SSL определяется автоматически, но в некоторых случаях требуется явное указание.
  • CURLOPT_SSL_VERIFYHOST : Задает проверку имени, указанного в сертификате удаленного сервера, при установлении SSL соединения. Значение 1 означает проверку существования имени, значение 2 - кроме того, и проверку соответствия имени хоста.
  • CURLOPT_TIMECONDITION : Задает способ интерпретации значения параметра CURLOPT_TIMEVALUE . Возможные значения: TIMECOND_IFMODSINCE или TIMECOND_ISUNMODSINCE. Применяется только для протокола HTTP.
  • CURLOPT_TIMEVALUE : Задает время в секундах с 1 января 1970 г. Это значение будет использовано в соответствии со значением параметра CURLOPT_TIMECONDITION (по умолчанию TIMECOND_IFMODSINCE).
  • CURLOPT_RETURNTRANSFER : При установке этого параметра в ненулевое значение CURL будет возвращать результат, а не выводить его.

Для перечисленных ниже параметров, value должен быть строкой:

  • CURLOPT_URL : URL, с которым будет производиться операция. Значение этого параметра также может быть задано в вызове функции curl_init().
  • CURLOPT_USERPWD : Стока с именем пользователя и паролем в виде [username]:[password].
  • CURLOPT_PROXYUSERPWD : Стока с именем пользователя и паролем к HTTP прокси-серверу в виде [username]:[password].
  • CURLOPT_RANGE : Задает участок файла, который нужно загрузить, в формате "X-Y" , причем X или Y могут быть опущены. Протокол HTTP также поддерживает передачу нескольких фрагментов файла, это задается в виде "X-Y,N-M".
  • CURLOPT_POSTFIELDS : Строка, содержащая данные для HTTP POST запроса.
  • CURLOPT_REFERER : Задает значение HTTP заголовка "Referer: ".
  • CURLOPT_USERAGENT : Задает значение HTTP заголовка "User-Agent: ".
  • CURLOPT_FTPPORT : Задает значение, которое будет использоваться для определения IP адреса для команды "PORT" протокола ftp. Команда "PORT" сообщает серверу, с каким IP адресом он должен устанавливать соединение. Это может быть IP адрес, имя хоста, имя сетевого интерфейса (под Unix), или просто '-' для использования IP адреса по умолчанию.
  • CURLOPT_COOKIE : Содержимое заголовка "Cookie: ", который будет отправлен с HTTP запросом.
  • CURLOPT_SSLCERT : Имя файла с сертификатом в формате PEM.
  • CURLOPT_SSLCERTPASSWD : Пароль к файлу сертификата, заданному параметром CURLOPT_SSLCERT .
  • CURLOPT_COOKIEFILE : Имя файла, содержащего данные cookie. Данные могут быть либо в формате Netscape, либо просто HTTP-заголовки.

  • CURLOPT_CUSTOMREQUEST : Задает специальный метод, который будет использован в HTTP запросе вместоGET или HEAD. Это используется для отправке запросов DELETE или других, редко используемых. Допустимыми зачениями являются GET, POST, и т.д; не передавайте полный HTTP запрос в этом параметре. Например, 'GET /index.html HTTP/1.0\r\n\r\n' недопустимо.

    Замечание: Перед использованием этого параметра убедитесь, что сервер, к которому вы обращаетесь, поддерживает требуемый метод.

  • CURLOPT_PROXY : Имя HTTP прокси, через который будут направляться запросы.

  • CURLOPT_INTERFACE : Имя используемого сетевого интерфейса. Может быть именем интерфейса, IP адресом или именем хоста.

  • CURLOPT_KRB4LEVEL : Уровень безопасности KRB4 (Kerberos 4). Допустимы следующие значения (в порядке возрастания безопасности) : 'clear', 'safe', 'confidential', 'private'. Если переданное значение не входит в этот список, используется 'private'. Установка этого параметра в NULL, запрещает безопасность KRB4 . В настоящее время безопасность KRB4 поддерживается только для протокола FTP.

  • CURLOPT_HTTPHEADER : Массив с HTTP заголовками.

  • CURLOPT_QUOTE : Массив с FTP командами, которые будут выполнены перед выполнением основного запроса.

  • CURLOPT_POSTQUOTE : Массив с FTP командами, которые будут выполнены после выполнения основного запроса.

Для перечисленных ниже параметров, value должен быть дескриптором файла, возвращенным функцией fopen():

  • CURLOPT_FILE : Файл, в который будет выведен результат операции. По умолчанию STDOUT.
  • CURLOPT_INFILE : Файл, содержащий данные для передачи.
  • CURLOPT_WRITEHEADER : Файл, в который будут выведены полученные заголовки.
  • CURLOPT_STDERR : Файл, в который будут выводиться сообщения об ошибках. По умолчанию STDERR.

Пример #1 Инициализация сеанса CURL и загрузка web-страницы

<?php
// инициализация сеанса
$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_setopt_array
curl_version
CURL


Возвращает версию CURL

curl_setopt
FAM
CURL
PHP Manual

curl_version

(PHP 4 >= 4.0.2, PHP 5)

curl_version — Возвращает версию CURL

Описание

string curl_version ( void )

Функция curl_version() возвращает строку с номером версии CURL.

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
Введение
Other Services


Введение

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.

Замечание: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of 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.

Установка и настройка
Установка
Установка и настройка


Установка

To use PHP's FAM support you must compile PHP --with-fam[=DIR] where DIR is the location of the directory containing the lib and include directories.

Требования
Настройка во время выполнения
Установка и настройка


Типы ресурсов

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 — Функции 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
Введение
Other Services


Введение

Функции этого модуля обеспечивают доступ к серверам по протоколу FTP (File Transfer Protocol), определенному в » http://www.faqs.org/rfcs/rfc959. Модуль позволяет выполнять множество довольно сложных операций. Если требуется лишь прочитать или записать файл на сервере FTP, можно воспользоваться ftp:// ссылками и функциями для работы с файловой системой, которые более просты в использовании.

Функции FTP
Установка и настройка
Функции FTP


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Функции FTP


Установка

Для использования FTP функций, вы должны указать директиву --enable-ftp во время установки PHP 4 или --with-ftp при использовании PHP 3.

Версия 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
Предопределенные константы
Пример использования функций FTP
Функции FTP


Пример использования функций FTP

Примеры
FTP
Примеры
PHP Manual

Пример #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
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 сервером

filezise

Количество байтов для резервирования.

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 [, int $timeout ]] )

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 выполнена успешно<br />\n";
} else {
    echo 'Не удалось выполнить ' . $command;
}

?>

Смотрите также

  • 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 ] )

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';
$handle = fopen('localfile.txt', 'w');

// установка соединения
$conn_id = ftp_connect($ftp_server);

// вход с именем пользователя и паролем
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// попытка скачивания файла
if (ftp_fget($conn_id, $handle, $remote_file, FTP_ASCII, 1)) {
 echo "Произведена запись в $file\n";
} else {
 echo "Проблема записи в $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 ] )

ftp_fget() отгружает данные из файлового дескриптора в удалённый файл на 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";
}

// close the connection and the file handler
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 ] )

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_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 ] )

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 ] )

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 ] )

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 ] )

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_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 ] )

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);
?>

Смотрите также

  • 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_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 ] )

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_rename() переименовывает файл или директорию from в to .

Список параметров

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() отправляет команду, заданную аргументом command , 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 [, int $timeout ]] )

ftp_ssl_connect() устанавливает соединение с FTP сервером, заданным аргументом host , через SSL.

Замечание: Почему эта функция может быть не определена
Функция ftp_ssl_connect() доступна только если PHP был собран с поддержкой OpenSSL. Под Windows, вам придется собрать PHP самостоятельно для включения поддержки OpenSSL.

Список параметров

host

Имя хоста или IP адрес, без слэшей или ftp://

port

Задает порт, на котором устанавливается соединение. Если равен нулю или опущен, по умолчанию используется стандартный для протокола FTP порт 21

timeout

Задает таймаут для всех операций с этим соединением. По умолчанию таймаут устанавливается в 90 секунд. Получить и установить значение таймаута можно также с помощью функций ftp_get_option() и ftp_set_option()

Возвращаемые значения

Возвращает дескриптор соединения, или FALSE при возникновении ошибки.

Примеры

Пример #1 Пример использования функции ftp_ssl_connect()

<?php

// установка соединения
$conn_id = ftp_ssl_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_size
ftp_systype
FTP


Возвращает тип операционной системы FTP сервера

ftp_ssl_connect
Hyperwave
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
Hyperwave
FTP


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
ftp_systype
Введение
Other Services


Введение

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 не поставляется вместе с PHP.

In order to use these functions you must compile PHP with Hyperwave support by using the --with-hyperwave[=DIR] configure option.

Windows users will enable php_hyperwave.dll inside of php.ini in order to use these functions. Вы можете скачать DLL этого расширения PECL со страницы » PHP Downloads или » http://snaps.php.net/.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в 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_*, обратитесь к документации функции ini_set().

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если 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
Введение
Other Services


Введение

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.

Замечание: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of 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.

Установка и настройка
Установка
Установка и настройка


Установка

After installing the Hyperwave SDK, configure PHP with --with-hwapi[=DIR].

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Hyperwave API configuration options
Name | Default | Changeable | Changelog
hwapi.allow_persistent | "0" | PHP_INI_SYSTEM |

Для подробного описания констант PHP_INI_*, обратитесь к документации функции ini_set().

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
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 CVS)

hw_api_attribute->key — Returns key of the attribute

Описание

hw_api_attribute
string 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 CVS)

hw_api_attribute->langdepvalue — Returns value for a given language

Описание

hw_api_attribute
string 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 CVS)

hw_api_attribute->value — Returns value of the attribute

Описание

hw_api_attribute
string 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 CVS)

hw_api_attribute->values — Returns all values of the attribute

Описание

hw_api_attribute
array 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 CVS)

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 CVS)

hw_api->checkin — Checks in an object

Описание

hw_api
bool 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 CVS)

hw_api->checkout — Checks out an object

Описание

hw_api
bool 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 CVS)

hw_api->children — Returns children of an object

Описание

hw_api
array 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 CVS)

hw_api_content->mimetype — Returns mimetype

Описание

hw_api_content
string 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 CVS)

hw_api_content->read — Read content

Описание

hw_api_content
string 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 CVS)

hw_api->content — Returns content of an object

Описание

hw_api
HW_API_Content 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 CVS)

hw_api->copy — Copies physically

Описание

hw_api
hw_api_content 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 CVS)

hw_api->dbstat — Returns statistics about database server

Описание

hw_api
hw_api_object 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 CVS)

hw_api->dcstat — Returns statistics about document cache server

Описание

hw_api
hw_api_object 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 CVS)

hw_api->dstanchors — Returns a list of all destination anchors

Описание

hw_api
array 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 CVS)

hw_api->dstofsrcanchor — Returns destination of a source anchor

Описание

hw_api
hw_api_object 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 CVS)

hw_api_error->count — Returns number of reasons

Описание

hw_api_error
int 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 CVS)

hw_api_error->reason — Returns reason of error

Описание

hw_api_error
HW_API_Reason 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 CVS)

hw_api->find — Search for objects

Описание

hw_api
array 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 CVS)

hw_api->ftstat — Returns statistics about fulltext server

Описание

hw_api
hw_api_object 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 CVS)

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 CVS)

hw_api->hwstat — Returns statistics about Hyperwave server

Описание

hw_api
hw_api_object 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 CVS)

hw_api->identify — Log into Hyperwave Server

Описание

hw_api
bool 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 CVS)

hw_api->info — Returns information about server configuration

Описание

hw_api
array 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 CVS)

hw_api->insert — Inserts a new object

Описание

hw_api
hw_api_object 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 CVS)

hw_api->insertanchor — Inserts a new object of type anchor

Описание

hw_api
hw_api_object 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 CVS)

hw_api->insertcollection — Inserts a new object of type collection

Описание

hw_api
hw_api_object 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 CVS)

hw_api->insertdocument — Inserts a new object of type document

Описание

hw_api
hw_api_object 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 CVS)

hw_api->link — Creates a link to an object

Описание

hw_api
bool 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 CVS)

hw_api->lock — Locks an object

Описание

hw_api
bool 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 CVS)

hw_api->move — Moves object between collections

Описание

hw_api
bool 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 CVS)

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 CVS)

hw_api_object->assign — Clones object

Описание

hw_api_object
bool 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 CVS)

hw_api_object->attreditable — Checks whether an attribute is editable

Описание

hw_api_object
bool 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 CVS)

hw_api_object->count — Returns number of attributes

Описание

hw_api_object
int 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 CVS)

hw_api_object->insert — Inserts new attribute

Описание

hw_api_object
bool 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 CVS)

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 CVS)

hw_api_object->remove — Removes attribute

Описание

hw_api_object
bool 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 CVS)

hw_api_object->title — Returns the title attribute

Описание

hw_api_object
string 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 CVS)

hw_api_object->value — Returns value of attribute

Описание

hw_api_object
string 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 CVS)

hw_api->object — Retrieve attribute information

Описание

hw_api
hw_api_object 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 CVS)

hw_api->objectbyanchor — Returns the object an anchor belongs to

Описание

hw_api
hw_api_object 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 CVS)

hw_api->parents — Returns parents of an object

Описание

hw_api
array 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 CVS)

hw_api_reason->description — Returns description of reason

Описание

hw_api_reason
string 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 CVS)

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 CVS)

hw_api->remove — Delete an object

Описание

hw_api
bool 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 CVS)

hw_api->replace — Replaces an object

Описание

hw_api
hw_api_object 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 CVS)

hw_api->setcommittedversion — Commits version other than last version

Описание

hw_api
hw_api_object 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 CVS)

hw_api->srcanchors — Returns a list of all source anchors

Описание

hw_api
array 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 CVS)

hw_api->srcsofdst — Returns source of a destination object

Описание

hw_api
array 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 CVS)

hw_api->unlock — Unlocks a locked object

Описание

hw_api
bool 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 CVS)

hw_api->user — Returns the own user object

Описание

hw_api
hw_api_object 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
HTTP
Hyperwave API Функции
PHP Manual

hw_api->userlist

(PHP 4, PHP 5 < 5.2.0, PECL hwapi CVS)

hw_api->userlist — Returns a list of all logged in users

Описание

hw_api
array userlist ( array $parameter )

Returns a list of all logged in users.

Список параметров

parameter

Возвращаемые значения

Смотрите также

  • hw_api->user

hw_api->user
HTTP
Hyperwave API Функции


HTTP

  • Введение
  • Установка и настройка
    • Требования
    • Installing the HTTP extension — Installation/Configuration
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • 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 — Get request body stream
    • 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 an URL
hw_api->userlist
Введение
Other Services


Введение

This HTTP extension aims to provide a convenient and powerful set of functionality for one of PHPs major applications.

It eases handling of HTTP URLs, dates, redirects, headers and messages, provides means for negotiation of clients preferred language and charset, as well as a convenient way to send any arbitrary data with caching and resuming capabilities.

It provides powerful request functionality, if built with CURL support. Parallel requests are available for PHP 5 and greater.

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


Установка и настройка

Содержание

  • Требования
  • Installation/Configuration
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
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).

Установка и настройка
Installing the HTTP extension
Установка и настройка


Installation/Configuration

Установка

Это расширение » PECL не поставляется вместе с PHP.

Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, могут быть найдены здесь: » http://pecl.php.net/package/pecl_http.

Замечание: The official name of this extension is pecl_http.

Вы можете скачать DLL этого расширения PECL со страницы » PHP Downloads или » http://snaps.php.net/.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в 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". See the INI setting http.force_exit for what "exits" means.
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. See the INI setting http.force_exit for what "exits" means.
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.

Installing the HTTP extension
Типы ресурсов
Установка и настройка


Типы ресурсов

This extension defines a stream resource returned by http_get_request_body_stream() and (thereafter) 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 request option
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 request option
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 request option
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 request option
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 request option
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

Class synopsis

HttpDeflateStream
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 or FALSE on failure.

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 or FALSE on failure.

HttpDeflateStream::flush
The HttpInflateStream class
The HttpDeflateStream class


The HttpInflateStream class

Class synopsis

HttpInflateStream
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 or FALSE on failure.

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 or FALSE on failure.

HttpInflateStream::flush
The HttpMessage class
The HttpInflateStream class


The HttpMessage class

Class synopsis

HttpMessage
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

Errors/Exceptions

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.

Errors/Exceptions

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.

This function alias is deprecated and only exists for backwards compatibility reasons. The use of this function is not recommended, as it may be removed from PHP in the future.

Список параметров

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.

Errors/Exceptions

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.

Errors/Exceptions

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, or FALSE on failure.

Errors/Exceptions

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

Errors/Exceptions

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.

Errors/Exceptions

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

Class synopsis

HttpQueryString
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

Errors/Exceptions

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.

Errors/Exceptions

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

Class synopsis

HttpRequest
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 [, 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
protected | array | options | request options to configure the request; see request options
protected array postFields form data:
array("fieldname" => "fieldvalue")
protected array postFiles files to upload:
array(array("name" => "image", "file" => "/home/u/images/u.png", "type" => "image/png"))
protected | array | responseInfo | information (statistical) about the request/response; see Request/response information
protected | HttpMessage | responseMessage | the response message
protected | integer | responseCode | the numerical response code
protected | string | responseStatus | the literal response status text
protected | integer | method | the request method to use
protected | string | url | the request url
protected | string | contentType | the content type to use for raw post requests
protected | string | rawPostData | raw post data
protected | string | queryData | query parameters
protected | string | putFile | the file to upload with a PUT request
protected | string | putData | raw data to upload with a PUT request
protected | 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.

Замечание: The request option encodecookies controls whether the cookie values should be urlencode()d.

Замечание: Affects any request method.

Список параметров

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

Errors/Exceptions

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.

Errors/Exceptions

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.

Errors/Exceptions

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 [, 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.

Errors/Exceptions

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.

Errors/Exceptions

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.

See the full list of request options.

Список параметров

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

Class synopsis

HttpRequestPool
HttpRequestPool implements Iterator , Countable {
public bool attach ( HttpRequest $request )
void __construct ([ HttpRequest $request ] )
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 ( void )
}

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 в случае возникновения ошибки.

Errors/Exceptions

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 ] )

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

Errors/Exceptions

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 в случае возникновения ошибки.

Errors/Exceptions

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 в случае возникновения ошибки.

Errors/Exceptions

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 ( void )

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

HttpRequestPool::socketPerform
The HttpResponse
The HttpRequestPool class


The HttpResponse

Class synopsis

HttpResponse
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 — Get request body stream
  • 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.

Замечание: This may not work as expected with the following 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


Get request body stream

HttpResponse::getRequestBody
HttpResponse::getRequestHeaders
The HttpResponse
PHP Manual

HttpResponse::getRequestBodyStream

(PECL pecl_http >= 0.10.0)

HttpResponse::getRequestBodyStream — Get request body stream

Описание

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, or FALSE on failure.

Errors/Exceptions

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 setting http.log.cache is set. See the INI setting http.force_exit for what "exits" means.

Список параметров

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.

Замечание: Provides a basic throttling mechanism, which will yield the current process or thread until the entity has been completely sent.

Замечание: This may not work as expected with the following 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. The Content-Disposition header is very useful if the data actually being sent came from a file or something similar, that should be "saved" by the client/user (i.e. by the browser's "Save as..." popup window).

Список параметров

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.

Замечание: Previously calculated or defined ETag and Last-Modified will be recalculated and redefined.

Список параметров

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.

Замечание: Previously calculated or defined ETag and Last-Modified will be recalculated and redefined.

Список параметров

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.

Замечание: Previously calculated or defined ETag and Last-Modified will be recalculated and redefined.

Список параметров

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.

Замечание: Provides a basic throttling mechanism, which will yield the current process or thread until the entity has been completely sent.

Замечание: This may not work as expected with the following 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 an 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 setting 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 setting http.log.cache is set and the cache attempt was successful.

Замечание: This function may be used in conjunction with 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

Возвращаемые значения

Returns FALSE or exits on success with 304 Not Modified if the entity is cached. See the INI setting http.force_exit for what "exits" means.

Примеры

Пример #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
  • the HttpResponse class if you are using PHP 5.1.0 and above

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 setting http.log.cache is set and the cache attempt was successful.

Замечание: This function may be used in conjunction with http_send_data(), http_send_file() и http_send_stream().

Список параметров

timestamp_or_expires

Unix timestamp

Возвращаемые значения

Returns FALSE or exits on success with 304 Not Modified if the entity is cached. See the INI setting http.force_exit for what "exits" means.

Примеры

Пример #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
  • the HttpResponse class if you are using PHP 5.1.0 and above

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 or FALSE on failure.

Примеры

Пример #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
  • the HttpResponse class if you are using PHP 5.1.0 and above

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
  • the HttpResponse class if you are using PHP 5.1.0 and above

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
  • the HttpResponse class if you are using PHP 5.1.0 and above

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 [, 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 )

For use with ob_start().

Замечание: This output handler can only be used once.

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() - Turn on output buffering

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 )

For use with ob_start().

Output buffer handler generating an ETag with the hash algorithm specified with the INI setting 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 )

For use with ob_start().

Same restrictions as with ob_deflatehandler() apply.

Смотрите также

  • ob_deflatehandler() - Deflate output handler
  • ob_start() - Turn on output buffering

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 or FALSE on failure.

Примеры

Пример #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, or FALSE on failure.

Примеры

Пример #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 or FALSE on failure.

Примеры

Пример #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 or FALSE on failure.

Примеры

Пример #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.

See the full list of request options.

Список параметров

url

URL

options

request options

info

Will be filled with request/response information

Возвращаемые значения

Returns the HTTP response(s) as string on success, or FALSE on failure.

Примеры

Пример #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.

See the full list of request options.

Список параметров

url

URL

options

request options

info

Request/response information

Возвращаемые значения

Returns the HTTP response(s) as string on success, or FALSE on failure.

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.

See the full list of request options.

Список параметров

url

URL

data

String containing the pre-encoded post data

options

request options

info

Request/response information

Возвращаемые значения

Returns the HTTP response(s) as string on success, or FALSE on failure.

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.

See the full list of request options.

Список параметров

url

URL

data

Associative array of POST values

files

Array of files to post

options

request options

info

Request/response information

Возвращаемые значения

Returns the HTTP response(s) as string on success, or FALSE on failure.

Примеры

Пример #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.

See the full list of request options.

Список параметров

url

URL

data

PUT request body

options

request options

info

Request/response information

Возвращаемые значения

Returns the HTTP response(s) as string on success, or FALSE on failure.

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.

See the full list of request options.

Список параметров

url

URL

file

The file to put

options

request options

info

Request/response information

Возвращаемые значения

Returns the HTTP response(s) as string on success, or FALSE on failure.

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.

See the full list of request options.

Список параметров

url

URL

stream

The stream to read the PUT request body from

options

request options

info

Request/response information

Возвращаемые значения

Returns the HTTP response(s) as string on success, or FALSE on failure.

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, or FALSE on failure

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, or FALSE on failure.

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, or FALSE on failure.

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.

See the full list of request options.

Список параметров

method

Request method

url

URL

body

Request body

options

request options

info

Request/response information

Возвращаемые значения

Returns the HTTP response(s) as string on success, or FALSE on failure.

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

Описание

void http_redirect ([ string $url [, array $params [, bool $session= false [, int $status ]]]] )

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 setting 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

Возвращаемые значения

Returns FALSE or exits on success with the specified redirection status code. See the INI setting http.force_exit for what "exits" means.

Примеры

Пример #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>.

Смотрите также

  • the HttpResponse class if you are using PHP 5.1.0 and above

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. The Content-Disposition header is very useful if the data actually being sent came from a file or something similar, that should be "saved" by the client/user (i.e. by the browser's "Save as..." popup window).

Замечание: This function should be used in conjunction with 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
  • the HttpResponse class if you are using PHP 5.1.0 and above

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.

Замечание: This function should be used in conjunction with http_send_data(), http_send_file() и http_send_stream().

Список параметров

content_type

the desired content type (primary/secondary)

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Errors/Exceptions

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
  • the HttpResponse class if you are using PHP 5.1.0 and above

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
  • the HttpResponse class if you are using PHP 5.1.0 and above

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 settings: http.send.not_found_404 и http.log.not_found.

If the INI setting http.send.not_found_404 is enabled and the INI setting 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
  • the HttpResponse class if you are using PHP 5.1.0 and above

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 ] )

Send a Last-Modified header with a valid HTTP date.

Замечание: This function should be used in conjunction with 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 в случае возникновения ошибки.

Смотрите также

  • the HttpResponse class if you are using PHP 5.1.0 and above

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 в случае возникновения ошибки.

Смотрите также

  • the HttpResponse class if you are using PHP 5.1.0 and above

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
  • the HttpResponse class if you are using PHP 5.1.0 and above

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.

Замечание: This function should be used in conjunction with http_send_data(), http_send_file() и http_send_stream().

Замечание: Provides a basic throttling mechanism, which will yield the current process or thread until the entity has been completely sent.

Замечание: This may not work as expected with the following 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
  • the HttpResponse class if you are using PHP 5.1.0 and above

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 ]] )

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 or FALSE on failure.

Смотрите также

  • standard http_build_query() - Generate URL-encoded query string
  • http_build_url() - Build an URL

http_throttle
http_build_url
HTTP Функции


Build an URL

http_build_str
Java
HTTP Функции
PHP Manual

http_build_url

(PECL pecl_http >= 0.21.0)

http_build_url — Build an URL

Описание

string http_build_url ([ mixed $url [, mixed $parts [, int $flags= HTTP_URL_REPLACE [, array &$new_url ]]]] )

Build an 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 or FALSE on failure.

Примеры

Пример #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=b&a=c

Смотрите также

  • parse_url() - Parse a URL and return its components
  • http_build_str() - Build query string

http_build_str
Java
HTTP Функции


PHP / Java Integration

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Java Servlet SAPI
  • Примеры
    • Java Example
  • Java Функции
    • java_last_exception_clear — Clear last Java exception
    • java_last_exception_get — Get last Java exception
http_build_url
Введение
Other Services


Введение

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 не поставляется вместе с PHP.

В 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. Вы можете скачать DLL этого расширения PECL со страницы » PHP Downloads или » http://snaps.php.net/.

Замечание: 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_*, обратитесь к документации функции ini_set().

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
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


Примеры

Содержание

  • Java Example
Java Servlet SAPI
Java Example
Java


Java Example

Примеры
Java Функции
Примеры
PHP Manual

Пример #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
Java Example
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 Функции


Lightweight Directory Access Protocol

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Using the PHP LDAP calls
  • Примеры
    • LDAP search example
  • LDAP Функции
    • ldap_8859_to_t61 — Translate 8859 characters to t61 characters
    • ldap_add — Add entries to LDAP directory
    • ldap_bind — Bind to LDAP directory
    • ldap_close — Псевдоним ldap_unbind
    • ldap_compare — Compare value of attribute found in entry specified with DN
    • ldap_connect — Connect to an LDAP server
    • ldap_count_entries — Count the number of entries in a search
    • ldap_delete — Delete an entry from a directory
    • ldap_dn2ufn — Convert DN to User Friendly Naming format
    • ldap_err2str — Convert LDAP error number into string error message
    • ldap_errno — Return the LDAP error number of the last LDAP command
    • ldap_error — Return the LDAP error message of the last LDAP command
    • ldap_explode_dn — Splits DN into its component parts
    • ldap_first_attribute — Return first attribute
    • ldap_first_entry — Return first result id
    • ldap_first_reference — Return first reference
    • ldap_free_result — Free result memory
    • ldap_get_attributes — Get attributes from a search result entry
    • ldap_get_dn — Get the DN of a result entry
    • ldap_get_entries — Get all result entries
    • ldap_get_option — Get the current value for given option
    • ldap_get_values_len — Get all binary values from a result entry
    • ldap_get_values — Get all values from a result entry
    • ldap_list — Single-level search
    • ldap_mod_add — Add attribute values to current attributes
    • ldap_mod_del — Delete attribute values from current attributes
    • ldap_mod_replace — Replace attribute values with new ones
    • ldap_modify — Modify an LDAP entry
    • ldap_next_attribute — Get the next attribute in result
    • ldap_next_entry — Get next result entry
    • ldap_next_reference — Get next reference
    • ldap_parse_reference — Extract information from reference entry
    • ldap_parse_result — Extract information from result
    • ldap_read — Read an entry
    • ldap_rename — Modify the name of an entry
    • ldap_sasl_bind — Bind to LDAP directory using SASL
    • ldap_search — Search LDAP tree
    • ldap_set_option — Set the value of the given option
    • ldap_set_rebind_proc — Set a callback function to do re-binds on referral chasing
    • ldap_sort — Sort LDAP result entries
    • ldap_start_tls — Start TLS
    • ldap_t61_to_8859 — Translate t61 characters to 8859 characters
    • ldap_unbind — Unbind from LDAP directory
java_last_exception_get
Введение
Other Services


Введение

LDAP is the Lightweight Directory Access Protocol, and is a protocol used to access "Directory Servers". The Directory is a special kind of database that holds information in a tree structure.

The concept is similar to your hard disk directory structure, except that in this context, the root directory is "The world" and the first level subdirectories are "countries". Lower levels of the directory structure contain entries for companies, organisations or places, while yet lower still we find directory entries for people, and perhaps equipment or documents.

To refer to a file in a subdirectory on your hard disk, you might use something like:

   /usr/local/myapp/docs

The forwards slash marks each division in the reference, and the sequence is read from left to right.

The equivalent to the fully qualified file reference in LDAP is the "distinguished name", referred to simply as "dn". An example dn might be:

   cn=John Smith,ou=Accounts,o=My Company,c=US

The comma marks each division in the reference, and the sequence is read from right to left. You would read this dn as:

   country = US
   organization = My Company
   organizationalUnit = Accounts
   commonName = John Smith

In the same way as there are no hard rules about how you organise the directory structure of a hard disk, a directory server manager can set up any structure that is meaningful for the purpose. However, there are some conventions that are used. The message is that you can not write code to access a directory server unless you know something about its structure, any more than you can use a database without some knowledge of what is available.

Lots of information about LDAP can be found at

  • » Mozilla

  • » OpenLDAP Project

The Netscape SDK contains a helpful » Programmer's Guide in HTML format.

LDAP
Установка и настройка
LDAP


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
LDAP


Требования

You will need to get and compile LDAP client libraries from either » OpenLDAP or » Bind9.net in order to compile PHP with LDAP support.

Установка и настройка
Установка
Установка и настройка


Установка

LDAP support in PHP is not enabled by default. You will need to use the --with-ldap[=DIR] configuration option when compiling PHP to enable LDAP support. DIR is the LDAP base install directory. To enable SASL support, be sure --with-ldap-sasl[=DIR] is used, and that sasl.h exists on the system.

Замечание: Note to Win32 Users
In order for this extension to work, there are DLL files that must be available to the Windows system PATH. For information on how to do this, see the FAQ entitled "How do I add my PHP directory to the PATH on Windows". Although copying DLL files from the PHP folder into the Windows system directory also works (because the system directory is by default in the system's PATH), this is not recommended. This extension requires the following files to be in the PATH: libeay32.dll and ssleay32.dll
Versions before PHP 4.3.0 additionally require libsasl.dll.

In order to use Oracle LDAP libraries, proper Oracle environment has to be set.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

LDAP configuration options
Name | Default | Changeable | Changelog
ldap.max_links | "-1" | PHP_INI_SYSTEM |

Для подробного описания констант PHP_INI_*, обратитесь к документации функции ini_set().

Установка
Типы ресурсов
Установка и настройка


Типы ресурсов

Most LDAP functions operate on or return resources (e.g. ldap_connect() returns a positive LDAP link identifier required by most LDAP functions).

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если 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)
Option for ldap_set_option() to allow setting network timeout. (Available as of PHP 5.3.0)
LDAP_OPT_PROTOCOL_VERSION (integer)
LDAP_OPT_ERROR_NUMBER (integer)
LDAP_OPT_REFERRALS (integer)
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)
Типы ресурсов
Using the PHP LDAP calls
LDAP


Using the PHP LDAP calls

Before you can use the LDAP calls you will need to know ..

  • The name or address of the directory server you will use

  • The "base dn" of the server (the part of the world directory that is held on this server, which could be "o=My Company,c=US")

  • Whether you need a password to access the server (many servers will provide read access for an "anonymous bind" but require a password for anything else)

The typical sequence of LDAP calls you will make in an application will follow this pattern:

  ldap_connect()    // establish connection to server
     |
  ldap_bind()       // anonymous or authenticated "login"
     |
  do something like search or update the directory
  and display the results
     |
  ldap_close()      // "logout"

Предопределенные константы
Примеры
LDAP


Примеры

Содержание

  • LDAP search example
Using the PHP LDAP calls
LDAP search example
LDAP


LDAP search example

Примеры
LDAP Функции
Примеры
PHP Manual

Retrieve information for all entries where the surname starts with "S" from a directory server, displaying an extract with name and email address.

Пример #1 LDAP search example

<?php
// basic sequence with LDAP is connect, bind, search, interpret search
// result, close connection

echo "<h3>LDAP query test</h3>";
echo "Connecting ...";
$ds=ldap_connect("localhost");  // must be a valid LDAP server!
echo "connect result is " . $ds . "<br />";

if ($ds) {
    echo "Binding ...";
    $r=ldap_bind($ds);     // this is an "anonymous" bind, typically
                           // read-only access
    echo "Bind result is " . $r . "<br />";

    echo "Searching for (sn=S*) ...";
    // Search surname entry
    $sr=ldap_search($ds, "o=My Company, c=US", "sn=S*");
    echo "Search result is " . $sr . "<br />";

    echo "Number of entires returned is " . ldap_count_entries($ds, $sr) . "<br />";

    echo "Getting entries ...<p>";
    $info = ldap_get_entries($ds, $sr);
    echo "Data for " . $info["count"] . " items returned:<p>";

    for ($i=0; $i<$info["count"]; $i++) {
        echo "dn is: " . $info[$i]["dn"] . "<br />";
        echo "first cn entry is: " . $info[$i]["cn"][0] . "<br />";
        echo "first email entry is: " . $info[$i]["mail"][0] . "<br /><hr />";
    }

    echo "Closing connection";
    ldap_close($ds);

} else {
    echo "<h4>Unable to connect to LDAP server</h4>";
}
?>
Примеры
LDAP Функции
Примеры


LDAP Функции

Содержание

  • ldap_8859_to_t61 — Translate 8859 characters to t61 characters
  • ldap_add — Add entries to LDAP directory
  • ldap_bind — Bind to LDAP directory
  • ldap_close — Псевдоним ldap_unbind
  • ldap_compare — Compare value of attribute found in entry specified with DN
  • ldap_connect — Connect to an LDAP server
  • ldap_count_entries — Count the number of entries in a search
  • ldap_delete — Delete an entry from a directory
  • ldap_dn2ufn — Convert DN to User Friendly Naming format
  • ldap_err2str — Convert LDAP error number into string error message
  • ldap_errno — Return the LDAP error number of the last LDAP command
  • ldap_error — Return the LDAP error message of the last LDAP command
  • ldap_explode_dn — Splits DN into its component parts
  • ldap_first_attribute — Return first attribute
  • ldap_first_entry — Return first result id
  • ldap_first_reference — Return first reference
  • ldap_free_result — Free result memory
  • ldap_get_attributes — Get attributes from a search result entry
  • ldap_get_dn — Get the DN of a result entry
  • ldap_get_entries — Get all result entries
  • ldap_get_option — Get the current value for given option
  • ldap_get_values_len — Get all binary values from a result entry
  • ldap_get_values — Get all values from a result entry
  • ldap_list — Single-level search
  • ldap_mod_add — Add attribute values to current attributes
  • ldap_mod_del — Delete attribute values from current attributes
  • ldap_mod_replace — Replace attribute values with new ones
  • ldap_modify — Modify an LDAP entry
  • ldap_next_attribute — Get the next attribute in result
  • ldap_next_entry — Get next result entry
  • ldap_next_reference — Get next reference
  • ldap_parse_reference — Extract information from reference entry
  • ldap_parse_result — Extract information from result
  • ldap_read — Read an entry
  • ldap_rename — Modify the name of an entry
  • ldap_sasl_bind — Bind to LDAP directory using SASL
  • ldap_search — Search LDAP tree
  • ldap_set_option — Set the value of the given option
  • ldap_set_rebind_proc — Set a callback function to do re-binds on referral chasing
  • ldap_sort — Sort LDAP result entries
  • ldap_start_tls — Start TLS
  • ldap_t61_to_8859 — Translate t61 characters to 8859 characters
  • ldap_unbind — Unbind from LDAP directory
LDAP search example
ldap_8859_to_t61
LDAP


Translate 8859 characters to t61 characters

LDAP Функции
ldap_add
LDAP Функции
PHP Manual

ldap_8859_to_t61

(PHP 4 >= 4.0.2, PHP 5)

ldap_8859_to_t61 — Translate 8859 characters to t61 characters

Описание

string ldap_8859_to_t61 ( string $value )

Translate ISO-8859 characters to t61 characters.

This function is useful if you have to talk to a legacy LDAPv2 server.

Список параметров

value

The text to be translated.

Возвращаемые значения

Return the t61 translation of value .

Смотрите также

  • ldap_t61_to_8859() - Translate t61 characters to 8859 characters

LDAP Функции
ldap_add
LDAP Функции


Add entries to LDAP directory

ldap_8859_to_t61
ldap_bind
LDAP Функции
PHP Manual

ldap_add

(PHP 4, PHP 5)

ldap_add — Add entries to LDAP directory

Описание

bool ldap_add ( resource $link_identifier , string $dn , array $entry )

Add entries in the LDAP directory.

Список параметров

link_identifier

An LDAP link identifier, returned by ldap_connect().

dn

The distinguished name of an LDAP entity.

entry

An array that specifies the information about the entry. The values in the entries are indexed by individual attributes. In case of multiple values for an attribute, they are indexed using integers starting with 0.

<?php
$entree["attribut1"] = "value";
$entree["attribut2"][0] = "value1";
$entree["attribut2"][1] = "value2";
?>

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Complete example with authenticated bind

<?php
$ds = ldap_connect("localhost");  // assuming the LDAP server is on this host

if ($ds) {
    // bind with appropriate dn to give update access
    $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";

    // add data to directory
    $r = ldap_add($ds, "cn=John Jones, o=My Company, c=US", $info);

    ldap_close($ds);
} else {
    echo "Unable to connect to LDAP server";
}
?>

Примечания

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Смотрите также

  • ldap_delete() - Delete an entry from a directory

ldap_8859_to_t61
ldap_bind
LDAP Функции


Bind to LDAP directory

ldap_add
ldap_close
LDAP Функции
PHP Manual

ldap_bind

(PHP 4, PHP 5)

ldap_bind — Bind to LDAP directory

Описание

bool ldap_bind ( resource $link_identifier [, string $bind_rdn= NULL [, string $bind_password= NULL ]] )

Binds to the LDAP directory with specified RDN and password.

Список параметров

link_identifier

An LDAP link identifier, returned by ldap_connect().

bind_rdn

bind_password

If bind_rdn and bind_password are not specified, an anonymous bind is attempted.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Using LDAP Bind

<?php

// using ldap bind
$ldaprdn  = 'uname';     // ldap rdn or dn
$ldappass = 'password';  // associated password

// connect to ldap server
$ldapconn = ldap_connect("ldap.example.com")
    or die("Could not connect to LDAP server.");

if ($ldapconn) {

    // binding to ldap server
    $ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);

    // verify binding
    if ($ldapbind) {
        echo "LDAP bind successful...";
    } else {
        echo "LDAP bind failed...";
    }

}

?>

Пример #2 Using LDAP Bind Anonymously

<?php

//using ldap bind anonymously

// connect to ldap server
$ldapconn = ldap_connect("ldap.example.com")
    or die("Could not connect to LDAP server.");

if ($ldapconn) {

    // binding anonymously
    $ldapbind = ldap_bind($ldapconn);

    if ($ldapbind) {
        echo "LDAP bind anonymous successful...";
    } else {
        echo "LDAP bind anonymous failed...";
    }

}

?>

Смотрите также

  • ldap_unbind() - Unbind from LDAP directory

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 Функции


Compare value of attribute found in entry specified with DN

ldap_close
ldap_connect
LDAP Функции
PHP Manual

ldap_compare

(PHP 4 >= 4.0.2, PHP 5)

ldap_compare — Compare value of attribute found in entry specified with DN

Описание

mixed ldap_compare ( resource $link_identifier , string $dn , string $attribute , string $value )

Compare value of attribute with value of same attribute in an LDAP directory entry.

Список параметров

link_identifier

An LDAP link identifier, returned by ldap_connect().

dn

The distinguished name of an LDAP entity.

attribute

The attribute name.

value

The compared value.

Возвращаемые значения

Returns TRUE if value matches otherwise returns FALSE. Returns -1 on error.

Примеры

The following example demonstrates how to check whether or not given password matches the one defined in DN specified entry.

Пример #1 Complete example of password check

<?php

$ds=ldap_connect("localhost");  // assuming the LDAP server is on this host

if ($ds) {

    // bind
    if (ldap_bind($ds)) {

        // prepare data
        $dn = "cn=Matti Meikku, ou=My Unit, o=My Company, c=FI";
        $value = "secretpassword";
        $attr = "password";

        // compare value
        $r=ldap_compare($ds, $dn, $attr, $value);

        if ($r === -1) {
            echo "Error: " . ldap_error($ds);
        } elseif ($r === true) {
            echo "Password correct.";
        } elseif ($r === false) {
            echo "Wrong guess! Password incorrect.";
        }

    } else {
        echo "Unable to bind to LDAP server.";
    }

    ldap_close($ds);

} else {
    echo "Unable to connect to LDAP server.";
}
?>

Примечания

Внимание

ldap_compare() can NOT be used to compare BINARY values!

ldap_close
ldap_connect
LDAP Функции


Connect to an LDAP server

ldap_compare
ldap_count_entries
LDAP Функции
PHP Manual

ldap_connect

(PHP 4, PHP 5)

ldap_connect — Connect to an LDAP server

Описание

resource ldap_connect ([ string $hostname= NULL [, int $port= 389 ]] )

Establishes a connection to a LDAP server on a specified hostname and port .

Список параметров

hostname

If you are using OpenLDAP 2.x.x you can specify a URL instead of the hostname. To use LDAP with SSL, compile OpenLDAP 2.x.x with SSL support, configure PHP with SSL, and set this parameter as ldaps://hostname/.

port

The port to connect to. Not used when using URLs. Defaults to 389.

Возвращаемые значения

Returns a positive LDAP link identifier on success, or FALSE on error. When OpenLDAP 2.x.x is used, ldap_connect() will always return a resource as it does not actually connect but just initializes the connecting parameters. The actual connect happens with the next calls to ldap_* funcs, usually with ldap_bind().

If no arguments are specified then the link identifier of the already opened link will be returned.

Список изменений

Версия | Описание
4.0.4 | URL and SSL support was added.

Примеры

Пример #1 Example of connecting to LDAP server.

<?php

// LDAP variables
$ldaphost = "ldap.example.com";  // your ldap servers
$ldapport = 389;                 // your ldap server's port number

// Connecting to LDAP
$ldapconn = ldap_connect($ldaphost, $ldapport)
          or die("Could not connect to $ldaphost");

?>

Пример #2 Example of connecting securely to LDAP server.

<?php

// make sure your host is the correct one
// that you issued your secure certificate to
$ldaphost = "ldaps://ldap.example.com/";

// Connecting to LDAP
$ldapconn = ldap_connect($ldaphost)
          or die("Could not connect to {$ldaphost}");

?>

Смотрите также

  • ldap_bind() - Bind to LDAP directory

ldap_compare
ldap_count_entries
LDAP Функции


Count the number of entries in a search

ldap_connect
ldap_delete
LDAP Функции
PHP Manual

ldap_count_entries

(PHP 4, PHP 5)

ldap_count_entries — Count the number of entries in a search

Описание

int ldap_count_entries ( resource $link_identifier , resource $result_identifier )

Returns the number of entries stored in the result of previous search operations.

Список параметров

link_identifier

An LDAP link identifier, returned by ldap_connect().

result_identifier

The internal LDAP result.

Возвращаемые значения

Returns number of entries in the result or FALSE on error.

ldap_connect
ldap_delete
LDAP Функции


Delete an entry from a directory

ldap_count_entries
ldap_dn2ufn
LDAP Функции
PHP Manual

ldap_delete

(PHP 4, PHP 5)

ldap_delete — Delete an entry from a directory

Описание

bool ldap_delete ( resource $link_identifier , string $dn )

Deletes a particular entry in LDAP directory.

Список параметров

link_identifier

An LDAP link identifier, returned by ldap_connect().

dn

The distinguished name of an LDAP entity.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ldap_add() - Add entries to LDAP directory

ldap_count_entries
ldap_dn2ufn
LDAP Функции


Convert DN to User Friendly Naming format

ldap_delete
ldap_err2str
LDAP Функции
PHP Manual

ldap_dn2ufn

(PHP 4, PHP 5)

ldap_dn2ufn — Convert DN to User Friendly Naming format

Описание

string ldap_dn2ufn ( string $dn )

Turns the specified dn , into a more user-friendly form, stripping off type names.

Список параметров

dn

The distinguished name of an LDAP entity.

Возвращаемые значения

Returns the user friendly name.

ldap_delete
ldap_err2str
LDAP Функции


Convert LDAP error number into string error message

ldap_dn2ufn
ldap_errno
LDAP Функции
PHP Manual

ldap_err2str

(PHP 4, PHP 5)

ldap_err2str — Convert LDAP error number into string error message

Описание

string ldap_err2str ( int $errno )

Returns the string error message explaining the error number errno . While LDAP errno numbers are standardized, different libraries return different or even localized textual error messages. Never check for a specific error message text, but always use an error number to check.

Список параметров

errno

The error number.

Возвращаемые значения

Returns the error message, as a string.

Примеры

Пример #1 Enumerating all LDAP error messages

<?php
  for ($i=0; $i<100; $i++) {
    printf("Error $i: %s<br />\n", ldap_err2str($i));
  }
?>

Смотрите также

  • ldap_errno() - Return the LDAP error number of the last LDAP command
  • ldap_error() - Return the LDAP error message of the last LDAP command

ldap_dn2ufn
ldap_errno
LDAP Функции


Return the LDAP error number of the last LDAP command

ldap_err2str
ldap_error
LDAP Функции
PHP Manual

ldap_errno

(PHP 4, PHP 5)

ldap_errno — Return the LDAP error number of the last LDAP command

Описание

int ldap_errno ( resource $link_identifier )

Returns the standardized error number returned by the last LDAP command. This number can be converted into a textual error message using ldap_err2str().

Список параметров

link_identifier

An LDAP link identifier, returned by ldap_connect().

Возвращаемые значения

Return the LDAP error number of the last LDAP command for this link.

Примеры

Unless you lower your warning level in your php.ini sufficiently or prefix your LDAP commands with @ (at) characters to suppress warning output, the errors generated will also show up in your HTML output.

Пример #1 Generating and catching an error

<?php
// This example contains an error, which we will catch.
$ld = ldap_connect("localhost");
$bind = ldap_bind($ld);
// syntax error in filter expression (errno 87),
// must be "objectclass=*" to work.
$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"] . " matching entries.<br />\n";
?>

Смотрите также

  • ldap_err2str() - Convert LDAP error number into string error message
  • ldap_error() - Return the LDAP error message of the last LDAP command

ldap_err2str
ldap_error
LDAP Функции


Return the LDAP error message of the last LDAP command

ldap_errno
ldap_explode_dn
LDAP Функции
PHP Manual

ldap_error

(PHP 4, PHP 5)

ldap_error — Return the LDAP error message of the last LDAP command

Описание

string ldap_error ( resource $link_identifier )

Returns the string error message explaining the error generated by the last LDAP command for the given link_identifier . While LDAP errno numbers are standardized, different libraries return different or even localized textual error messages. Never check for a specific error message text, but always use an error number to check.

Unless you lower your warning level in your php.ini sufficiently or prefix your LDAP commands with @ (at) characters to suppress warning output, the errors generated will also show up in your HTML output.

Список параметров

link_identifier

An LDAP link identifier, returned by ldap_connect().

Возвращаемые значения

Returns string error message.

Смотрите также

  • ldap_err2str() - Convert LDAP error number into string error message
  • ldap_errno() - Return the LDAP error number of the last LDAP command

ldap_errno
ldap_explode_dn
LDAP Функции


Splits DN into its component parts

ldap_error
ldap_first_attribute
LDAP Функции
PHP Manual

ldap_explode_dn

(PHP 4, PHP 5)

ldap_explode_dn — Splits DN into its component parts

Описание

array ldap_explode_dn ( string $dn , int $with_attrib )

Splits the DN returned by ldap_get_dn() and breaks it up into its component parts. Each part is known as Relative Distinguished Name, or RDN.

Список параметров

dn

The distinguished name of an LDAP entity.

with_attrib

Used to request if the RDNs are returned with only values or their attributes as well. To get RDNs with the attributes (i.e. in attribute=value format) set with_attrib to 0 and to get only values set it to 1.

Возвращаемые значения

Returns an array of all DN components. The first element in this array has count key and represents the number of returned values, next elements are numerically indexed DN components.

ldap_error
ldap_first_attribute
LDAP Функции


Return first attribute

ldap_explode_dn
ldap_first_entry
LDAP Функции
PHP Manual

ldap_first_attribute

(PHP 4, PHP 5)

ldap_first_attribute — Return first attribute

Описание

string ldap_first_attribute ( resource $link_identifier , resource $result_entry_identifier )

Gets the first attribute in the given entry. Remaining attributes are retrieved by calling ldap_next_attribute() successively.

Similar to reading entries, attributes are also read one by one from a particular entry.

Список параметров

link_identifier

An LDAP link identifier, returned by ldap_connect().

result_entry_identifier

ber_identifier

ber_identifier is the identifier to internal memory location pointer. It is passed by reference. The same ber_identifier is passed to ldap_next_attribute() , which modifies that pointer.

Замечание: This parameter is no longer used as this is now handled automatically by PHP. For backwards compatibility PHP will not throw an error if this parameter is passed.

Возвращаемые значения

Returns the first attribute in the entry on success and FALSE on error.

Список изменений

Версия | Описание
5.2.4 | The ber_identifier was removed. This is now handled automatically by PHP.

Смотрите также

  • ldap_next_attribute() - Get the next attribute in result
  • ldap_get_attributes() - Get attributes from a search result entry

ldap_explode_dn
ldap_first_entry
LDAP Функции


Return first result id

ldap_first_attribute
ldap_first_reference
LDAP Функции
PHP Manual

ldap_first_entry

(PHP 4, PHP 5)

ldap_first_entry — Return first result id

Описание

resource ldap_first_entry ( resource $link_identifier , resource $result_identifier )

Returns the entry identifier for first entry in the result. This entry identifier is then supplied to ldap_next_entry() routine to get successive entries from the result.

Entries in the LDAP result are read sequentially using the ldap_first_entry() and ldap_next_entry() functions.

Список параметров

link_identifier

An LDAP link identifier, returned by ldap_connect().

result_identifier

Возвращаемые значения

Returns the result entry identifier for the first entry on success and FALSE on error.

Смотрите также

  • ldap_get_entries() - Get all result entries

ldap_first_attribute
ldap_first_reference
LDAP Функции


Return first reference

ldap_first_entry
ldap_free_result
LDAP Функции
PHP Manual

ldap_first_reference

(PHP 4 >= 4.0.5, PHP 5)

ldap_first_reference — Return first reference

Описание

resource ldap_first_reference ( resource $link , resource $result )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

ldap_first_entry
ldap_free_result
LDAP Функции


Free result memory

ldap_first_reference
ldap_get_attributes
LDAP Функции
PHP Manual

ldap_free_result

(PHP 4, PHP 5)

ldap_free_result — Free result memory

Описание

bool ldap_free_result ( resource $result_identifier )

Frees up the memory allocated internally to store the result. All result memory will be automatically freed when the script terminates.

Typically all the memory allocated for the LDAP result gets freed at the end of the script. In case the script is making successive searches which return large result sets, ldap_free_result() could be called to keep the runtime memory usage by the script low.

Список параметров

result_identifier

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

ldap_first_reference
ldap_get_attributes
LDAP Функции


Get attributes from a search result entry

ldap_free_result
ldap_get_dn
LDAP Функции
PHP Manual

ldap_get_attributes

(PHP 4, PHP 5)

ldap_get_attributes — Get attributes from a search result entry

Описание

array ldap_get_attributes ( resource $link_identifier , resource $result_entry_identifier )

Reads attributes and values from an entry in the search result.

Having located a specific entry in the directory, you can find out what information is held for that entry by using this call. You would use this call for an application which "browses" directory entries and/or where you do not know the structure of the directory entries. In many applications you will be searching for a specific attribute such as an email address or a surname, and won't care what other data is held.

return_value["count"] = number of attributes in the entry
return_value[0] = first attribute
return_value[n] = nth attribute

return_value["attribute"]["count"] = number of values for attribute
return_value["attribute"][0] = first value of the attribute
return_value["attribute"][i] = (i+1)th value of the attribute

Список параметров

link_identifier

An LDAP link identifier, returned by ldap_connect().

result_entry_identifier

Возвращаемые значения

Returns a complete entry information in a multi-dimensional array on success and FALSE on error.

Примеры

Пример #1 Show the list of attributes held for a particular directory entry

<?php
// $ds is the link identifier for the directory

// $sr is a valid search result from a prior call to
// one of the ldap directory search calls

$entry = ldap_first_entry($ds, $sr);

$attrs = ldap_get_attributes($ds, $entry);

echo $attrs["count"] . " attributes held for this entry:<p>";

for ($i=0; $i < $attrs["count"]; $i++) {
    echo $attrs[$i] . "<br />";
}
?>

Смотрите также

  • ldap_first_attribute() - Return first attribute
  • ldap_next_attribute() - Get the next attribute in result

ldap_free_result
ldap_get_dn
LDAP Функции


Get the DN of a result entry

ldap_get_attributes
ldap_get_entries
LDAP Функции
PHP Manual

ldap_get_dn

(PHP 4, PHP 5)

ldap_get_dn — Get the DN of a result entry

Описание

string ldap_get_dn ( resource $link_identifier , resource $result_entry_identifier )

Finds out the DN of an entry in the result.

Список параметров

link_identifier

An LDAP link identifier, returned by ldap_connect().

result_entry_identifier

Возвращаемые значения

Returns the DN of the result entry and FALSE on error.

ldap_get_attributes
ldap_get_entries
LDAP Функции


Get all result entries

ldap_get_dn
ldap_get_option
LDAP Функции
PHP Manual

ldap_get_entries

(PHP 4, PHP 5)

ldap_get_entries — Get all result entries

Описание

array ldap_get_entries ( resource $link_identifier , resource $result_identifier )

Reads multiple entries from the given result, and then reading the attributes and multiple values.

Список параметров

link_identifier

An LDAP link identifier, returned by ldap_connect().

result_identifier

Возвращаемые значения

Returns a complete result information in a multi-dimensional array on success and FALSE on error.

The structure of the array is as follows. The attribute index is converted to lowercase. (Attributes are case-insensitive for directory servers, but not when used as array indices.)

return_value["count"] = number of entries in the result
return_value[0] : refers to the details of first entry

return_value[i]["dn"] =  DN of the ith entry in the result

return_value[i]["count"] = number of attributes in ith entry
return_value[i][j] = jth attribute in the ith entry in the result

return_value[i]["attribute"]["count"] = number of values for
                                        attribute in ith entry
return_value[i]["attribute"][j] = jth value of attribute in ith entry

Смотрите также

  • ldap_first_entry() - Return first result id
  • ldap_next_entry() - Get next result entry

ldap_get_dn
ldap_get_option
LDAP Функции


Get the current value for given option

ldap_get_entries
ldap_get_values_len
LDAP Функции
PHP Manual

ldap_get_option

(PHP 4 >= 4.0.4, PHP 5)

ldap_get_option — Get the current value for given option

Описание

bool ldap_get_option ( resource $link_identifier , int $option , mixed &$retval )

Sets retval to the value of the specified option.

Список параметров

link_identifier

An LDAP link identifier, returned by ldap_connect().

option

The parameter option can be one of:

Option | Type
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

This will be set to the option value.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Check protocol version

<?php
// $ds is a valid link identifier for a directory server
if (ldap_get_option($ds, LDAP_OPT_PROTOCOL_VERSION, $version)) {
    echo "Using protocol version $version\n";
} else {
    echo "Unable to determine protocol version\n";
}
?>

Примечания

Замечание: This function is only available when using OpenLDAP 2.x.x OR Netscape Directory SDK x.x.

Смотрите также

  • ldap_set_option() - Set the value of the given option

ldap_get_entries
ldap_get_values_len
LDAP Функции


Get all binary values from a result entry

ldap_get_option
ldap_get_values
LDAP Функции
PHP Manual

ldap_get_values_len

(PHP 4, PHP 5)

ldap_get_values_len — Get all binary values from a result entry

Описание

array ldap_get_values_len ( resource $link_identifier , resource $result_entry_identifier , string $attribute )

Reads all the values of the attribute in the entry in the result.

This function is used exactly like ldap_get_values() except that it handles binary data and not string data.

Список параметров

link_identifier

An LDAP link identifier, returned by ldap_connect().

result_entry_identifier

attribute

Возвращаемые значения

Returns an array of values for the attribute on success and FALSE on error. Individual values are accessed by integer index in the array. The first index is 0. The number of values can be found by indexing "count" in the resultant array.

Смотрите также

  • ldap_get_values() - Get all values from a result entry

ldap_get_option
ldap_get_values
LDAP Функции


Get all values from a result entry

ldap_get_values_len
ldap_list
LDAP Функции
PHP Manual

ldap_get_values

(PHP 4, PHP 5)

ldap_get_values — Get all values from a result entry

Описание

array ldap_get_values ( resource $link_identifier , resource $result_entry_identifier , string $attribute )

Reads all the values of the attribute in the entry in the result.

This call needs a result_entry_identifier , so needs to be preceded by one of the ldap search calls and one of the calls to get an individual entry.

You application will either be hard coded to look for certain attributes (such as "surname" or "mail") or you will have to use the ldap_get_attributes() call to work out what attributes exist for a given entry.

Список параметров

link_identifier

An LDAP link identifier, returned by ldap_connect().

result_entry_identifier

attribute

Возвращаемые значения

Returns an array of values for the attribute on success and FALSE on error. The number of values can be found by indexing "count" in the resultant array. Individual values are accessed by integer index in the array. The first index is 0.

LDAP allows more than one entry for an attribute, so it can, for example, store a number of email addresses for one person's directory entry all labeled with the attribute "mail"

    return_value["count"] = number of values for attribute
    return_value[0] = first value of attribute
    return_value[i] = ith value of attribute

Примеры

Пример #1 List all values of the "mail" attribute for a directory entry

<?php
// $ds is a valid link identifier for a directory server

// $sr is a valid search result from a prior call to
//     one of the ldap directory search calls

// $entry is a valid entry identifier from a prior call to
//        one of the calls that returns a directory entry

$values = ldap_get_values($ds, $entry, "mail");

echo $values["count"] . " email addresses for this entry.<br />";

for ($i=0; $i < $values["count"]; $i++) {
    echo $values[$i] . "<br />";
}
?>

Смотрите также

  • ldap_get_values_len() - Get all binary values from a result entry

ldap_get_values_len
ldap_list
LDAP Функции


Single-level search

ldap_get_values
ldap_mod_add
LDAP Функции
PHP Manual

ldap_list

(PHP 4, PHP 5)

ldap_list — Single-level search

Описание

resource ldap_list ( resource $link_identifier , string $base_dn , string $filter [, array $attributes [, int $attrsonly [, int $sizelimit [, int $timelimit [, int $deref ]]]]] )

Performs the search for a specified filter on the directory with the scope LDAP_SCOPE_ONELEVEL.

LDAP_SCOPE_ONELEVEL means that the search should only return information that is at the level immediately below the base_dn given in the call. (Equivalent to typing "ls" and getting a list of files and folders in the current working directory.)

Список параметров

link_identifier

An LDAP link identifier, returned by ldap_connect().

base_dn

The base DN for the directory.

filter

attributes

An array of the required attributes, e.g. array("mail", "sn", "cn"). Note that the "dn" is always returned irrespective of which attributes types are requested.

Using this parameter is much more efficient than the default action (which is to return all attributes and their associated values). The use of this parameter should therefore be considered good practice.

attrsonly

Should be set to 1 if only attribute types are wanted. If set to 0 both attributes types and attribute values are fetched which is the default behaviour.

sizelimit

Enables you to limit the count of entries fetched. Setting this to 0 means no limit.

Замечание: This parameter can NOT override server-side preset sizelimit. You can set it lower though.
Some directory server hosts will be configured to return no more than a preset number of entries. If this occurs, the server will indicate that it has only returned a partial results set. This also occurs if you use this parameter to limit the count of fetched entries.

timelimit

Sets the number of seconds how long is spend on the search. Setting this to 0 means no limit.

Замечание: This parameter can NOT override server-side preset timelimit. You can set it lower though.

deref

Specifies how aliases should be handled during the search. It can be one of the following:

  • LDAP_DEREF_NEVER - (default) aliases are never dereferenced.
  • LDAP_DEREF_SEARCHING - aliases should be dereferenced during the search but not when locating the base object of the search.
  • LDAP_DEREF_FINDING - aliases should be dereferenced when locating the base object but not during the search.
  • LDAP_DEREF_ALWAYS - aliases should be dereferenced always.

Возвращаемые значения

Returns a search result identifier or FALSE on error.

Список изменений

Версия | Описание
4.0.5 | Parallel searches support was added. See ldap_search() for details.
4.0.2 | The attrsonly , sizelimit , timelimit and deref were added.

Примеры

Пример #1 Produce a list of all organizational units of an organization

// $ds is a valid link identifier for a directory server

$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() - Search LDAP tree

ldap_get_values
ldap_mod_add
LDAP Функции


Add attribute values to current attributes

ldap_list
ldap_mod_del
LDAP Функции
PHP Manual

ldap_mod_add

(PHP 4, PHP 5)

ldap_mod_add — Add attribute values to current attributes

Описание

bool ldap_mod_add ( resource $link_identifier , string $dn , array $entry )

Adds one or more attributes to the specified dn . It performs the modification at the attribute level as opposed to the object level. Object-level additions are done by the ldap_add() function.

Список параметров

link_identifier

An LDAP link identifier, returned by ldap_connect().

dn

The distinguished name of an LDAP entity.

entry

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Смотрите также

  • ldap_mod_del() - Delete attribute values from current attributes
  • ldap_mod_replace() - Replace attribute values with new ones

ldap_list
ldap_mod_del
LDAP Функции


Delete attribute values from current attributes

ldap_mod_add
ldap_mod_replace
LDAP Функции
PHP Manual

ldap_mod_del

(PHP 4, PHP 5)

ldap_mod_del — Delete attribute values from current attributes

Описание

bool ldap_mod_del ( resource $link_identifier , string $dn , array $entry )

Removes one or more attributes from the specified dn . It performs the modification at the attribute level as opposed to the object level. Object-level deletions are done by the ldap_delete() function.

Список параметров

link_identifier

An LDAP link identifier, returned by ldap_connect().

dn

The distinguished name of an LDAP entity.

entry

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ldap_mod_add() - Add attribute values to current attributes
  • ldap_mod_replace() - Replace attribute values with new ones

ldap_mod_add
ldap_mod_replace
LDAP Функции


Replace attribute values with new ones

ldap_mod_del
ldap_modify
LDAP Функции
PHP Manual

ldap_mod_replace

(PHP 4, PHP 5)

ldap_mod_replace — Replace attribute values with new ones

Описание

bool ldap_mod_replace ( resource $link_identifier , string $dn , array $entry )

Replaces one or more attributes from the specified dn . It performs the modification at the attribute level as opposed to the object level. Object-level modifications are done by the ldap_modify() function.

Список параметров

link_identifier

An LDAP link identifier, returned by ldap_connect().

dn

The distinguished name of an LDAP entity.

entry

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Смотрите также

  • ldap_mod_del() - Delete attribute values from current attributes
  • ldap_mod_add() - Add attribute values to current attributes

ldap_mod_del
ldap_modify
LDAP Функции


Modify an LDAP entry

ldap_mod_replace
ldap_next_attribute
LDAP Функции
PHP Manual

ldap_modify

(PHP 4, PHP 5)

ldap_modify — Modify an LDAP entry

Описание

bool ldap_modify ( resource $link_identifier , string $dn , array $entry )

Modify the existing entries in the LDAP directory. The structure of the entry is same as in ldap_add().

Список параметров

link_identifier

An LDAP link identifier, returned by ldap_connect().

dn

The distinguished name of an LDAP entity.

entry

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Смотрите также

  • ldap_rename() - Modify the name of an entry

ldap_mod_replace
ldap_next_attribute
LDAP Функции


Get the next attribute in result

ldap_modify
ldap_next_entry
LDAP Функции
PHP Manual

ldap_next_attribute

(PHP 4, PHP 5)

ldap_next_attribute — Get the next attribute in result

Описание

string ldap_next_attribute ( resource $link_identifier , resource $result_entry_identifier )

Retrieves the attributes in an entry. The first call to ldap_next_attribute() is made with the result_entry_identifier returned from ldap_first_attribute().

Список параметров

link_identifier

An LDAP link identifier, returned by ldap_connect().

result_entry_identifier

ber_identifier

The internal state of the pointer is maintained by this parameter.

Замечание: This parameter is no longer used as this is now handled automatically by PHP. For backwards compatibility PHP will not throw an error if this parameter is passed.

Возвращаемые значения

Returns the next attribute in an entry on success and FALSE on error.

Список изменений

Версия | Описание
5.2.4 | The ber_identifier was removed. This is now handled automatically by PHP.

Смотрите также

  • ldap_get_attributes() - Get attributes from a search result entry

ldap_modify
ldap_next_entry
LDAP Функции


Get next result entry

ldap_next_attribute
ldap_next_reference
LDAP Функции
PHP Manual

ldap_next_entry

(PHP 4, PHP 5)

ldap_next_entry — Get next result entry

Описание

resource ldap_next_entry ( resource $link_identifier , resource $result_entry_identifier )

Retrieve the entries stored in the result. Successive calls to the ldap_next_entry() return entries one by one till there are no more entries. The first call to ldap_next_entry() is made after the call to ldap_first_entry() with the result_entry_identifier as returned from the ldap_first_entry().

Список параметров

link_identifier

An LDAP link identifier, returned by ldap_connect().

result_entry_identifier

Возвращаемые значения

Returns entry identifier for the next entry in the result whose entries are being read starting with ldap_first_entry(). If there are no more entries in the result then it returns FALSE.

Смотрите также

  • ldap_get_entries() - Get all result entries

ldap_next_attribute
ldap_next_reference
LDAP Функции


Get next reference

ldap_next_entry
ldap_parse_reference
LDAP Функции
PHP Manual

ldap_next_reference

(PHP 4 >= 4.0.5, PHP 5)

ldap_next_reference — Get next reference

Описание

resource ldap_next_reference ( resource $link , resource $entry )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

ldap_next_entry
ldap_parse_reference
LDAP Функции


Extract information from reference entry

ldap_next_reference
ldap_parse_result
LDAP Функции
PHP Manual

ldap_parse_reference

(PHP 4 >= 4.0.5, PHP 5)

ldap_parse_reference — Extract information from reference entry

Описание

bool ldap_parse_reference ( resource $link , resource $entry , array &$referrals )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

ldap_next_reference
ldap_parse_result
LDAP Функции


Extract information from result

ldap_parse_reference
ldap_read
LDAP Функции
PHP Manual

ldap_parse_result

(PHP 4 >= 4.0.5, PHP 5)

ldap_parse_result — Extract information from result

Описание

bool ldap_parse_result ( resource $link , resource $result , int &$errcode [, string &$matcheddn [, string &$errmsg [, array &$referrals ]]] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

ldap_parse_reference
ldap_read
LDAP Функции


Read an entry

ldap_parse_result
ldap_rename
LDAP Функции
PHP Manual

ldap_read

(PHP 4, PHP 5)

ldap_read — Read an entry

Описание

resource ldap_read ( resource $link_identifier , string $base_dn , string $filter [, array $attributes [, int $attrsonly [, int $sizelimit [, int $timelimit [, int $deref ]]]]] )

Performs the search for a specified filter on the directory with the scope LDAP_SCOPE_BASE. So it is equivalent to reading an entry from the directory.

Список параметров

link_identifier

An LDAP link identifier, returned by ldap_connect().

base_dn

The base DN for the directory.

filter

An empty filter is not allowed. If you want to retrieve absolutely all information for this entry, use a filter of objectClass=*. If you know which entry types are used on the directory server, you might use an appropriate filter such as objectClass=inetOrgPerson.

attributes

An array of the required attributes, e.g. array("mail", "sn", "cn"). Note that the "dn" is always returned irrespective of which attributes types are requested.

Using this parameter is much more efficient than the default action (which is to return all attributes and their associated values). The use of this parameter should therefore be considered good practice.

attrsonly

Should be set to 1 if only attribute types are wanted. If set to 0 both attributes types and attribute values are fetched which is the default behaviour.

sizelimit

Enables you to limit the count of entries fetched. Setting this to 0 means no limit.

Замечание: This parameter can NOT override server-side preset sizelimit. You can set it lower though.
Some directory server hosts will be configured to return no more than a preset number of entries. If this occurs, the server will indicate that it has only returned a partial results set. This also occurs if you use this parameter to limit the count of fetched entries.

timelimit

Sets the number of seconds how long is spend on the search. Setting this to 0 means no limit.

Замечание: This parameter can NOT override server-side preset timelimit. You can set it lower though.

deref

Specifies how aliases should be handled during the search. It can be one of the following:

  • LDAP_DEREF_NEVER - (default) aliases are never dereferenced.
  • LDAP_DEREF_SEARCHING - aliases should be dereferenced during the search but not when locating the base object of the search.
  • LDAP_DEREF_FINDING - aliases should be dereferenced when locating the base object but not during the search.
  • LDAP_DEREF_ALWAYS - aliases should be dereferenced always.

Возвращаемые значения

Returns a search result identifier or FALSE on error.

Список изменений

Версия | Описание
4.0.5 | Parallel searches support was added. See ldap_search() for details.
4.0.2 | The attrsonly , sizelimit , timelimit and deref were added.

ldap_parse_result
ldap_rename
LDAP Функции


Modify the name of an entry

ldap_read
ldap_sasl_bind
LDAP Функции
PHP Manual

ldap_rename

(PHP 4 >= 4.0.5, PHP 5)

ldap_rename — Modify the name of an entry

Описание

bool ldap_rename ( resource $link_identifier , string $dn , string $newrdn , string $newparent , bool $deleteoldrdn )

The entry specified by dn is renamed/moved.

Список параметров

link_identifier

An LDAP link identifier, returned by ldap_connect().

dn

The distinguished name of an LDAP entity.

newrdn

The new RDN.

newparent

The new parent/superior entry.

deleteoldrdn

If TRUE the old RDN value(s) is removed, else the old RDN value(s) is retained as non-distinguished values of the entry.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Замечание: This function currently only works with LDAPv3. You may have to use ldap_set_option() prior to binding to use LDAPv3. This function is only available when using OpenLDAP 2.x.x OR Netscape Directory SDK x.x.

Смотрите также

  • ldap_modify() - Modify an LDAP entry

ldap_read
ldap_sasl_bind
LDAP Функции


Bind to LDAP directory using SASL

ldap_rename
ldap_search
LDAP Функции
PHP Manual

ldap_sasl_bind

(PHP 5)

ldap_sasl_bind — Bind to LDAP directory using 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 в случае возникновения ошибки.

Примечания

Замечание: Requirement
ldap_sasl_bind() requires SASL support (sasl.h). Be sure --with-ldap-sasl is used when configuring PHP otherwise this function will be undefined.

ldap_rename
ldap_search
LDAP Функции


Search LDAP tree

ldap_sasl_bind
ldap_set_option
LDAP Функции
PHP Manual

ldap_search

(PHP 4, PHP 5)

ldap_search — Search LDAP tree

Описание

resource ldap_search ( resource $link_identifier , string $base_dn , string $filter [, array $attributes [, int $attrsonly [, int $sizelimit [, int $timelimit [, int $deref ]]]]] )

Performs the search for a specified filter on the directory with the scope of LDAP_SCOPE_SUBTREE. This is equivalent to searching the entire directory.

From 4.0.5 on it's also possible to do parallel searches. To do this you use an array of link identifiers, rather than a single identifier, as the first argument. If you don't want the same base DN and the same filter for all the searches, you can also use an array of base DNs and/or an array of filters. Those arrays must be of the same size as the link identifier array since the first entries of the arrays are used for one search, the second entries are used for another, and so on. When doing parallel searches an array of search result identifiers is returned, except in case of error, then the entry corresponding to the search will be FALSE. This is very much like the value normally returned, except that a result identifier is always returned when a search was made. There are some rare cases where the normal search returns FALSE while the parallel search returns an identifier.

Список параметров

link_identifier

An LDAP link identifier, returned by ldap_connect().

base_dn

The base DN for the directory.

filter

The search filter can be simple or advanced, using boolean operators in the format described in the LDAP documentation (see the » Netscape Directory SDK for full information on filters).

attributes

An array of the required attributes, e.g. array("mail", "sn", "cn"). Note that the "dn" is always returned irrespective of which attributes types are requested.

Using this parameter is much more efficient than the default action (which is to return all attributes and their associated values). The use of this parameter should therefore be considered good practice.

attrsonly

Should be set to 1 if only attribute types are wanted. If set to 0 both attributes types and attribute values are fetched which is the default behaviour.

sizelimit

Enables you to limit the count of entries fetched. Setting this to 0 means no limit.

Замечание: This parameter can NOT override server-side preset sizelimit. You can set it lower though.
Some directory server hosts will be configured to return no more than a preset number of entries. If this occurs, the server will indicate that it has only returned a partial results set. This also occurs if you use this parameter to limit the count of fetched entries.

timelimit

Sets the number of seconds how long is spend on the search. Setting this to 0 means no limit.

Замечание: This parameter can NOT override server-side preset timelimit. You can set it lower though.

deref

Specifies how aliases should be handled during the search. It can be one of the following:

  • LDAP_DEREF_NEVER - (default) aliases are never dereferenced.
  • LDAP_DEREF_SEARCHING - aliases should be dereferenced during the search but not when locating the base object of the search.
  • LDAP_DEREF_FINDING - aliases should be dereferenced when locating the base object but not during the search.
  • LDAP_DEREF_ALWAYS - aliases should be dereferenced always.

Возвращаемые значения

Returns a search result identifier or FALSE on error.

Список изменений

Версия | Описание
4.0.5 | Parallel searches support was added.
4.0.2 | The attrsonly , sizelimit , timelimit and deref were added.

Примеры

The example below retrieves the organizational unit, surname, given name and email address for all people in "My Company" where the surname or given name contains the substring $person. This example uses a boolean filter to tell the server to look for information in more than one attribute.

Пример #1 LDAP search

<?php
// $ds is a valid link identifier for a directory server

// $person is all or part of a person's name, eg "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"]." entries returned\n";
?>

ldap_sasl_bind
ldap_set_option
LDAP Функции


Set the value of the given option

ldap_search
ldap_set_rebind_proc
LDAP Функции
PHP Manual

ldap_set_option

(PHP 4 >= 4.0.4, PHP 5)

ldap_set_option — Set the value of the given option

Описание

bool ldap_set_option ( resource $link_identifier , int $option , mixed $newval )

Sets the value of the specified option to be newval .

Список параметров

link_identifier

An LDAP link identifier, returned by ldap_connect().

option

The parameter option can be one of:

Option | Type | Available since
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 and LDAP_OPT_CLIENT_CONTROLS require a list of controls, this means that the value must be an array of controls. A control consists of an oid identifying the control, an optional value, and an optional flag for criticality. In PHP a control is given by an array containing an element with the key oid and string value, and two optional elements. The optional elements are key value with string value and key iscritical with boolean value. iscritical defaults to FALSE if not supplied. See » draft-ietf-ldapext-ldap-c-api-xx.txt for details. See also the second example below.

newval

The new value for the specified option .

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Set protocol version

<?php
// $ds is a valid link identifier for a directory server
if (ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3)) {
    echo "Using LDAPv3";
} else {
    echo "Failed to set protocol version to 3";
}
?>

Пример #2 Set server controls

<?php
// $ds is a valid link identifier for a directory server
// control with no value
$ctrl1 = array("oid" => "1.2.752.58.10.1", "iscritical" => true);
// iscritical defaults to FALSE
$ctrl2 = array("oid" => "1.2.752.58.1.10", "value" => "magic");
// try to set both controls
if (!ldap_set_option($ds, LDAP_OPT_SERVER_CONTROLS, array($ctrl1, $ctrl2))) {
    echo "Failed to set server controls";
}
?>

Примечания

Замечание: This function is only available when using OpenLDAP 2.x.x OR Netscape Directory SDK x.x.

Смотрите также

  • ldap_get_option() - Get the current value for given option

ldap_search
ldap_set_rebind_proc
LDAP Функции


Set a callback function to do re-binds on referral chasing

ldap_set_option
ldap_sort
LDAP Функции
PHP Manual

ldap_set_rebind_proc

(PHP 4 >= 4.2.0, PHP 5)

ldap_set_rebind_proc — Set a callback function to do re-binds on referral chasing

Описание

bool ldap_set_rebind_proc ( resource $link , callback $callback )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

ldap_set_option
ldap_sort
LDAP Функции


Sort LDAP result entries

ldap_set_rebind_proc
ldap_start_tls
LDAP Функции
PHP Manual

ldap_sort

(PHP 4 >= 4.2.0, PHP 5)

ldap_sort — Sort LDAP result entries

Описание

bool ldap_sort ( resource $link , resource $result , string $sortfilter )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

ldap_set_rebind_proc
ldap_start_tls
LDAP Функции


Start TLS

ldap_sort
ldap_t61_to_8859
LDAP Функции
PHP Manual

ldap_start_tls

(PHP 4 >= 4.2.0, PHP 5)

ldap_start_tls — Start TLS

Описание

bool ldap_start_tls ( resource $link )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

ldap_sort
ldap_t61_to_8859
LDAP Функции


Translate t61 characters to 8859 characters

ldap_start_tls
ldap_unbind
LDAP Функции
PHP Manual

ldap_t61_to_8859

(PHP 4 >= 4.0.2, PHP 5)

ldap_t61_to_8859 — Translate t61 characters to 8859 characters

Описание

string ldap_t61_to_8859 ( string $value )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

ldap_start_tls
ldap_unbind
LDAP Функции


Unbind from LDAP directory

ldap_t61_to_8859
Lotus Notes
LDAP Функции
PHP Manual

ldap_unbind

(PHP 4, PHP 5)

ldap_unbind — Unbind from LDAP directory

Описание

bool ldap_unbind ( resource $link_identifier )

Unbinds from the LDAP directory.

Список параметров

link_identifier

An LDAP link identifier, returned by ldap_connect().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • ldap_bind() - Bind to LDAP directory

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
Введение
Other Services


Введение

Замечание: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 5.0.0. Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, могут быть найдены здесь: » http://pecl.php.net/package/notes.

Внимание

This extension is currently not supported, thus looking for a maintainer.

Внимание

Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, включая имена его функций и относящуюся к нему документацию, может измениться в последующих версиях PHP без уведомления. Используйте это расширение на свой страх и риск.

Lotus Notes
Установка и настройка
Lotus Notes


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Lotus Notes


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
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 extension overview example
  • 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_debug — Turn debug output on/off
    • 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
notes_version
Введение
Other Services


Введение

Memcache module provides handy procedural and object oriented interface to memcached, highly effective caching daemon, which was especially designed to decrease database load in dynamic web applications.

The Memcache module also provides a session handler (memcache).

More information about memcached can be found at » http://www.danga.com/memcached/.

Memcache
Установка и настройка
Memcache


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Memcache


Требования

This module uses functions of » zlib to support on-the-fly data compression. Zlib is required to install this module.

PHP 4.3.3 or newer is required to use the memcache extension.

Установка и настройка
Установка
Установка и настройка


Установка

Это расширение » PECL не поставляется вместе с PHP. Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, могут быть найдены здесь: » http://pecl.php.net/package/memcache.

Замечание: It's possible to disable memcache session handler support. The 'pecl install' option prompts for this (default is enabled) however when compiling statically into PHP the --disable-memcache-session configure option may be used.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Memcache Configuration Options
Name | Default | Changeable | Changelog
memcache.allow_failover | "1" | PHP_INI_ALL | Available since memcache 2.0.2.
memcache.max_failover_attempts | "20" | PHP_INI_ALL | Available since memcache 2.1.0.
memcache.chunk_size | "8192" | PHP_INI_ALL | Available since memcache 2.0.2.
memcache.default_port | "11211" | PHP_INI_ALL | Available since memcache 2.0.2.
memcache.hash_strategy | "standard" | PHP_INI_ALL | Available since memcache 2.2.0.
memcache.hash_function | "crc32" | PHP_INI_ALL | Available since memcache 2.2.0.
session.save_handler | "files" | PHP_INI_ALL | Supported since memcache 2.1.2
session.save_path | "" | PHP_INI_ALL | Supported since memcache 2.1.2

Для подробного описания констант PHP_INI_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

memcache.allow_failover boolean

Whether to transparently failover to other servers on errors.

memcache.max_failover_attempts integer

Defines how many servers to try when setting and getting data. Used only in conjunction with memcache.allow_failover.

memcache.chunk_size integer

Data will be transferred in chunks of this size, setting the value lower requires more network writes. Try increasing this value to 32768 if noticing otherwise inexplicable slowdowns.

memcache.default_port string

The default TCP port number to use when connecting to the memcached server if no other port is specified.

memcache.hash_strategy string

Controls which strategy to use when mapping keys to servers. Set this value to consistent to enable consistent hashing which allows servers to be added or removed from the pool without causing keys to be remapped. Setting this value to standard results in the old strategy being used.

memcache.hash_function string

Controls which hash function to apply when mapping keys to servers, crc32 uses the standard CRC32 hash while fnv uses FNV-1a.

session.save_handler string

Use memcache as a session handler by setting this value to memcache.

session.save_path string

Defines a comma separated of server urls to use for session storage, for example "tcp://host1:11211, tcp://host2:11211".

Each url may contain parameters which are applied to that server, they are the same as for the Memcache::addServer() method. For example "tcp://host1:11211?persistent=1&weight=1&timeout=1&retry_interval=15"

Установка
Типы ресурсов
Установка и настройка


Типы ресурсов

There is only one resource type used in memcache module - it's the link identifier for a cache server connection.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Memcache Constants
Name | Description
MEMCACHE_COMPRESSED (integer) | Used to turn on-the-fly data compression on with Memcache::set(), Memcache::add() и Memcache::replace().
MEMCACHE_HAVE_SESSION (integer) | 1 if this Memcache session handler is available, 0 otherwise.
Типы ресурсов
Примеры
Memcache


Примеры

Содержание

  • memcache extension overview example
Предопределенные константы
memcache extension overview example
Memcache


memcache extension overview example

Примеры
Memcache Функции
Примеры
PHP Manual

Пример #1 memcache extension overview example

In this example, an object is being saved in the cache and then retrieved back. Object and other non-scalar types are serialized before saving, so it's impossible to store resources (i.e. connection identifiers and others) in the cache.

<?php

$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ("Could not connect");

$version = $memcache->getVersion();
echo "Server's version: ".$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 ("Failed to save data at the server");
echo "Store data in the cache (data will expire in 10 seconds)<br/>\n";

$get_result = $memcache->get('key');
echo "Data from the cache:<br/>\n";

var_dump($get_result);

?>

Пример #2 Using memcache session handler

<?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 Функции

Содержание

  • 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_debug — Turn debug output on/off
  • 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 extension overview example
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 [, 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. This parameter is optional and its default value is 11211. 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_debug
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_debug
Memcache Функции


Turn debug output on/off

Memcache::connect
Memcache::decrement
Memcache Функции
PHP Manual

memcache_debug

(PECL memcache >= 0.2.0)

memcache_debug — Turn debug output on/off

Описание

bool memcache_debug ( bool $on_off )

memcache_debug() turns on debug output if parameter on_off is equal to TRUE and turns off if it's FALSE.

Замечание: memcache_debug() is accessible only if PHP was built with --enable-debug option and always returns TRUE in this case. Otherwise, this function has no effect and always returns FALSE.

Список параметров

on_off

Turns debug output on if equals to TRUE. Turns debug output off if equals to FALSE.

Возвращаемые значения

Returns TRUE if PHP was built with --enable-debug option, otherwise returns FALSE.

Memcache::connect
Memcache::decrement
Memcache Функции


Decrement item's value

memcache_debug
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 ] )

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 . Optional and defaults to 1.

Возвращаемые значения

Returns item's new value on success or FALSE on failure.

Примеры

Пример #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_debug
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 ] )

Memcache::delete() deletes item with the key . If parameter timeout is specified, the item will expire after timeout seconds. Also you can use memcache_delete() function.

Список параметров

key

The key associated with the item to delete.

timeout

Execution time of the item. If it's equal to zero, the item will be deleted right away whereas if you set it to 30, the item will be deleted in 30 seconds.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Memcache::delete() example

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);

/* after 10 seconds item will be deleted by the server */
memcache_delete($memcache_obj, 'key_to_delete', 10);

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);

$memcache_obj->delete('key_to_delete', 10);

?>

Смотрите также

  • 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 ]]] )

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. Default value is 100.

Возвращаемые значения

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 ] )

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. This parameter is optional and its default value is 11211.

Возвращаемые значения

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 ]]] )

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. Default value is 100.

Возвращаемые значения

Returns an associative array of server statistics or FALSE on failure.

Смотрите также

  • 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 or FALSE on failure.

Примеры

Пример #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 ] )

Memcache::increment() increments value of the item on the specified value . If item with key key was not numeric and cannot be converted to number, it will change it's value to value . Memcache::increment() does not create an item if it didn't exist.

Замечание: Do not use Memcache::increment() with item, which was stored compressed, because consequent call 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 . Optional and defaults to 1.

Возвращаемые значения

Returns new item's value on success or FALSE on failure.

Примеры

Пример #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

Описание

bool 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.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или 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
Memcached
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 [, int $timeout [, int $retry_interval [, 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. This parameter is optional and its default value is 11211.

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
Memcached
Memcache Функции


Memcached

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Expiration Times
  • 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::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::setServerParams
Введение
Other Services


Введение

» 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://tangent.org/552/libmemcached.html.

Memcached
Установка и настройка
Memcached


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Memcached


Требования

This extension requires » libmemcached client library.

Установка и настройка
Установка
Установка и настройка


Установка

Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, могут быть найдены здесь: » http://pecl.php.net/package/memcached.

If libmemcached is installed in a non-standard location, use --with-libmemcached-dir=DIR switch, where DIR is the libmemcached install prefix. This directory has to contain the include/libmemcached/memcached.h file.

Zlib is required for compression support. To specify non-standard installation of Zlib, use --with-zlib-dir=DIR switch, where DIR is the Zlib install prefix.

Session handler support is enabled by default. To disable it, use --disable-memcached-session switch.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если 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.

Типы ресурсов
Expiration Times
Memcached


Expiration Times

Some storage commands involve sending an expiration value (relative to an item or to an operation requested by the client) to the server. In all such cases, the actual value sent may either be Unix time (number of seconds since January 1, 1970, as an integer), or a number of seconds starting from current time. In the latter case, this number of seconds may not exceed 60*60*24*30 (number of seconds in 30 days); if the expiration value is larger than that, the server will consider it to be real Unix time value rather than an offset from current time.

If the expiration value is 0 (the default), the item never expires (although it may be deleted from the server to make place for other items).

Предопределенные константы
Callbacks
Memcached


Callbacks

Содержание

  • Result callbacks
  • Read-through cache callbacks
Expiration Times
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

Введение

Represents a connection to a set of memcached servers.

Class synopsis

Memcached
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 ] )
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 ( double $cas_token , string $key , mixed $value [, int $expiration ] )
public bool casByKey ( double $cas_token , string $server_key , string $key , mixed $value [, int $expiration ] )
public bool decrement ( string $key [, int $offset ] )
public bool delete ( string $key [, int $time ] )
public bool deleteByKey ( string $server_key , string $key [, int $time ] )
public mixed fetch ( void )
public mixed fetchAll ( void )
public bool flush ([ int $delay ] )
public mixed get ( string $key [, callback $cache_cb [, double &$cas_token ]] )
public mixed getByKey ( string $server_key , string $key [, callback $cache_cb [, double &$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 [, integer $flags ]] )
public void getMultiByKey ( string $server_key , array $keys [, string &$cas_tokens [, integer $flags ]] )
public void getOption ( int $option )
public int getResultCode ( void )
public array getServerByKey ( string $server_key )
public array getServerList ( void )
public array getStats ( void )
public array getVersion ( void )
public bool increment ( string $key [, int $offset ] )
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::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

The key under which to store the value.

value

The value to store.

expiration

The expiration time, defaults to 0. See Expiration Times for more info.

Возвращаемые значения

Возвращает 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

The key identifying the server to store the value on.

key

The key under which to store the value.

value

The value to store.

expiration

The expiration time, defaults to 0. See Expiration Times for more info.

Возвращаемые значения

Возвращает 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 ] )

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 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

The key under which to store the value.

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

The key identifying the server to store the value on.

key

The key under which to store the value.

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 ( double $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

The key under which to store the value.

value

The value to store.

expiration

The expiration time, defaults to 0. See Expiration Times for more info.

Возвращаемые значения

Возвращает 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 ( double $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

The key identifying the server to store the value on.

key

The key under which to store the value.

value

The value to store.

expiration

The expiration time, defaults to 0. See Expiration Times for more info.

Возвращаемые значения

Возвращает 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 */
$m1 = 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 bool Memcached::decrement ( string $key [, int $offset ] )

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; defaults to 1.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или 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 ] )

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. Defaults to 0.

Возвращаемые значения

Возвращает 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 ] )

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

The key identifying the server to store the value on.

key

The key to be deleted.

time

The amount of time the server will wait to delete the item. Defaults to 0.

Возвращаемые значения

Возвращает 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 mixed Memcached::fetch ( void )

Memcached::fetch() retrieves the next result from the last request.

Список параметров

This function has no parameters.

Возвращаемые значения

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(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::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 mixed Memcached::fetchAll ( void )

Memcached::fetchAll() retrieves all the remaining results from the last request.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the results or FALSE on failure. Use Memcached::getResultCode if necessary.

Примеры

Пример #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 ] )

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 в случае возникновения ошибки. Use Memcached::getResultCode if necessary.

Примеры

Пример #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 [, double &$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 [, double &$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

The key identifying the server to store the value on.

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 в случае возникновения ошибки. Use Memcached::getResultCode if necessary.

Примеры

Пример #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

The key identifying the server to store the value on.

keys

Array of keys to request.

with_cas

Whether to request CAS token values also.

value_cb

The result callback or NULL.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Use Memcached::getResultCode if necessary.

Смотрите также

  • 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 [, integer $flags ]] )

Memcached::getMulti() is similar to Memcached::get, but instead of a single key item, it retrievess 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 or FALSE on failure. Use Memcached::getResultCode if necessary.

Примеры

Пример #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 void Memcached::getMultiByKey ( string $server_key , array $keys [, string &$cas_tokens [, integer $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

The key identifying the server to store the value on.

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 or FALSE on failure. Use Memcached::getResultCode if necessary.

Смотрите также

  • 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 void 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::getServerByKey
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.

Список параметров

This function has no parameters.

Возвращаемые значения

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::getServerByKey
Memcached


Map a key to a server

Memcached::getResultCode
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

The key identifying the server to store the value on.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Use Memcached::getResultCode if necessary.

Примеры

Пример #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::getResultCode
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.

Список параметров

This function has no parameters.

Возвращаемые значения

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 the these statistics.

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Список параметров

This function has no parameters.

Возвращаемые значения

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 bool Memcached::increment ( string $key [, int $offset ] )

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; defaults to 1.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или 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

The key identifying the server to store the value on.

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

The key under which to store the value.

value

The value to store.

expiration

The expiration time, defaults to 0. See Expiration Times for more info.

Возвращаемые значения

Возвращает 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

The key identifying the server to store the value on.

key

The key under which to store the value.

value

The value to store.

expiration

The expiration time, defaults to 0. See Expiration Times for more info.

Возвращаемые значения

Возвращает 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

The key under which to store the value.

value

The value to store.

expiration

The expiration time, defaults to 0. See Expiration Times for more info.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Use Memcached::getResultCode if necessary.

Примеры

Пример #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

The key identifying the server to store the value on.

key

The key under which to store the value.

value

The value to store.

expiration

The expiration time, defaults to 0. See Expiration Times for more info.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Use Memcached::getResultCode if necessary.

Примеры

Пример #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

An array of key/value pairs to store on the server.

expiration

The expiration time, defaults to 0. See Expiration Times for more info.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Use Memcached::getResultCode if necessary.

Примеры

Пример #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

The key identifying the server to store the value on.

items

An array of key/value pairs to store on the server.

expiration

The expiration time, defaults to 0. See Expiration Times for more info.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Use Memcached::getResultCode if necessary.

Смотрите также

  • 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
Введение
Other Services


Введение

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.

Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, могут быть найдены здесь: » http://pecl.php.net/package/mqseries.

Замечание: The official name of this extension is mqseries.

There are two ways to connect to 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.

No extra configuration parameters exists.

Установка
Типы ресурсов
Установка и настройка


Типы ресурсов

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
Gopher
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
Gopher
mqseries Функции


Net Gopher

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Basic Example
  • Gopher Функции
    • gopher_parsedir — Translate a gopher formatted directory entry into an associative array.
mqseries_strerror
Введение
Other Services


Введение

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.

Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и 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 Функции
Network
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 Функции
Network
Gopher Функции


Network

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Network Функции
    • checkdnsrr — Check DNS records corresponding to a given Internet host name or IP address
    • 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 — Get the Internet host name corresponding to a given IP address
    • gethostbyname — Get the IPv4 address corresponding to a given Internet host name
    • gethostbynamel — Get a list of IPv4 addresses corresponding to a given Internet host name
    • gethostname — Gets the host name
    • getmxrr — Get MX records corresponding to a given Internet host name
    • 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 — 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
    • 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
gopher_parsedir
Введение
Other Services


Введение

Provides various networking functions.

Network
Установка и настройка
Network


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Network


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Network Configuration Options
Name | Default | Changeable | Changelog
define_syslog_variables | "0" | PHP_INI_ALL | Removed in PHP 6.0.0

Для подробного описания констант PHP_INI_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

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 — Check DNS records corresponding to a given Internet host name or IP address
  • 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 — Get the Internet host name corresponding to a given IP address
  • gethostbyname — Get the IPv4 address corresponding to a given Internet host name
  • gethostbynamel — Get a list of IPv4 addresses corresponding to a given Internet host name
  • gethostname — Gets the host name
  • getmxrr — Get MX records corresponding to a given Internet host name
  • 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 — 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
  • 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


Check DNS records corresponding to a given Internet host name or IP address

Network Функции
closelog
Network Функции
PHP Manual

checkdnsrr

(PHP 4, PHP 5)

checkdnsrr — Check DNS records corresponding to a given Internet host name or IP address

Описание

bool checkdnsrr ( string $host [, string $type ] )

Searches DNS for records of type type corresponding to host .

Список параметров

host

host may either be the IP address in dotted-quad notation or the host name.

type

type may be any one of: A, MX, NS, SOA, PTR, CNAME, AAAA, A6, SRV, NAPTR, TXT or ANY. The default is MX.

Возвращаемые значения

Returns TRUE if any records are found; returns FALSE if no records were found or if an error occurred.

Список изменений

Версия | Описание
5.3.0 | This function is now available on Windows platforms.
5.2.4 | TXT type was added.
5.0.0 | AAAA type was added.

Примечания

Замечание: For compatibility with Windows before this was implemented, then try the » PEAR class » Net_DNS.

Смотрите также

  • dns_get_record() - Fetch DNS Resource Records associated with a hostname
  • getmxrr() - Get MX records corresponding to a given Internet host name
  • gethostbyaddr() - Get the Internet host name corresponding to a given IP address
  • gethostbyname() - Get the IPv4 address corresponding to a given Internet host name
  • gethostbynamel() - Get a list of IPv4 addresses corresponding to a given Internet host name
  • the named(8) manual page

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

Примеры

Пример #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 ...
?>

Список изменений

Версия | Описание
6.0.0 | This function was removed from PHP.
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. The default is 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. 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.

Примеры

Пример #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 you have compiled in OpenSSL support, 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

Errors/Exceptions

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.
4.0.0 | UDP 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() - Set blocking/non-blocking mode on a stream
  • stream_set_timeout() - Set timeout period on a stream
  • fgets() - Читает строку из файла
  • fgetss() - Прочитать строку из файла и отбросить HTML-теги
  • fwrite() - Бинарно-безопасная запись в файл
  • fclose() - Закрывает дескриптор файла
  • feof() - Проверяет, достигнут ли конец файла
  • The Curl extension

dns_get_record
gethostbyaddr
Network Функции


Get the Internet host name corresponding to a given IP address

fsockopen
gethostbyname
Network Функции
PHP Manual

gethostbyaddr

(PHP 4, PHP 5)

gethostbyaddr — Get the Internet host name corresponding to a given IP address

Описание

string gethostbyaddr ( string $ip_address )

Returns the host name of the Internet host specified by ip_address .

Список параметров

ip_address

The host IP address.

Возвращаемые значения

Returns the host name or the unmodified ip_address on failure.

Примеры

Пример #1 A simple gethostbyaddr() example

<?php
$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);

echo $hostname;
?>

Смотрите также

  • gethostbyname() - Get the IPv4 address corresponding to a given Internet host name
  • gethostbynamel() - Get a list of IPv4 addresses corresponding to a given Internet host name

fsockopen
gethostbyname
Network Функции


Get the IPv4 address corresponding to a given Internet host name

gethostbyaddr
gethostbynamel
Network Функции
PHP Manual

gethostbyname

(PHP 4, PHP 5)

gethostbyname — Get the IPv4 address corresponding to a given Internet host name

Описание

string gethostbyname ( string $hostname )

Returns the IPv4 address of the Internet host specified by hostname .

Список параметров

hostname

The host name.

Возвращаемые значения

Returns the IPv4 address or a string containing the unmodified hostname on failure.

Примеры

Пример #1 A simple gethostbyname() example

<?php
$ip = gethostbyname('www.example.com');

echo $ip;
?>

Смотрите также

  • gethostbyaddr() - Get the Internet host name corresponding to a given IP address
  • gethostbynamel() - Get a list of IPv4 addresses corresponding to a given Internet host name
  • 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 Функции


Get a list of IPv4 addresses corresponding to a given Internet host name

gethostbyname
gethostname
Network Функции
PHP Manual

gethostbynamel

(PHP 4, PHP 5)

gethostbynamel — Get a list of IPv4 addresses corresponding to a given Internet host name

Описание

array gethostbynamel ( string $hostname )

Returns a list of IPv4 addresses to which the Internet host specified by hostname resolves.

Список параметров

hostname

The host name.

Возвращаемые значения

Returns an array of IPv4 addresses or FALSE if hostname could not be resolved.

Примеры

Пример #1 gethostbynamel() example

<?php
$hosts = gethostbynamel('www.example.com');
print_r($hosts);
?>

Результат выполнения данного примера:

Array
(
    [0] => 192.0.34.166
)

Смотрите также

  • gethostbyname() - Get the IPv4 address corresponding to a given Internet host name
  • gethostbyaddr() - Get the Internet host name corresponding to a given IP address
  • checkdnsrr() - Check DNS records corresponding to a given Internet host name or IP address
  • getmxrr() - Get MX records corresponding to a given Internet host name
  • 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
?>

Смотрите также

  • gethostbyname() - Get the IPv4 address corresponding to a given Internet host name

gethostbynamel
getmxrr
Network Функции


Get MX records corresponding to a given Internet host name

gethostname
getprotobyname
Network Функции
PHP Manual

getmxrr

(PHP 4, PHP 5)

getmxrr — Get MX records corresponding to a given Internet host name

Описание

bool getmxrr ( string $hostname , array &$mxhosts [, array &$weight ] )

Searches DNS for MX records corresponding to hostname .

Список параметров

hostname

The Internet host name.

mxhosts

A list of the MX records found is placed into the array mxhosts .

weight

If the weight array is given, it will be filled with the weight information gathered.

Возвращаемые значения

Returns TRUE if any records are found; returns FALSE if no records were found or if an error occurred.

Список изменений

Версия | Описание
5.3.0 | This function is now available on Windows platforms.

Примечания

Замечание: This function should not be used for the purposes of address verification. Only the mailexchangers found in DNS are returned, however, according to » RFC 2821 when no mail exchangers are listed, hostname itself should be used as the only mail exchanger with a priority of 0.

Замечание: For compatibility with Windows before this was implemented, then try the » PEAR class » Net_DNS.

Смотрите также

  • checkdnsrr() - Check DNS records corresponding to a given Internet host name or IP address
  • dns_get_record() - Fetch DNS Resource Records associated with a hostname
  • gethostbyname() - Get the IPv4 address corresponding to a given Internet host name
  • gethostbynamel() - Get a list of IPv4 addresses corresponding to a given Internet host name
  • gethostbyaddr() - Get the Internet host name corresponding to a given IP address
  • the named(8) manual page

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.

Смотрите также

  • 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
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
Network Функции


Send a raw HTTP header

getservbyport
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");
?>

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 some 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.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Список изменений

Версия | Описание
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.

Примечания

Замечание: As of PHP 4, 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

getservbyport
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"
}

Смотрите также

  • headers_sent() - Checks if or where headers have been sent
  • header() - Send a raw HTTP header
  • setcookie() - Send a cookie
  • apache_response_headers() - Получить список всех заголовков HTTP ответа

header
headers_sent
Network Функции


Checks if or where headers have been sent

headers_list
inet_ntop
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;
}

?>

Смотрите также

  • ob_start() - Turn on output buffering
  • 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
inet_ntop
Network Функции


Converts a packed internet address to a human readable representation

headers_sent
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 or FALSE on failure.

Примеры

Пример #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

headers_sent
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

Примеры

Пример #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.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, 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.

See » Netscape cookie specification for specifics on how each setcookie() parameter works

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.
expire is compared to the client's time which can differ from server's time.

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 make the cookie available on all subdomains of example.com then you'd set it to '.example.com'. The . is not required but makes it compatible with more browsers. Setting it to www.example.com will make the cookie only available in the www subdomain. Refer to tail matching in the » spec for details.

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. The default is FALSE. 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. This setting can effectively help to reduce identity theft through XSS attacks (although it is not supported by all browsers). 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) {
        echo "$name : $value <br />\n";
    }
}
?>

Результат выполнения данного примера:

three : cookiethree
two : cookietwo
one : cookieone

Список изменений

Версия | Описание
5.2.0 | The httponly parameter was added.

Примечания

Замечание: As of PHP 4, 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 users 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
  • » 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
SAM
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
SAM
Network Функции


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.
syslog
Введение
Other Services


Введение

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.

Установка и настройка
Установка
Установка и настройка


Установка

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 cvs 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 CVS 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.

Описание

SAMConnection
bool 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

Описание

SAMConnection
bool 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

Описание

SAMConnection
bool 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

SAMConnection
int $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.

Описание

SAMConnection
string $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

Описание

SAMConnection
bool 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.

Описание

SAMConnection
SAMMessage 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.

Описание

SAMConnection
array 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.

Описание

SAMConnection
SAMMessage 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.

Описание

SAMConnection
SAMMessage 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.

Описание

SAMConnection
bool 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.

Описание

SAMConnection
string 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.

SAMConnection
void 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.

Описание

SAMConnection
string 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.

Описание

SAMConnection
bool 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.

Описание

SAMMessage
string $nody;

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.

Описание

SAMMessage
object $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
    • snmpget — Fetch an SNMP object
    • snmpgetnext — Fetch a SNMP object
    • snmprealwalk — Return all objects including their respective object ID within the specified one
    • snmpset — Set an SNMP object
    • snmpwalk — Fetch all the SNMP objects from an agent
    • snmpwalkoid — Query for a tree of information about a network entity
SAMMessage->header
Введение
Other Services


Введение

SNMP Functions.

SNMP
Установка и настройка
SNMP


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
SNMP


Требования

In order to use the SNMP functions on Unix you need to install the » NET-SNMP package. On Windows these functions are only available on NT and not on Win95/98.

Установка и настройка
Установка
Установка и настройка


Установка

Important: 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.

The Windows distribution 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.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение подгружается во время выполнения.

SNMP_OID_OUTPUT_FULL (integer)
As of 5.2.0
SNMP_OID_OUTPUT_NUMERIC (integer)
As of 5.2.0
SNMP_VALUE_LIBRARY (integer)
SNMP_VALUE_PLAIN (integer)
SNMP_VALUE_OBJECT (integer)
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
  • snmpget — Fetch an SNMP object
  • snmpgetnext — Fetch a SNMP object
  • snmprealwalk — Return all objects including their respective object ID within the specified one
  • snmpset — Set 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 )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Смотрите также

  • 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 )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

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

Описание

void snmp_set_enum_print ( int $enum_print )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Примечания

Замечание: 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_numeric_print )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список изменений

Версия | Описание
5.2.0 | Since PHP 5.2.0, Эта функция является псевдонимом snmp_set_oid_output_format().

Смотрите также

  • 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

Описание

void snmp_set_oid_output_format ( int $oid_format )

snmp_set_oid_output_format() sets the output format to be full or numeric.

Список параметров

oid_format

Set it to SNMP_OID_OUTPUT_FULL if you want a full output, SNMP_OID_OUTPUT_NUMERIC otherwise.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примечания

Замечание: 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.

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

Описание

void 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 then 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
snmpget
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

Описание

void snmp_set_valueretrieval ( int $method )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Смотрите также

  • snmp_get_valueretrieval() - Return the method how the SNMP values will be returned

snmp_set_quick_print
snmpget
SNMP Функции


Fetch an SNMP object

snmp_set_valueretrieval
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 [, int $retries ]] )

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

retries

Возвращаемые значения

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 an SNMP object

snmp_set_valueretrieval
snmpgetnext
SNMP Функции


Fetch a SNMP object

snmpget
snmprealwalk
SNMP Функции
PHP Manual

snmpgetnext

(PHP 5)

snmpgetnext — Fetch a SNMP object

Описание

string snmpgetnext ( string $host , string $community , string $object_id [, int $timeout [, int $retries ]] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

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 [, int $retries ]] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

snmpgetnext
snmpset
SNMP Функции


Set an SNMP object

snmprealwalk
snmpwalk
SNMP Функции
PHP Manual

snmpset

(PHP 4, PHP 5)

snmpset — Set an SNMP object

Описание

bool snmpset ( string $hostname , string $community , string $object_id , string $type , mixed $value [, int $timeout [, int $retries ]] )

snmpset() is used to set the value of an SNMP object specified by the object_id .

Список параметров

hostname

The SNMP agent.

community

The write community.

object_id

The SNMP object.

type

value

timeout

retries

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • 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 [, int $retries ]] )

snmpwalk() function is used to read all the values from an SNMP agent specified by the hostname .

Список параметров

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

retries

Возвращаемые значения

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

Смотрите также

  • snmpwalkoid() - Query for a tree of information about a network entity

snmpset
snmpwalkoid
SNMP Функции


Query for a tree of information about a network entity

snmpwalk
Sockets
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 [, int $retries ]] )

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

retries

Возвращаемые значения

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
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
snmpwalkoid
Введение
Other Services


Введение

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 connecting to an AF_INET 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.

Примеры

Пример #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, traceroute, etc).
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.

Errors/Exceptions

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.

Смотрите также

  • 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 )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

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 -1 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 an 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 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 or FALSE one 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.

Замечание: 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
Введение
Other Services


Введение

Bindings to the » libssh2 library which provide access to resources (shell, remote exec, tunneling, file transfer) on a remote machine using a secure cryptographic transport.

SSH2
Установка и настройка
SSH2


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
SSH2


Установка

Windows binaries may be found at » http://snaps.php.net/. To install, download php_ssh2.dll to the folder specified by your php.ini file's extension_dir directive. Enable it by adding extension=php_ssh2.dll to your php.ini and restarting your web server.

extension_dir=c:/php5/exts/
extension=php_ssh2.dll

Linux, BSD, and other *nix variants can be compiled using the following steps:

  • Download and install » OpenSSL. If you install OpenSSL via your distribution's packaging system be sure to install the development libraries as well. This will typically be a package named openssl-dev, openssl_devel, or some variation thereof.
  • Download and install » libssh2. Typically this means executing the following command from the libssh2 source tree. ./configure && make all install.
  • Run the pecl installer for PECL/ssh2: pecl install ssh2
  • Copy ssh2.so from the directory indicated by the build process to the location specified in your php.ini file under extension_dir.
  • Add extension=ssh2.so to your php.ini
  • Restart your web server to reload your php.ini settings.

Замечание: Development Versions
There are currently no stable versions of PECL/ssh2, to force installation of the beta version of PECL/ssh2 execute: pecl install ssh2-beta

Подсказка

Compiling PECL/ssh2 without using the PECL command

Rather than using pecl install ssh2 to automatically download and install PECL/ssh2, you may download the tarball from » PECL. From the root of the unpacked tarball, run: phpize && ./configure --with-ssh2 && make to generate ssh2.so. Once built, continue the installation from step 4 above.

Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, могут быть найдены здесь: » http://pecl.php.net/package/ssh2.

Замечание: You will need version 0.4 or greater of the libssh2 library (possibly higher, see release notes).

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение подгружается во время выполнения.

SSH2_FINGERPRINT_MD5 (integer)
Flag to ssh2_fingerprint() requesting hostkey fingerprint as an MD5 hash.
SSH2_FINGERPRINT_SHA1 (integer)
Flag to ssh2_fingerprint() requesting hostkey fingerprint as an SHA1 hash.
SSH2_FINGERPRINT_HEX (integer)
Flag to ssh2_fingerprint() requesting hostkey fingerprint as a string of hexits.
SSH2_FINGERPRINT_RAW (integer)
Flag to ssh2_fingerprint() requesting hostkey fingerprint as a raw string of 8-bit characters.
SSH2_TERM_UNIT_CHARS (integer)
Flag to ssh2_shell() specifying that width and height are provided as character sizes.
SSH2_TERM_UNIT_PIXELS (integer)
Flag to ssh2_shell() specifying that width and height are provided in pixel units.
SSH2_DEFAULT_TERM_WIDTH (integer)
Default terminal width requested by ssh2_shell().
SSH2_DEFAULT_TERM_HEIGHT (integer)
Default terminal height requested by ssh2_shell().
SSH2_DEFAULT_TERM_UNIT (integer)
Default terminal units requested by ssh2_shell().
SSH2_STREAM_STDIO (integer)
Flag to ssh2_fetch_stream() requesting STDIO subchannel.
SSH2_STREAM_STDERR (integer)
Flag to ssh2_fetch_stream() requesting STDERR subchannel.
SSH2_DEFAULT_TERMINAL (string)
Default terminal type (e.g. vt102, ansi, xterm, vanilla) requested by 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 client to server.

* - 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 or FALSE on failure.

Примеры

Пример #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. Defaults to SSH2_FINGERPRINT_MD5 | SSH2_FINGERPRINT_HEX.

Возвращаемые значения

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 ]] )

Замечание: The public key subsystem is used for managing public keys on a server to which the client is already authenticated. To authenticate to a remote system using public key authentication, use the 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, or FALSE on failure.

Примечания

Замечание: The public key subsystem is used for managing public keys on a server to which the client is already authenticated. To authenticate to a remote system using public key authentication, use the 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

Примечания

Замечание: The public key subsystem is used for managing public keys on a server to which the client is already authenticated. To authenticate to a remote system using public key authentication, use the 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 в случае возникновения ошибки.

Примечания

Замечание: The public key subsystem is used for managing public keys on a server to which the client is already authenticated. To authenticate to a remote system using public key authentication, use the 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 PHP5 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 PHP5 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 and defaults to vanilla.

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
SVN
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
SVN
SSH2 Функции


Subversion

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • SVN Функции
    • svn_add — Schedules the addition of an item in a working directory
    • svn_auth_get_parameter — Retrieves authentication parameter
    • svn_auth_set_parameter — Sets an authentication parameter
    • svn_blame — Get the SVN blame for a file
    • svn_cat — Returns the contents of a file in a repository
    • svn_checkout — Checks out a working copy from the repository
    • svn_cleanup — Recursively cleanup a working copy directory, finishing incomplete operations and removing locks
    • svn_client_version — Returns the version of the SVN client libraries
    • svn_commit — Sends changes from the local working copy to the repository
    • svn_diff — Recursively diffs two paths
    • svn_export — Export the contents of a SVN directory
    • svn_fs_abort_txn — Abort a transaction, returns true if everything is okay, false otherwise
    • svn_fs_apply_text — Creates and returns a stream that will be used to replace
    • svn_fs_begin_txn2 — Create a new transaction
    • svn_fs_change_node_prop — Return true if everything is ok, false otherwise
    • svn_fs_check_path — Determines what kind of item lives at path in a given repository fsroot
    • svn_fs_contents_changed — Return true if content is different, false otherwise
    • svn_fs_copy — Copies a file or a directory, returns true if all is ok, false otherwise
    • svn_fs_delete — Deletes a file or a directory, return true if all is ok, false otherwise
    • svn_fs_dir_entries — Enumerates the directory entries under path; returns a hash of dir names to file type
    • svn_fs_file_contents — Returns a stream to access the contents of a file from a given version of the fs
    • svn_fs_file_length — Returns the length of a file from a given version of the fs
    • svn_fs_is_dir — Return true if the path points to a directory, false otherwise
    • svn_fs_is_file — Return true if the path points to a file, false otherwise
    • svn_fs_make_dir — Creates a new empty directory, returns true if all is ok, false otherwise
    • svn_fs_make_file — Creates a new empty file, returns true if all is ok, false otherwise
    • svn_fs_node_created_rev — Returns the revision in which path under fsroot was created
    • svn_fs_node_prop — Returns the value of a property for a node
    • svn_fs_props_changed — Return true if props are different, false otherwise
    • svn_fs_revision_prop — Fetches the value of a named property
    • svn_fs_revision_root — Get a handle on a specific version of the repository root
    • svn_fs_txn_root — Creates and returns a transaction root
    • svn_fs_youngest_rev — Returns the number of the youngest revision in the filesystem
    • svn_import — Imports an unversioned path into a repository
    • svn_log — Returns the commit log messages of a repository URL
    • svn_ls — Returns list of directory contents in repository URL, optionally at revision number
    • svn_mkdir — Creates a directory in a working copy or repository
    • svn_repos_create — Create a new subversion repository at path
    • svn_repos_fs_begin_txn_for_commit — Create a new transaction
    • svn_repos_fs_commit_txn — Commits a transaction and returns the new revision
    • svn_repos_fs — Gets a handle on the filesystem for a repository
    • svn_repos_hotcopy — Make a hot-copy of the repos at repospath; copy it to destpath
    • svn_repos_open — Open a shared lock on a repository.
    • svn_repos_recover — Run recovery procedures on the repository located at path.
    • svn_revert — Revert changes to the working copy
    • svn_status — Returns the status of working copy files and directories
    • svn_update — Update working copy
ssh2_tunnel
Введение
Other Services


Введение

This extension implements PHP bindings for » Subversion (SVN), a version control system, allowing PHP scripts to communicate with SVN repositories and working copies without direct command line calls to the svn executable.

Внимание

Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, включая имена его функций и относящуюся к нему документацию, может измениться в последующих версиях PHP без уведомления. Используйте это расширение на свой страх и риск.

SVN
Установка и настройка
SVN


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
SVN


Требования

The Subversion binaries are not necessary to use this extension. However, when compiling the extension, libsvn (the Subversion headers) must be available.

Установка и настройка
Установка
Установка и настройка


Установка

Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, могут быть найдены здесь: » http://pecl.php.net/package/svn

If ./configure is having trouble finding the SVN files (for example, Subversion was installed with a different prefix directory), use ./configure --with-svn=$USR_PATH to specify the directory where the include/subversion-1/ folder is located.

Вы можете скачать DLL этого расширения PECL со страницы » PHP Downloads или » http://snaps.php.net/.

Внимание

If the extension is compiled against libsvn 1.3, functions that work with working copies will fail when used on working copies created by Subversion 1.4.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение подгружается во время выполнения.

SVN_REVISION_HEAD (integer)
Magic number (-1) specifying the HEAD revision
Constants usable with svn_auth_set_parameter()
SVN_AUTH_PARAM_DEFAULT_USERNAME (string)
Property for default username to use when performing basic authentication
SVN_AUTH_PARAM_DEFAULT_PASSWORD (string)
Property for default password to use when performing basic authentication
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)
Custom property for ignoring SSL cert verification errors
Filesystem constants
SVN_FS_CONFIG_FS_TYPE (string)
Configuration key that determines filesystem type
SVN_FS_TYPE_BDB (string)
Filesystem is Berkeley-DB implementation
SVN_FS_TYPE_FSFS (string)
Filesystem is native-filesystem implementation
Reserved property constants
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
Working copy status constants
SVN_WC_STATUS_NONE (int)
Status does not exist
SVN_WC_STATUS_UNVERSIONED (int)
Item is not versioned in working copy
SVN_WC_STATUS_NORMAL (int)
Item exists, nothing else is happening
SVN_WC_STATUS_ADDED (int)
Item is scheduled for addition
SVN_WC_STATUS_MISSING (int)
Item is versioned but missing from the working copy
SVN_WC_STATUS_DELETED (int)
Item is scheduled for deletion
SVN_WC_STATUS_REPLACED (int)
Item was deleted and then re-added
SVN_WC_STATUS_MODIFIED (int)
Item (text or properties) was modified
SVN_WC_STATUS_MERGED (int)
Item's local modifications were merged with repository modifications
SVN_WC_STATUS_CONFLICTED (int)
Item's local modifications conflicted with repository modifications
SVN_WC_STATUS_IGNORED (int)
Item is unversioned but configured to be ignored
SVN_WC_STATUS_OBSTRUCTED (int)
Unversioned item is in the way of a versioned resource
SVN_WC_STATUS_EXTERNAL (int)
Unversioned path that is populated using svn:externals
SVN_WC_STATUS_INCOMPLETE (int)
Directory does not contain complete entries list
Node type constants
SVN_NODE_NONE (int)
Absent
SVN_NODE_FILE (int)
File
SVN_NODE_DIR (int)
Directory
SVN_NODE_UNKNOWN (int)
Something Subversion cannot identify
Типы ресурсов
SVN Функции
SVN


SVN Функции

Содержание

  • svn_add — Schedules the addition of an item in a working directory
  • svn_auth_get_parameter — Retrieves authentication parameter
  • svn_auth_set_parameter — Sets an authentication parameter
  • svn_blame — Get the SVN blame for a file
  • svn_cat — Returns the contents of a file in a repository
  • svn_checkout — Checks out a working copy from the repository
  • svn_cleanup — Recursively cleanup a working copy directory, finishing incomplete operations and removing locks
  • svn_client_version — Returns the version of the SVN client libraries
  • svn_commit — Sends changes from the local working copy to the repository
  • svn_diff — Recursively diffs two paths
  • svn_export — Export the contents of a SVN directory
  • svn_fs_abort_txn — Abort a transaction, returns true if everything is okay, false otherwise
  • svn_fs_apply_text — Creates and returns a stream that will be used to replace
  • svn_fs_begin_txn2 — Create a new transaction
  • svn_fs_change_node_prop — Return true if everything is ok, false otherwise
  • svn_fs_check_path — Determines what kind of item lives at path in a given repository fsroot
  • svn_fs_contents_changed — Return true if content is different, false otherwise
  • svn_fs_copy — Copies a file or a directory, returns true if all is ok, false otherwise
  • svn_fs_delete — Deletes a file or a directory, return true if all is ok, false otherwise
  • svn_fs_dir_entries — Enumerates the directory entries under path; returns a hash of dir names to file type
  • svn_fs_file_contents — Returns a stream to access the contents of a file from a given version of the fs
  • svn_fs_file_length — Returns the length of a file from a given version of the fs
  • svn_fs_is_dir — Return true if the path points to a directory, false otherwise
  • svn_fs_is_file — Return true if the path points to a file, false otherwise
  • svn_fs_make_dir — Creates a new empty directory, returns true if all is ok, false otherwise
  • svn_fs_make_file — Creates a new empty file, returns true if all is ok, false otherwise
  • svn_fs_node_created_rev — Returns the revision in which path under fsroot was created
  • svn_fs_node_prop — Returns the value of a property for a node
  • svn_fs_props_changed — Return true if props are different, false otherwise
  • svn_fs_revision_prop — Fetches the value of a named property
  • svn_fs_revision_root — Get a handle on a specific version of the repository root
  • svn_fs_txn_root — Creates and returns a transaction root
  • svn_fs_youngest_rev — Returns the number of the youngest revision in the filesystem
  • svn_import — Imports an unversioned path into a repository
  • svn_log — Returns the commit log messages of a repository URL
  • svn_ls — Returns list of directory contents in repository URL, optionally at revision number
  • svn_mkdir — Creates a directory in a working copy or repository
  • svn_repos_create — Create a new subversion repository at path
  • svn_repos_fs_begin_txn_for_commit — Create a new transaction
  • svn_repos_fs_commit_txn — Commits a transaction and returns the new revision
  • svn_repos_fs — Gets a handle on the filesystem for a repository
  • svn_repos_hotcopy — Make a hot-copy of the repos at repospath; copy it to destpath
  • svn_repos_open — Open a shared lock on a repository.
  • svn_repos_recover — Run recovery procedures on the repository located at path.
  • svn_revert — Revert changes to the working copy
  • svn_status — Returns the status of working copy files and directories
  • svn_update — Update working copy
Предопределенные константы
svn_add
SVN


Schedules the addition of an item in a working directory

SVN Функции
svn_auth_get_parameter
SVN Функции
PHP Manual

svn_add

(PECL svn >= 0.1.0)

svn_add — Schedules the addition of an item in a working directory

Описание

bool svn_add ( string $path [, bool $recursive= true [, bool $force= false ]] )

Adds the file, directory or symbolic link at path to the working directory. The item will be added to the repository the next time you call svn_commit() on the working copy.

Список параметров

path

Path of item to add.

Замечание: Relative paths will be resolved as if the current working directory was the one that contains the PHP binary. To use the calling script's working directory, use realpath() or dirname(__FILE__).

recursive

If item is directory, whether or not to recursively add all of its contents. Default is TRUE

force

If true, Subversion will recurse into already versioned directories in order to add unversioned files that may be hiding in those directories. Default is FALSE

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Примеры

Пример #1 svn_add() example

In a working directory where svn status returns:

$ svn status
?      foobar.txt

...this code:

<?php
svn_add('foobar.txt');
?>

...will schedule foobar.txt for addition into the repository.

Смотрите также

  • » SVN documentation on svn add

SVN Функции
svn_auth_get_parameter
SVN Функции


Retrieves authentication parameter

svn_add
svn_auth_set_parameter
SVN Функции
PHP Manual

svn_auth_get_parameter

(PECL svn >= 0.1.0)

svn_auth_get_parameter — Retrieves authentication parameter

Описание

string svn_auth_get_parameter ( string $key )

Retrieves authentication parameter at key . For a list of valid keys and their meanings, consult the authentication constants list.

Список параметров

key

String key name. Use the authentication constants defined by this extension to specify a key.

Возвращаемые значения

Returns the string value of the parameter at key ; returns NULL if parameter does not exist.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Смотрите также

  • svn_auth_set_parameter() - Sets an authentication parameter
  • Authentication constants

svn_add
svn_auth_set_parameter
SVN Функции


Sets an authentication parameter

svn_auth_get_parameter
svn_blame
SVN Функции
PHP Manual

svn_auth_set_parameter

(PECL svn >= 0.1.0)

svn_auth_set_parameter — Sets an authentication parameter

Описание

void svn_auth_set_parameter ( string $key , string $value )

Sets authentication parameter at key to value . For a list of valid keys and their meanings, consult the authentication constants list.

Список параметров

key

String key name. Use the authentication constants defined by this extension to specify a key.

value

String value to set to parameter at key. Format of value varies with the parameter.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Примеры

Пример #1 Default authentication example

This example configures SVN so that the default username to use is 'Bob' and the default password is '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() - Retrieves authentication parameter
  • Authentication constants

svn_auth_get_parameter
svn_blame
SVN Функции


Get the SVN blame for a file

svn_auth_set_parameter
svn_cat
SVN Функции
PHP Manual

svn_blame

(PECL svn >= 0.3.0)

svn_blame — Get the SVN blame for a file

Описание

array svn_blame ( string $repository_url [, int $revision_no= SVN_REVISION_HEAD ] )

Get the SVN blame of a file from a repository URL.

Список параметров

repository_url

The repository URL.

revision_no

The revision number.

Возвращаемые значения

An array of SVN blame information separated by line which includes the revision number, line number, line of code, author, and date.

Примеры

Пример #1 svn_blame() example

<?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() - Recursively diffs two paths
  • svn_logs()
  • svn_status() - Returns the status of working copy files and directories

svn_auth_set_parameter
svn_cat
SVN Функции


Returns the contents of a file in a repository

svn_blame
svn_checkout
SVN Функции
PHP Manual

svn_cat

(PECL svn >= 0.1.0)

svn_cat — Returns the contents of a file in a repository

Описание

string svn_cat ( string $repos_url [, int $revision_no ] )

Returns the contents of the URL repos_url to a file in the repository, optionally at revision number revision_no .

Список параметров

repos_url

String URL path to item in a repository.

revision_no

Integer revision number of item to retrieve, default is the HEAD revision.

Возвращаемые значения

Returns the string contents of the item from the repository on success, and FALSE on failure.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Примеры

Пример #1 Basic example

This example retrieves the contents of a file at revision 28:

<?php
$contents = svn_cat('http://www.example.com/svnroot/calc/gui.c', 28)
?>

Смотрите также

  • svn_list()
  • » SVN documentation on svn cat

svn_blame
svn_checkout
SVN Функции


Checks out a working copy from the repository

svn_cat
svn_cleanup
SVN Функции
PHP Manual

svn_checkout

(PECL svn >= 0.1.0)

svn_checkout — Checks out a working copy from the repository

Описание

bool svn_checkout ( string $repos , string $targetpath [, int $revision [, int $flags= 0 ]] )

Checks out a working copy from the repository at repos to targetpath at revision revision .

Список параметров

repos

String URL path to directory in repository to check out.

targetpath

String local path to directory to check out in to

Замечание: Relative paths will be resolved as if the current working directory was the one that contains the PHP binary. To use the calling script's working directory, use realpath() or dirname(__FILE__).

revision

Integer revision number of repository to check out. Default is HEAD, the most recent revision.

flags

Any combination of SVN_NON_RECURSIVE and SVN_IGNORE_EXTERNALS.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Примеры

Пример #1 Basic example

This example demonstrates how to check out a directory from a repository to a directory named calc:

<?php
svn_checkout('http://www.example.com/svnroot/calc/trunk', dirname(__FILE__) . '/calc');
?>

The dirname(__FILE__) call is necessary in order to convert the calc relative path into an absolute one. If calc exists, you can also use realpath() to retrieve an absolute path.

Смотрите также

  • svn_add() - Schedules the addition of an item in a working directory
  • svn_commit() - Sends changes from the local working copy to the repository
  • svn_status() - Returns the status of working copy files and directories
  • svn_update() - Update working copy
  • » SVN documentation on svn checkout

svn_cat
svn_cleanup
SVN Функции


Recursively cleanup a working copy directory, finishing incomplete operations and removing locks

svn_checkout
svn_client_version
SVN Функции
PHP Manual

svn_cleanup

(PECL svn >= 0.1.0)

svn_cleanup — Recursively cleanup a working copy directory, finishing incomplete operations and removing locks

Описание

bool svn_cleanup ( string $workingdir )

Recursively cleanup working copy directory workingdir , finishing any incomplete operations and removing working copy locks. Use when a working copy is in limbo and needs to be usable again.

Список параметров

workingdir

String path to local working directory to cleanup

Замечание: Relative paths will be resolved as if the current working directory was the one that contains the PHP binary. To use the calling script's working directory, use realpath() or dirname(__FILE__).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Примеры

Пример #1 Basic example

This example demonstrates clean up of a working copy in a directory named help-me:

<?php
svn_cleanup(realpath('help-me'));
?>

The realpath() call is necessary due to SVN's quirky handling of relative paths.

Смотрите также

  • update()
  • » SVN documentation on svn cleanup

svn_checkout
svn_client_version
SVN Функции


Returns the version of the SVN client libraries

svn_cleanup
svn_commit
SVN Функции
PHP Manual

svn_client_version

(PECL svn >= 0.1.0)

svn_client_version — Returns the version of the SVN client libraries

Описание

string svn_client_version ( void )

Returns the version of the SVN client libraries

Возвращаемые значения

String version number, usually in form of x.y.z.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Примеры

Пример #1 Basic example

<?php
echo svn_client_version();
?>

Результатом выполнения данного примера будет что-то подобное:

1.3.1

svn_cleanup
svn_commit
SVN Функции


Sends changes from the local working copy to the repository

svn_client_version
svn_diff
SVN Функции
PHP Manual

svn_commit

(PECL svn >= 0.1.0)

svn_commit — Sends changes from the local working copy to the repository

Описание

array svn_commit ( string $log , array $targets [, bool $dontrecurse ] )

Commits changes made in the local working copy files enumerated in the targets array to the repository, with the log message log . Directories in the targets array will be recursively committed unless dontrecurse is set to true.

Замечание: This function does not have any parameters for specifying authentication, so a username and password must be set using svn_auth_set_parameter()

Список параметров

log

String log text to commit

targets

Array of local paths of files to be committed

Внимание

This parameter must be an array, a string for a single target is not acceptable.

Замечание: Relative paths will be resolved as if the current working directory was the one that contains the PHP binary. To use the calling script's working directory, use realpath() or dirname(__FILE__).

dontrecurse

Boolean flag to disable recursive committing of directories in the targets array. Default is FALSE.

Возвращаемые значения

Returns array in form of:

array(
    0 => integer revision number of commit
    1 => string ISO 8601 date and time of commit
    2 => name of committer
)

Returns FALSE on failure.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Примеры

Пример #1 Basic example

This example commits the calculator directory to a repository, using the username Bob and the password abc123 (hopefully, his password is stronger):

<?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('Log message of Bob\'s commit', array(realpath('calculator'))));
?>

Результат выполнения данного примера:

array(
  0 => 1415,
  1 => '2007-05-26T01:44:28.453125Z',
  2 => 'Bob'
)

Смотрите также

  • svn_auth_set_parameter() - Sets an authentication parameter
  • » SVN documentation on svn commit

svn_client_version
svn_diff
SVN Функции


Recursively diffs two paths

svn_commit
svn_export
SVN Функции
PHP Manual

svn_diff

(PECL svn >= 0.1.0)

svn_diff — Recursively diffs two paths

Описание

array svn_diff ( string $path1 , int $rev1 , string $path2 , int $rev2 )

Recursively diffs two paths, path1 and path2 .

Замечание: This is not a general-purpose diff utility. Only local files that are versioned may be diffed: other files will fail.

Список параметров

path1

First path to diff. This can be a URL to a file/directory in an SVN repository or a local file/directory path.

Замечание: Relative paths will be resolved as if the current working directory was the one that contains the PHP binary. To use the calling script's working directory, use realpath() or dirname(__FILE__).

Внимание

If a local file path has only backslashes and no forward slashes, this extension will fail to find the path. Always replace all backslashes with forward slashes when using this function.

rev1

First path's revision number. Use SVN_REVISION_HEAD to specify the most recent revision.

path2

Second path to diff. See path1 for description.

rev2

Second path's revision number. See rev1 for description.

Возвращаемые значения

Returns an array-list consisting of two streams: the first is the diff output and the second contains error stream output. The streams can be read using fread(). Returns FALSE or NULL on error.

The diff output will, by default, be in the form of Subversion's custom unified diff format, but an » external diff engine may be used depending on Subversion's configuration.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Примеры

Пример #1 Basic example

This example demonstrates the basic usage of this function, and the retrieval of contents from the stream:

<?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 Diffing two revisions of a repository path

This example implements a wrapper function that allows a user to easily diff two revisions of the same item using an external repository path (the default syntax is somewhat verbose):

<?php
function svn_diff_same_item($path, $rev1, $rev2) {
    return svn_diff($path, $rev1, $path, $rev2);
}
?>

Пример #3 Portably diffing two local files

This example implements a wrapper function that portably diffs two local files, compensating for the realpath() fix and the backslashes bug:

<?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 documentation on svn diff

svn_commit
svn_export
SVN Функции


Export the contents of a SVN directory

svn_diff
svn_fs_abort_txn
SVN Функции
PHP Manual

svn_export

(PECL svn >= 0.3.0)

svn_export — Export the contents of a SVN directory

Описание

bool svn_export ( string $frompath , string $topath [, bool $working_copy= true ] )

Export the contents of either a working copy or repository into a 'clean' directory.

Список параметров

frompath

The path to the current repository.

topath

The path to the new repository.

working_copy

If TRUE, it will export uncommitted files from the working copy. Default value is TRUE

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 svn_export() example

<?php
$working_dir     = '../';
$new_working_dir = '/home/user/devel/foo/trunk';

svn_export($working_dir, $new_working_dir);
?>

Смотрите также

  • svn_import() - Imports an unversioned path into a repository

svn_diff
svn_fs_abort_txn
SVN Функции


Abort a transaction, returns true if everything is okay, false otherwise

svn_export
svn_fs_apply_text
SVN Функции
PHP Manual

svn_fs_abort_txn

(PECL svn >= 0.2.0)

svn_fs_abort_txn — Abort a transaction, returns true if everything is okay, false otherwise

Описание

bool svn_fs_abort_txn ( resource $txn )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Abort a transaction, returns true if everything is okay, false otherwise

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_export
svn_fs_apply_text
SVN Функции


Creates and returns a stream that will be used to replace

svn_fs_abort_txn
svn_fs_begin_txn2
SVN Функции
PHP Manual

svn_fs_apply_text

(PECL svn >= 0.2.0)

svn_fs_apply_text — Creates and returns a stream that will be used to replace

Описание

resource svn_fs_apply_text ( resource $root , string $path )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Creates and returns a stream that will be used to replace

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_abort_txn
svn_fs_begin_txn2
SVN Функции


Create a new transaction

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 — Create a new transaction

Описание

resource svn_fs_begin_txn2 ( resource $repos , int $rev )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Create a new transaction

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_apply_text
svn_fs_change_node_prop
SVN Функции


Return true if everything is ok, false otherwise

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 — Return true if everything is ok, false otherwise

Описание

bool svn_fs_change_node_prop ( resource $root , string $path , string $name , string $value )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Return true if everything is ok, false otherwise

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_begin_txn2
svn_fs_check_path
SVN Функции


Determines what kind of item lives at path in a given repository 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 — Determines what kind of item lives at path in a given repository fsroot

Описание

int svn_fs_check_path ( resource $fsroot , string $path )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Determines what kind of item lives at path in a given repository fsroot

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_change_node_prop
svn_fs_contents_changed
SVN Функции


Return true if content is different, false otherwise

svn_fs_check_path
svn_fs_copy
SVN Функции
PHP Manual

svn_fs_contents_changed

(PECL svn >= 0.2.0)

svn_fs_contents_changed — Return true if content is different, false otherwise

Описание

bool svn_fs_contents_changed ( resource $root1 , string $path1 , resource $root2 , string $path2 )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Return true if content is different, false otherwise

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_check_path
svn_fs_copy
SVN Функции


Copies a file or a directory, returns true if all is ok, false otherwise

svn_fs_contents_changed
svn_fs_delete
SVN Функции
PHP Manual

svn_fs_copy

(PECL svn >= 0.2.0)

svn_fs_copy — Copies a file or a directory, returns true if all is ok, false otherwise

Описание

bool svn_fs_copy ( resource $from_root , string $from_path , resource $to_root , string $to_path )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Copies a file or a directory, returns true if all is ok, false otherwise

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_contents_changed
svn_fs_delete
SVN Функции


Deletes a file or a directory, return true if all is ok, false otherwise

svn_fs_copy
svn_fs_dir_entries
SVN Функции
PHP Manual

svn_fs_delete

(PECL svn >= 0.2.0)

svn_fs_delete — Deletes a file or a directory, return true if all is ok, false otherwise

Описание

bool svn_fs_delete ( resource $root , string $path )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Deletes a file or a directory, return true if all is ok, false otherwise

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_copy
svn_fs_dir_entries
SVN Функции


Enumerates the directory entries under path; returns a hash of dir names to file type

svn_fs_delete
svn_fs_file_contents
SVN Функции
PHP Manual

svn_fs_dir_entries

(PECL svn >= 0.1.0)

svn_fs_dir_entries — Enumerates the directory entries under path; returns a hash of dir names to file type

Описание

array svn_fs_dir_entries ( resource $fsroot , string $path )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Enumerates the directory entries under path; returns a hash of dir names to file type

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_delete
svn_fs_file_contents
SVN Функции


Returns a stream to access the contents of a file from a given version of the fs

svn_fs_dir_entries
svn_fs_file_length
SVN Функции
PHP Manual

svn_fs_file_contents

(PECL svn >= 0.1.0)

svn_fs_file_contents — Returns a stream to access the contents of a file from a given version of the fs

Описание

resource svn_fs_file_contents ( resource $fsroot , string $path )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns a stream to access the contents of a file from a given version of the fs

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_dir_entries
svn_fs_file_length
SVN Функции


Returns the length of a file from a given version of the fs

svn_fs_file_contents
svn_fs_is_dir
SVN Функции
PHP Manual

svn_fs_file_length

(PECL svn >= 0.1.0)

svn_fs_file_length — Returns the length of a file from a given version of the fs

Описание

int svn_fs_file_length ( resource $fsroot , string $path )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the length of a file from a given version of the fs

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_file_contents
svn_fs_is_dir
SVN Функции


Return true if the path points to a directory, false otherwise

svn_fs_file_length
svn_fs_is_file
SVN Функции
PHP Manual

svn_fs_is_dir

(PECL svn >= 0.2.0)

svn_fs_is_dir — Return true if the path points to a directory, false otherwise

Описание

bool svn_fs_is_dir ( resource $root , string $path )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Return true if the path points to a directory, false otherwise

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_file_length
svn_fs_is_file
SVN Функции


Return true if the path points to a file, false otherwise

svn_fs_is_dir
svn_fs_make_dir
SVN Функции
PHP Manual

svn_fs_is_file

(PECL svn >= 0.2.0)

svn_fs_is_file — Return true if the path points to a file, false otherwise

Описание

bool svn_fs_is_file ( resource $root , string $path )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Return true if the path points to a file, false otherwise

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_is_dir
svn_fs_make_dir
SVN Функции


Creates a new empty directory, returns true if all is ok, false otherwise

svn_fs_is_file
svn_fs_make_file
SVN Функции
PHP Manual

svn_fs_make_dir

(PECL svn >= 0.2.0)

svn_fs_make_dir — Creates a new empty directory, returns true if all is ok, false otherwise

Описание

bool svn_fs_make_dir ( resource $root , string $path )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Creates a new empty directory, returns true if all is ok, false otherwise

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_is_file
svn_fs_make_file
SVN Функции


Creates a new empty file, returns true if all is ok, false otherwise

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 — Creates a new empty file, returns true if all is ok, false otherwise

Описание

bool svn_fs_make_file ( resource $root , string $path )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Creates a new empty file, returns true if all is ok, false otherwise

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_make_dir
svn_fs_node_created_rev
SVN Функции


Returns the revision in which path under fsroot was created

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 — Returns the revision in which path under fsroot was created

Описание

int svn_fs_node_created_rev ( resource $fsroot , string $path )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the revision in which path under fsroot was created

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_make_file
svn_fs_node_prop
SVN Функции


Returns the value of a property for a node

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 — Returns the value of a property for a node

Описание

string svn_fs_node_prop ( resource $fsroot , string $path , string $propname )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the value of a property for a node

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_node_created_rev
svn_fs_props_changed
SVN Функции


Return true if props are different, false otherwise

svn_fs_node_prop
svn_fs_revision_prop
SVN Функции
PHP Manual

svn_fs_props_changed

(PECL svn >= 0.2.0)

svn_fs_props_changed — Return true if props are different, false otherwise

Описание

bool svn_fs_props_changed ( resource $root1 , string $path1 , resource $root2 , string $path2 )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Return true if props are different, false otherwise

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_node_prop
svn_fs_revision_prop
SVN Функции


Fetches the value of a named property

svn_fs_props_changed
svn_fs_revision_root
SVN Функции
PHP Manual

svn_fs_revision_prop

(PECL svn >= 0.1.0)

svn_fs_revision_prop — Fetches the value of a named property

Описание

string svn_fs_revision_prop ( resource $fs , int $revnum , string $propname )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Fetches the value of a named property

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_props_changed
svn_fs_revision_root
SVN Функции


Get a handle on a specific version of the repository root

svn_fs_revision_prop
svn_fs_txn_root
SVN Функции
PHP Manual

svn_fs_revision_root

(PECL svn >= 0.1.0)

svn_fs_revision_root — Get a handle on a specific version of the repository root

Описание

resource svn_fs_revision_root ( resource $fs , int $revnum )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Get a handle on a specific version of the repository root

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_revision_prop
svn_fs_txn_root
SVN Функции


Creates and returns a transaction root

svn_fs_revision_root
svn_fs_youngest_rev
SVN Функции
PHP Manual

svn_fs_txn_root

(PECL svn >= 0.2.0)

svn_fs_txn_root — Creates and returns a transaction root

Описание

resource svn_fs_txn_root ( resource $txn )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Creates and returns a transaction root

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_revision_root
svn_fs_youngest_rev
SVN Функции


Returns the number of the youngest revision in the filesystem

svn_fs_txn_root
svn_import
SVN Функции
PHP Manual

svn_fs_youngest_rev

(PECL svn >= 0.1.0)

svn_fs_youngest_rev — Returns the number of the youngest revision in the filesystem

Описание

int svn_fs_youngest_rev ( resource $fs )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Returns the number of the youngest revision in the filesystem

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_fs_txn_root
svn_import
SVN Функции


Imports an unversioned path into a repository

svn_fs_youngest_rev
svn_log
SVN Функции
PHP Manual

svn_import

(PECL svn >= 0.2.0)

svn_import — Imports an unversioned path into a repository

Описание

bool svn_import ( string $path , string $url , bool $nonrecursive )

Commits unversioned path into repository at url . If path is a directory and nonrecursive is FALSE, the directory will be imported recursively.

Список параметров

path

Path of file or directory to import.

Замечание: Relative paths will be resolved as if the current working directory was the one that contains the PHP binary. To use the calling script's working directory, use realpath() or dirname(__FILE__).

url

Repository URL to import into.

nonrecursive

Whether or not to refrain from recursively processing directories.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Примеры

Пример #1 Basic example

This example demonstrates a basic use-case of this function. To import a directory named new-files into the repository at http://www.example.com/svnroot/incoming/abc, use:

<?php
svn_import(realpath('new-files'), 'http://www.example.com/svnroot/incoming/abc', false);
?>

Смотрите также

  • svn_add() - Schedules the addition of an item in a working directory
  • » SVN documentation for svn import

svn_fs_youngest_rev
svn_log
SVN Функции


Returns the commit log messages of a repository URL

svn_import
svn_ls
SVN Функции
PHP Manual

svn_log

(PECL svn >= 0.1.0)

svn_log — Returns the commit log messages of a repository URL

Описание

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() returns the complete history of the item at the repository URL repos_url , or the history of a specific revision if start_revision is set. This function is equivalent to svn log --verbose -r $start_revision $repos_url .

Внимание

For repositories with large histories, the output may be quite large (one array item for every revision of the item). This function does not support the --limit NUM flag, nor does it support revision ranges (start_revision must be an integer).

Список параметров

repos_url

Repository URL of the item to retrieve log history from.

start_revision

Revision number of the first log to retrieve. Use SVN_REVISION_HEAD to retrieve the log from the most recent revision.

end_revision

Revision number of the last log to retrieve. Defaults to start_revision if specified or to SVN_REVISION_INITIAL otherwise.

limit

Number of logs to retrieve.

flags

Any combination of SVN_OMIT_MESSAGES, SVN_DISCOVER_CHANGED_PATHS and SVN_STOP_ON_COPY, defaults to SVN_DISCOVER_CHANGED_PATHS | SVN_STOP_ON_COPY .

Возвращаемые значения

On success, this function returns an array file listing in the format of:

[0] => Array, ordered most recent (highest) revision first
(
    [rev] => integer revision number
    [author] => string author name
    [msg] => string log message
    [date] => string date formatted per ISO 8601, i.e. date('c')
    [paths] => Array, describing changed files
        (
            [0] => Array
                (
                    [action] => string letter signifying change
                    [path] =>  absolute repository path of changed file
                )
            [1] => ...
        )
)
[1] => ...

Замечание: The output will always be a numerically indexed array of arrays, even when there are none or only one log message(s).

The value of action is a subset of the » status output in the first column, where possible values are:

Actions
Letter | Description
M | Item/props was modified
A | Item was added
D | Item was deleted
R | Item was replaced

If no changes were made to the item, an empty array is returned.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Примеры

Пример #1 svn_log() example

<?php
print_r( svn_log('http://www.example.com/', 23) );
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [0] => Array
    (
        [rev] => 23
        [author] => 'joe'
        [msg] => 'Add cheese and salami to our sandwich.'
        [date] => '2007-04-06T16:00:27-04:00'
        [paths] => Array
            (
                [0] => Array
                    (
                        [action] => 'M'
                        [path] =>  '/sandwich.txt'
                    )
            )
    )
)

Смотрите также

  • » SVN documentation on svn log

svn_import
svn_ls
SVN Функции


Returns list of directory contents in repository URL, optionally at revision number

svn_log
svn_mkdir
SVN Функции
PHP Manual

svn_ls

(PECL svn >= 0.1.0)

svn_ls — Returns list of directory contents in repository URL, optionally at revision number

Описание

array svn_ls ( string $repos_url [, int $revision_no= SVN_REVISION_HEAD [, bool $recurse= false ]] )

This function queries the repository URL and returns a list of files and directories, optionally from a specific revision. This is equivalent to svn list $repos_url[@$revision_no]

Замечание: This function does not work with working copies. repos_url must be a repository URL.

Список параметров

url

URL of the repository, eg. http://www.example.com/svnroot . To access a local Subversion repository via filesystem, use the file URI scheme, eg. file:///home/user/svn-repos

revision

Integer revision number to retrieve listing of. When omitted, the HEAD revision is used.

recurse

Enables recursion.

Возвращаемые значения

On success, this function returns an array file listing in the format of:

[0] => Array
    (
        [created_rev] => integer revision number of last edit
        [last_author] => string author name of last edit
        [size] => integer byte file size of file
        [time] => string date of last edit in form 'M d H:i'
                  or 'M d Y', depending on how old the file is
        [time_t] => integer unix timestamp of last edit
        [name] => name of file/directory
        [type] => type, can be 'file' or 'dir'
    )
[1] => ...

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Примеры

Пример #1 svn_ls() example

<?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 documentation on svn list

svn_log
svn_mkdir
SVN Функции


Creates a directory in a working copy or repository

svn_ls
svn_repos_create
SVN Функции
PHP Manual

svn_mkdir

(PECL svn >= 0.4.0)

svn_mkdir — Creates a directory in a working copy or repository

Описание

bool svn_mkdir ( string $path )

Creates a directory in a working copy or repository.

Список параметров

path

The path to the working copy or repository.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • svn_add() - Schedules the addition of an item in a working directory
  • svn_copy()

svn_ls
svn_repos_create
SVN Функции


Create a new subversion repository at path

svn_mkdir
svn_repos_fs_begin_txn_for_commit
SVN Функции
PHP Manual

svn_repos_create

(PECL svn >= 0.1.0)

svn_repos_create — Create a new subversion repository at path

Описание

resource svn_repos_create ( string $path [, array $config [, array $fsconfig ]] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Create a new subversion repository at path

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_mkdir
svn_repos_fs_begin_txn_for_commit
SVN Функции


Create a new transaction

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 — Create a new transaction

Описание

resource svn_repos_fs_begin_txn_for_commit ( resource $repos , int $rev , string $author , string $log_msg )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Create a new transaction

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_repos_create
svn_repos_fs_commit_txn
SVN Функции


Commits a transaction and returns the new revision

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 — Commits a transaction and returns the new revision

Описание

int svn_repos_fs_commit_txn ( resource $txn )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Commits a transaction and returns the new revision

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_repos_fs_begin_txn_for_commit
svn_repos_fs
SVN Функции


Gets a handle on the filesystem for a repository

svn_repos_fs_commit_txn
svn_repos_hotcopy
SVN Функции
PHP Manual

svn_repos_fs

(PECL svn >= 0.1.0)

svn_repos_fs — Gets a handle on the filesystem for a repository

Описание

resource svn_repos_fs ( resource $repos )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Gets a handle on the filesystem for a repository

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_repos_fs_commit_txn
svn_repos_hotcopy
SVN Функции


Make a hot-copy of the repos at repospath; copy it to destpath

svn_repos_fs
svn_repos_open
SVN Функции
PHP Manual

svn_repos_hotcopy

(PECL svn >= 0.1.0)

svn_repos_hotcopy — Make a hot-copy of the repos at repospath; copy it to destpath

Описание

bool svn_repos_hotcopy ( string $repospath , string $destpath , bool $cleanlogs )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Make a hot-copy of the repos at repospath; copy it to destpath

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_repos_fs
svn_repos_open
SVN Функции


Open a shared lock on a repository.

svn_repos_hotcopy
svn_repos_recover
SVN Функции
PHP Manual

svn_repos_open

(PECL svn >= 0.1.0)

svn_repos_open — Open a shared lock on a repository.

Описание

resource svn_repos_open ( string $path )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Open a shared lock on a repository.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_repos_hotcopy
svn_repos_recover
SVN Функции


Run recovery procedures on the repository located at path.

svn_repos_open
svn_revert
SVN Функции
PHP Manual

svn_repos_recover

(PECL svn >= 0.1.0)

svn_repos_recover — Run recovery procedures on the repository located at path.

Описание

bool svn_repos_recover ( string $path )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Run recovery procedures on the repository located at path.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

svn_repos_open
svn_revert
SVN Функции


Revert changes to the working copy

svn_repos_recover
svn_status
SVN Функции
PHP Manual

svn_revert

(PECL svn >= 0.3.0)

svn_revert — Revert changes to the working copy

Описание

bool svn_revert ( string $path [, bool $recursive= false ] )

Revert any local changes to the path in a working copy.

Список параметров

path

The path to the working repository.

recursive

Optionally make recursive changes. Defaults to FALSE

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • svn_delete()
  • svn_export() - Export the contents of a SVN directory

svn_repos_recover
svn_status
SVN Функции


Returns the status of working copy files and directories

svn_revert
svn_update
SVN Функции
PHP Manual

svn_status

(PECL svn >= 0.1.0)

svn_status — Returns the status of working copy files and directories

Описание

array svn_status ( string $path [, int $flags= 0 ] )

Returns the status of working copy files and directories, giving modifications, additions, deletions and other changes to items in the working copy.

Список параметров

path

Local path to file or directory to retrieve status of.

Замечание: Relative paths will be resolved as if the current working directory was the one that contains the PHP binary. To use the calling script's working directory, use realpath() or dirname(__FILE__).

flags

Any combination of SVN_NON_RECURSIVE, SVN_ALL (regardless of modification status), SVN_SHOW_UPDATES (entries will be added for items that are out-of-date), SVN_NO_IGNORE (disregard svn:ignore properties when scanning for new files) and SVN_IGNORE_EXTERNALS.

Возвращаемые значения

Returns a numerically indexed array of associative arrays detailing the status of items in the repository:

Array (
    [0] => Array (
        // information on item
    )
    [1] => ...
)

The information on the item is an associative array that can contain the following keys:

path
String path to file/directory of this entry on local filesystem.
text_status
Status of item's text. Refer to status constants for possible values.
repos_text_status
Status of item's text in repository. Only accurate if update was set to TRUE. Refer to status constants for possible values.
prop_status
Status of item's properties. Refer to status constants for possible values.
repos_prop_status
Status of item's property in repository. Only accurate if update was set to TRUE. Refer to status constants for possible values.
locked
Whether or not the item is locked. (Only set if TRUE.)
copied
Whether or not the item was copied (scheduled for addition with history). (Only set if TRUE.)
switched
Whether or not the item was switched using the switch command. (Only set if TRUE)

These keys are only set if the item is versioned:

name
Base name of item in repository.
url
URL of item in repository.
repos
Base URL of repository.
revision
Integer revision of item in working copy.
kind
Type of item, i.e. file or directory. Refer to type constants for possible values.
schedule
Scheduled action for item, i.e. addition or deletion. Constants for these magic numbers are not available, they can be emulated by using:
<?php
if (!defined('svn_wc_schedule_normal')) {
    define('svn_wc_schedule_normal',  0); // nothing special
    define('svn_wc_schedule_add',     1); // item will be added
    define('svn_wc_schedule_delete',  2); // item will be deleted
    define('svn_wc_schedule_replace', 3); // item will be added and deleted
}
?>
deleted
Whether or not the item was deleted, but parent revision lags behind. (Only set if TRUE.)
absent
Whether or not the item is absent, that is, Subversion knows that there should be something there but there isn't. (Only set if TRUE.)
incomplete
Whether or not the entries file for a directory is incomplete. (Only set if TRUE.)
cmt_date
Integer Unix timestamp of last commit date. (Unaffected by update .)
cmt_rev
Integer revision of last commit. (Unaffected by update .)
cmt_author
String author of last commit. (Unaffected by update .)
prop_time
Integer Unix timestamp of last up-to-date time for properties
text_time
Integer Unix timestamp of last up-to-date time for text

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Примеры

Пример #1 Basic example

This example demonstrates a basic, theoretical usage of this function.

<?php
print_r(svn_status(realpath('wc')));
?>

Результатом выполнения данного примера будет что-то подобное:

Array (
    [0] => Array (
        [path] => /home/bob/wc/sandwich.txt
        [text_status] => 8 // item was modified
        [repos_text_status] => 1 // no information available, use update
        [prop_status] => 3 // no changes
        [repos_prop_status] => 1 // no information available, use 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 // no special actions scheduled
        [cmt_date] => 1165543135
        [cmt_rev] => 120
        [cmt_author] => Alice
        [prop_time] => 1180201728
        [text_time] => 1180201729
    )
)

Смотрите также

  • svn_update() - Update working copy
  • svn_log() - Returns the commit log messages of a repository URL
  • » SVN documentation for svn status

svn_revert
svn_update
SVN Функции


Update working copy

svn_status
TCP
SVN Функции
PHP Manual

svn_update

(PECL svn >= 0.1.0)

svn_update — Update working copy

Описание

int svn_update ( string $path [, int $revno= SVN_REVISION_HEAD [, bool $recurse= true ]] )

Update working copy at path to revision revno . If recurse is true, directories will be recursively updated.

Список параметров

path

Path to local working copy.

Замечание: Relative paths will be resolved as if the current working directory was the one that contains the PHP binary. To use the calling script's working directory, use realpath() or dirname(__FILE__).

revno

Revision number to update to, default is SVN_REVISION_HEAD.

recurse

Whether or not to recursively update directories, default is TRUE.

Возвращаемые значения

Returns new revision number on success, returns FALSE on failure.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Примеры

Пример #1 Basic example

This example demonstrates basic usage of this function:

<?php
echo svn_update(realpath('working-copy'));
?>

Результатом выполнения данного примера будет что-то подобное:

234

Смотрите также

  • svn_checkout() - Checks out a working copy from the repository
  • svn_commit() - Sends changes from the local working copy to the repository
  • » SVN documentation for svn update

svn_status
TCP
SVN Функции


TCP Wrappers

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • TCP Функции
    • tcpwrap_check — Performs a tcpwrap check
svn_update
Введение
Other Services


Введение

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


Установка

Tcpwrap is currently available through PECL » http://pecl.php.net/package/tcpwrap.

If » PECL is available on your system you can use the pecl installer to install the tcpwrap extension, by the following command: pecl install tcpwrap.

You can always download the tar.gz package and install tcpwrap by hand:

Пример #1 tcpwrap install by hand

gunzip tcpwrap-xxx.tgz
tar -xvf tcpwrap-xxx.tar
cd tcpwrap-xxx
phpize
./configure && make && make install

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
TCP Функции
TCP


TCP Функции

Содержание

  • tcpwrap_check — Performs a tcpwrap check
Предопределенные константы
tcpwrap_check
TCP


Performs a tcpwrap check

TCP Функции
YAZ
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 Функции
YAZ
TCP Функции


YAZ

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • YAZ Функции
    • yaz_addinfo — Returns additional error information
    • yaz_ccl_conf — Configure CCL parser
    • yaz_ccl_parse — Invoke CCL Parser
    • yaz_close — Close YAZ connection
    • yaz_connect — Prepares for a connection to a Z39.50 server
    • 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 — Sets sorting criteria
    • yaz_syntax — Specifies the preferred record syntax for retrieval
    • yaz_wait — Wait for Z39.50 requests to complete
tcpwrap_check
Введение
Other Services


Введение

This extension offers a PHP interface to the YAZ toolkit that implements the » Z39.50 Protocol for Information Retrieval. With this extension you can easily implement a Z39.50 origin (client) that searches or scans Z39.50 targets (servers) in parallel.

The module hides most of the complexity of Z39.50 so it should be fairly easy to use. It supports persistent stateless connections very similar to those offered by the various RDB APIs that are available for PHP. This means that sessions are stateless but shared among users, thus saving the connect and initialize phase steps in most cases.

YAZ is available at » http://www.indexdata.dk/yaz/. You can find news information, example scripts, etc. for this extension at » http://www.indexdata.dk/phpyaz/.

Замечание: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of 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.

For the PHP 4 series, the YAZ extension is bundled (but not YAZ itself) Build PHP with your favorite modules and add option --with-yaz[=DIR].

Пример #1 YAZ compilation for PHP 4 on Unix

gunzip -c php-4.4.X.tar.gz|tar xf -
gunzip -c yaz-2.1.8.tar.gz|tar xf -
cd yaz-2.1.8
./configure --prefix=/usr
make
sudo make install
cd ../php-4.4.X.
./configure --with-yaz=/usr/bin
make
sudo make install

For PHP 5, the YAZ extension is in » PECL and is installed as a shared object/dll. If you have pear installed the easiest way to download, configure and install the YAZ extension is by using the pecl command.

Installation of YAZ on Linux

Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, могут быть найдены здесь: » http://pecl.php.net/package/yaz

Installation on Windows systems

Вы можете скачать DLL этого расширения PECL со страницы » PHP Downloads или » http://snaps.php.net/. 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.

Внимание

The PHP 5.0.5 Win32 zip includes a too old version of yaz.dll (version 1.9.1 < required version 2.0.13). If that's the case use the yaz.dll from a newer » YAZ WIN32 install.

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.

If you are using YAZ as a shared extension, add (or uncomment) the following line in php.ini on Unix:

extension=yaz.so
And for Windows:

extension=php_yaz.dll

Внимание

Расширение IMAP не может использоваться вместе с расширениями перекодировки или YAZ. Это связано с тем фактом, что они оба используют один и тот же внутренний символ.

Замечание: The above problem is solved in version 2.0 of YAZ.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в 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_*, обратитесь к документации функции ini_set().

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Примеры
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 — Returns additional error information
  • yaz_ccl_conf — Configure CCL parser
  • yaz_ccl_parse — Invoke CCL Parser
  • yaz_close — Close YAZ connection
  • yaz_connect — Prepares for a connection to a Z39.50 server
  • 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 — Sets sorting criteria
  • yaz_syntax — Specifies the preferred record syntax for retrieval
  • yaz_wait — Wait for Z39.50 requests to complete
Примеры
yaz_addinfo
YAZ


Returns additional error information

YAZ Функции
yaz_ccl_conf
YAZ Функции
PHP Manual

yaz_addinfo

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_addinfo — Returns additional error information

Описание

string yaz_addinfo ( resource $id )

Returns additional error information for the last request on the server.

With some servers, this function may return the same string as yaz_error().

Список параметров

id

The connection resource returned by yaz_connect().

Возвращаемые значения

A string containing additional error information or an empty string if the last operation was successful or if no additional information was provided by the server.

Смотрите также

  • 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 Функции


Close YAZ connection

yaz_ccl_parse
yaz_connect
YAZ Функции
PHP Manual

yaz_close

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_close — Close YAZ connection

Описание

bool yaz_close ( resource $id )

Closes the connection given by parameter id .

Замечание: This function will only close a non-persistent connection opened by setting the persistent option to FALSE with yaz_connect().

Список параметров

id

The connection resource returned by yaz_connect().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • yaz_connect() - Prepares for a connection to a Z39.50 server

yaz_ccl_parse
yaz_connect
YAZ Функции


Prepares for a connection to a Z39.50 server

yaz_close
yaz_database
YAZ Функции
PHP Manual

yaz_connect

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_connect — Prepares for a connection to a Z39.50 server

Описание

mixed yaz_connect ( string $zurl [, mixed $options ] )

This function returns a connection resource on success, zero on failure.

yaz_connect() prepares for a connection to a Z39.50 server. This function is non-blocking and does not attempt to establish a connection - it merely prepares a connect to be performed later when yaz_wait() is called.

Замечание: The » YAZ proxy is a freely available Z39.50 proxy.

Список параметров

zurl

A string that takes the form host[:port][/database]. If port is omitted, port 210 is used. If database is omitted Default is used.

options

If given as a string, it is treated as the Z39.50 V2 authentication string (OpenAuth).

If given as an array, the contents of the array serves as options.

user

Username for authentication.

group

Group for authentication.

password

Password for authentication.

cookie

Cookie for session (YAZ proxy).

proxy

Proxy for connection (YAZ proxy).

persistent

A boolean. If TRUE the connection is persistent; If FALSE the connection is not persistent. By default connections are persistent.

Замечание: If you open a persistent connection, you won't be able to close it later with yaz_close().

piggyback

A boolean. If TRUE piggyback is enabled for searches; If FALSE piggyback is disabled. By default piggyback is enabled.

Enabling piggyback is more efficient and usually saves a network-round-trip for first time fetches of records. However, a few Z39.50 servers do not support piggyback or they ignore element set names. For those, piggyback should be disabled.

charset

A string that specifies character set to be used in Z39.50 language and character set negotiation. Use strings such as: ISO-8859-1, UTF-8, UTF-16.

Most Z39.50 servers do not support this feature (and thus, this is ignored). Many servers use the ISO-8859-1 encoding for queries and messages. MARC21/USMARC records are not affected by this setting.

preferredMessageSize

An integer that specifies the maximum byte size of all records to be returned by a target during retrieval. See the » Z39.50 standard for more information.

Замечание: This option is supported in PECL YAZ 1.0.5 or later.

maximumRecordSize

An integer that specifies the maximum byte size of a single record to be returned by a target during retrieval. This entity is referred to as Exceptional-record-size in the » Z39.50 standard.

Замечание: This option is supported in PECL YAZ 1.0.5 or later.

Возвращаемые значения

A connection resource on success, FALSE on error.

Список изменений

Версия | Описание
4.1.0 | The parameter options was added.

Смотрите также

  • yaz_close() - Close YAZ connection

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() - Returns additional error information

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() - Returns additional error information

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 Функции


Sets sorting criteria

yaz_set_option
yaz_syntax
YAZ Функции
PHP Manual

yaz_sort

(PHP 4 >= 4.0.7, PECL yaz >= 0.9.0)

yaz_sort — Sets sorting criteria

Описание

void yaz_sort ( resource $id , string $criteria )

This function sets sorting criteria and enables Z39.50 Sort.

Call this function before yaz_search(). Using this function alone does not have any effect. When used in conjunction with yaz_search(), a Z39.50 Sort will be sent after a search response has been received and before any records are retrieved with Z39.50 Present (yaz_present().

Список параметров

id

The connection resource returned by yaz_connect().

criteria

A string that takes the form field1 flags1 field2 flags2 where field1 specifies the primary attributes for sort, field2 seconds, etc..

The field specifies either a numerical attribute combinations consisting of type=value pairs separated by comma (e.g. 1=4,2=1) ; or the field may specify a plain string criteria (e.g. title. The flags is a sequence of the following characters which may not be separated by any white space.

Sort Flags
a

Sort ascending

d

Sort descending

i

Case insensitive sorting

s

Case sensitive sorting

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Sort Criterias

To sort on Bib1 attribute title, case insensitive, and ascending you would use the following sort criteria:

1=4 ia

If the secondary sorting criteria should be author, case sensitive and ascending you would use:

1=4 ia 1=1003 sa

yaz_set_option
yaz_syntax
YAZ Функции


Specifies the preferred record syntax for retrieval

yaz_sort
yaz_wait
YAZ Функции
PHP Manual

yaz_syntax

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_syntax — Specifies the preferred record syntax for retrieval

Описание

void yaz_syntax ( resource $id , string $syntax )

yaz_syntax() specifies the preferred record syntax for retrieval

This function should be called before yaz_search() or yaz_present().

Список параметров

id

The connection resource returned by yaz_connect().

syntax

The syntax must be specified as an OID (Object Identifier) in a raw dot-notation (like 1.2.840.10003.5.10) or as one of the known registered record syntaxes (sutrs, usmarc, grs1, xml, etc.).

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

yaz_sort
yaz_wait
YAZ Функции


Wait for Z39.50 requests to complete

yaz_syntax
YP/NIS
YAZ Функции
PHP Manual

yaz_wait

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_wait — Wait for Z39.50 requests to complete

Описание

mixed yaz_wait ([ array &$options ] )

This function carries out networked (blocked) activity for outstanding
requests which have been prepared by the functions
yaz_connect(), yaz_search(),
yaz_present(), yaz_scan() and
yaz_itemorder().

yaz_wait() returns when all servers have either completed all requests or aborted (in case of errors).

Список параметров

options

An associative array of options:

timeout

Sets timeout in seconds. If a server has not responded within the timeout it is considered dead and yaz_wait() returns. The default value for timeout is 15 seconds.

event

A boolean.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. In event mode, returns resource or FALSE in case of an error.

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
Введение
Other Services


Введение

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.

Замечание: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of 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).

Установка и настройка
Установка
Установка и настройка


Установка

To get these functions to work, you have to configure PHP with --enable-yp.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение подгружается во время выполнения.

YPERR_ACCESS (integer)
access violation (this has only been added recently and is only available from PECL CVS 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
Search Engine Extensions
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
Search Engine Extensions
YP/NIS Функции


Search Engine Extensions

  • mnoGoSearch
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • mnoGoSearch Функции
  • Sphinx — Sphinx Client
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • SphinxClient — The SphinxClient class
  • 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
Search Engine Extensions
Введение
Search Engine Extensions


Введение

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 a 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/.

Замечание: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of 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.

Установка и настройка
Установка
Установка и настройка


Установка

In order to have these functions available, you must compile PHP with mnoGosearch support by using the --with-mnogosearch option. If you use this option without specifying the path to mnoGosearch, PHP will look for mnoGosearch under /usr/local/mnogosearch path by default. If you installed mnoGosearch at a different location you should specify it: --with-mnogosearch=DIR.

Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, могут быть найдены здесь: » http://pecl.php.net/package/mnogosearch.

Замечание: 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, or FALSE on failure.

Смотрите также

  • 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, or FALSE on failure.

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
Sphinx
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
Sphinx
mnoGoSearch Функции


Sphinx Client

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • SphinxClient — The SphinxClient class
    • SphinxClient::addQuery — Add query to multi-query batch
    • SphinxClient::buildExcerpts — Build text snippets
    • SphinxClient::buildKeywords — Extract keywords from query
    • SphinxClient::__construct — Create a new SphinxClient object
    • SphinxClient::escapeString — Escape special characters
    • SphinxClient::getLastError — Get the last error message
    • SphinxClient::getLastWarning — Get the last warning
    • SphinxClient::query — Execute search query
    • SphinxClient::resetFilters — Clear all filters
    • SphinxClient::resetGroupBy — Clear all group-by settings
    • SphinxClient::runQueries — Run a batch of search queries
    • SphinxClient::setArrayResult — Change the format of result set array
    • SphinxClient::setConnectTimeout — Set connection timeout
    • SphinxClient::setFieldWeights — Set field weights
    • SphinxClient::setFilter — Add new integer values set filter
    • SphinxClient::setFilterFloatRange — Add new float range filter
    • SphinxClient::setFilterRange — Add new integer range filter
    • SphinxClient::setGeoAnchor — Set anchor point for a geosphere distance calculations
    • SphinxClient::setGroupBy — Set grouping attribute
    • SphinxClient::setGroupDistinct — Set attribute name for per-group distinct values count calculations
    • SphinxClient::setIDRange — Set a range of accepted document IDs
    • SphinxClient::setIndexWeights — Set per-index weights
    • SphinxClient::setLimits — Set offset and limit of the result set
    • SphinxClient::setMatchMode — Set full-text query matching mode
    • SphinxClient::setMaxQueryTime — Set maximum query time
    • SphinxClient::setRankingMode — Set ranking mode
    • SphinxClient::setRetries — Set retry count and delay
    • SphinxClient::setServer — Set searchd host and port
    • SphinxClient::setSortMode — Set matches sorting mode
    • SphinxClient::updateAttributes — Update document attributes
udm_set_agent_param
Введение
Search Engine Extensions


Введение

This extension provides bindings for Sphinx search client library. Sphinx is a standalone search engine meant to provide fast, size-efficient and relevant fulltext search functions to other applications. Sphinx was specially designed to integrate well with SQL databases and scripting languages. Both Sphinx and its client library can be obtained from the » official site

Sphinx
Установка и настройка
Sphinx


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Sphinx


Требования

PECL/sphinx requires PHP 5.1.3 or newer.

Установка и настройка
Установка
Установка и настройка


Установка

Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, могут быть найдены здесь: » http://pecl.php.net/package/sphinx.

If ./configure is having trouble finding the libsphinxclient files (for example, it was installed into a custom prefix directory), use ./configure --with-sphinx=$PREFIX , where $PREFIX is installation prefix of 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 Basic usage example

<?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


The SphinxClient class

Введение

The SphinxClient class provides object-oriented interface to Sphinx.

Class synopsis

SphinxClient
SphinxClient {
/* Methods */
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 )
__construct ( void )
public string escapeString ( string $string )
public string getLastError ( void )
public string getLastWarning ( 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 )
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 ] )
public bool setGeoAnchor ( string $attrlat , string $attrlong , float $latitude , float $longitude )
public bool setGroupBy ( string $attribute , int $func [, string $groupsort ] )
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 setRankingMode ( int $ranker )
public bool setRetries ( int $count [, int $delay= 0 ] )
public bool setServer ( string $server , int $port )
public bool setSortMode ( int $mode [, string $sortby ] )
public int updateAttributes ( string $index , array $attributes , array $values )
}

Содержание

  • SphinxClient::addQuery — Add query to multi-query batch
  • SphinxClient::buildExcerpts — Build text snippets
  • SphinxClient::buildKeywords — Extract keywords from query
  • SphinxClient::__construct — Create a new SphinxClient object
  • SphinxClient::escapeString — Escape special characters
  • SphinxClient::getLastError — Get the last error message
  • SphinxClient::getLastWarning — Get the last warning
  • SphinxClient::query — Execute search query
  • SphinxClient::resetFilters — Clear all filters
  • SphinxClient::resetGroupBy — Clear all group-by settings
  • SphinxClient::runQueries — Run a batch of search queries
  • SphinxClient::setArrayResult — Change the format of result set array
  • SphinxClient::setConnectTimeout — Set connection timeout
  • SphinxClient::setFieldWeights — Set field weights
  • SphinxClient::setFilter — Add new integer values set filter
  • SphinxClient::setFilterFloatRange — Add new float range filter
  • SphinxClient::setFilterRange — Add new integer range filter
  • SphinxClient::setGeoAnchor — Set anchor point for a geosphere distance calculations
  • SphinxClient::setGroupBy — Set grouping attribute
  • SphinxClient::setGroupDistinct — Set attribute name for per-group distinct values count calculations
  • SphinxClient::setIDRange — Set a range of accepted document IDs
  • SphinxClient::setIndexWeights — Set per-index weights
  • SphinxClient::setLimits — Set offset and limit of the result set
  • SphinxClient::setMatchMode — Set full-text query matching mode
  • SphinxClient::setMaxQueryTime — Set maximum query time
  • SphinxClient::setRankingMode — Set ranking mode
  • SphinxClient::setRetries — Set retry count and delay
  • SphinxClient::setServer — Set searchd host and port
  • SphinxClient::setSortMode — Set matches sorting mode
  • SphinxClient::updateAttributes — Update document attributes
Примеры
SphinxClient::addQuery
Sphinx


Add query to multi-query batch

SphinxClient
SphinxClient::buildExcerpts
SphinxClient
PHP Manual

SphinxClient::addQuery

(PECL sphinx >= 0.1.0)

SphinxClient::addQuery — Add query to multi-query batch

Описание

public int SphinxClient::addQuery ( string $query [, string $index= "*" [, string $comment= "" ]] )

Adds query with the current settings to multi-query batch. This method doesn't affect current settings (sorting, filtering, grouping etc.) in any way.

Список параметров

query

Query string.

index

An index name (or names).

comment

Возвращаемые значения

Returns an index in an array of results that will be returned by SphinxClient::runQueries call or false on error.

Смотрите также

  • SphinxClient::runQueries
  • SphinxClient::query

SphinxClient
SphinxClient::buildExcerpts
SphinxClient


Build text snippets

SphinxClient::addQuery
SphinxClient::buildKeywords
SphinxClient
PHP Manual

SphinxClient::buildExcerpts

(PECL sphinx >= 0.1.0)

SphinxClient::buildExcerpts — Build text snippets

Описание

public array SphinxClient::buildExcerpts ( array $docs , string $index , string $words [, array $opts ] )

Connects to searchd, requests it to generate excerpts (snippets) from the given documents, and returns the results.

Список параметров

docs

Array of strings with documents' contents.

index

Index name.

words

Keywords to highlight.

opts

Associative array of additional highlighting options (see below).

Highlighting options
Option | Description
"before_match" | A string to insert before a keyword match. Default is "<b>".
"after_match" | A string to insert after a keyword match. Default is "</b>".
"chunk_separator" | A string to insert between snippet chunks (passages). Default is " ... ".
"limit" | Maximum snippet size, in symbols (codepoints). Integer, default is 256.
"around" | How much words to pick around each matching keywords block. Integer, default is 5.
"exact_phrase" | Whether to highlight exact query phrase matches only instead of individual keywords. Boolean, default is FALSE.
"single_passage" | Whether to extract single best passage only. Boolean, default is FALSE.

Возвращаемые значения

Returns array of snippets on success, or FALSE on failure.

SphinxClient::addQuery
SphinxClient::buildKeywords
SphinxClient


Extract keywords from query

SphinxClient::buildExcerpts
SphinxClient::__construct
SphinxClient
PHP Manual

SphinxClient::buildKeywords

(PECL sphinx >= 0.1.0)

SphinxClient::buildKeywords — Extract keywords from query

Описание

public array SphinxClient::buildKeywords ( string $query , string $index , bool $hits )

Extracts keywords from query using tokenizer settings for the given index , optionally with per-keyword occurrence statistics.

Список параметров

query

A query to extract keywords from.

index

An index to get tokenizing settings and keyword occurrence statistics from.

hits

A boolean flag to enable/disable keyword statistics generation.

Возвращаемые значения

Returns an array of associative arrays with per-keyword information.

SphinxClient::buildExcerpts
SphinxClient::__construct
SphinxClient


Create a new SphinxClient object

SphinxClient::buildKeywords
SphinxClient::escapeString
SphinxClient
PHP Manual

SphinxClient::__construct

(PECL sphinx >= 0.1.0)

SphinxClient::__construct — Create a new SphinxClient object

Описание

SphinxClient::__construct ( void )

Creates a new SphinxClient object.

Список параметров

This function has no parameters.

SphinxClient::buildKeywords
SphinxClient::escapeString
SphinxClient


Escape special characters

SphinxClient::__construct
SphinxClient::getLastError
SphinxClient
PHP Manual

SphinxClient::escapeString

(PECL sphinx >= 0.1.0)

SphinxClient::escapeString — Escape special characters

Описание

public string SphinxClient::escapeString ( string $string )

Escapes characters that are treated as special operators by the query language parser.

Список параметров

string

String to escape.

Возвращаемые значения

Returns escaped string.

SphinxClient::__construct
SphinxClient::getLastError
SphinxClient


Get the last error message

SphinxClient::escapeString
SphinxClient::getLastWarning
SphinxClient
PHP Manual

SphinxClient::getLastError

(PECL sphinx >= 0.1.0)

SphinxClient::getLastError — Get the last error message

Описание

public string SphinxClient::getLastError ( void )

Returns string with the last error message. If there were no errors during the previous API call, empty string is returned. This method doesn't reset the error message, so you can safely call it several times.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the last error message or an empty string if there were no errors.

Смотрите также

  • SphinxClient::getLastWarning

SphinxClient::escapeString
SphinxClient::getLastWarning
SphinxClient


Get the last warning

SphinxClient::getLastError
SphinxClient::query
SphinxClient
PHP Manual

SphinxClient::getLastWarning

(PECL sphinx >= 0.1.0)

SphinxClient::getLastWarning — Get the last warning

Описание

public string SphinxClient::getLastWarning ( void )

Returns last warning message. If there were no warnings during the previous API call, empty string is returned. This method doesn't reset the warning, so you can safely call it several times.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the last warning message or an empty string if there were no warnings.

Смотрите также

  • SphinxClient::getLastError

SphinxClient::getLastError
SphinxClient::query
SphinxClient


Execute search query

SphinxClient::getLastWarning
SphinxClient::resetFilters
SphinxClient
PHP Manual

SphinxClient::query

(PECL sphinx >= 0.1.0)

SphinxClient::query — Execute search query

Описание

public array SphinxClient::query ( string $query [, string $index= "*" [, string $comment= "" ]] )

Connects to searchd server, runs the given search query with the current settings, obtains and returns the result set.

Список параметров

query

Query string.

index

An index name (or names).

comment

Возвращаемые значения

On success, SphinxClient::query() returns a list of found matches and additional per-query statistics. The result set is a hash utilize other structures instead of hash) with the following keys and values:

Result set structure
Key | Value description
"matches" | An array with found document IDs as keys and their weight and attributes values as values
"total" | Total number of matches found and retrieved (depends on your settings)
"total_found" | Total number of found documents matching the query
"words" | An array with words (case-folded and stemmed) as keys and per-word statistics as values
"error" | Query error message reported by searchd
"warning" | Query warning reported by searchd

Смотрите также

  • SphinxClient::runQueries
  • SphinxClient::addQuery

SphinxClient::getLastWarning
SphinxClient::resetFilters
SphinxClient


Clear all filters

SphinxClient::query
SphinxClient::resetGroupBy
SphinxClient
PHP Manual

SphinxClient::resetFilters

(PECL sphinx >= 0.1.0)

SphinxClient::resetFilters — Clear all filters

Описание

public void SphinxClient::resetFilters ( void )

Clears all currently set filters. This call is normally required when using multi-queries. You might want to set different filters for different queries in the batch. To do that, you should call SphinxClient::resetFilters() and add new filters using the respective calls.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SphinxClient::resetGroupBy

SphinxClient::query
SphinxClient::resetGroupBy
SphinxClient


Clear all group-by settings

SphinxClient::resetFilters
SphinxClient::runQueries
SphinxClient
PHP Manual

SphinxClient::resetGroupBy

(PECL sphinx >= 0.1.0)

SphinxClient::resetGroupBy — Clear all group-by settings

Описание

public void SphinxClient::resetGroupBy ( void )

Clears all currently group-by settings, and disables group-by. This call is normally required only when using multi-queries.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • SphinxClient::resetGroupBy

SphinxClient::resetFilters
SphinxClient::runQueries
SphinxClient


Run a batch of search queries

SphinxClient::resetGroupBy
SphinxClient::setArrayResult
SphinxClient
PHP Manual

SphinxClient::runQueries

(PECL sphinx >= 0.1.0)

SphinxClient::runQueries — Run a batch of search queries

Описание

public array SphinxClient::runQueries ( void )

Connects to searchd, runs a batch of all queries added using SphinxClient::addQuery, obtains and returns the result sets.

Возвращаемые значения

Returns FALSE on failure and array of result sets on success.

Смотрите также

  • SphinxClient::addQuery
  • SphinxClient::query

SphinxClient::resetGroupBy
SphinxClient::setArrayResult
SphinxClient


Change the format of result set array

SphinxClient::runQueries
SphinxClient::setConnectTimeout
SphinxClient
PHP Manual

SphinxClient::setArrayResult

(PECL sphinx >= 0.1.0)

SphinxClient::setArrayResult — Change the format of result set array

Описание

public bool SphinxClient::setArrayResult ( bool $array_result )

Controls the format of search results set arrays (whether matches should be returned as an array or a hash). If array_result is FALSE (default value), matches are returned as a hash with document IDs as keys, and other information (weight, attributes) as values. If array_result is TRUE, matches are eturned as a plain array with complete per-match information including document IDs.

Список параметров

array_result

Возвращаемые значения

Always returns TRUE.

SphinxClient::runQueries
SphinxClient::setConnectTimeout
SphinxClient


Set connection timeout

SphinxClient::setArrayResult
SphinxClient::setFieldWeights
SphinxClient
PHP Manual

SphinxClient::setConnectTimeout

(PECL sphinx >= 0.1.0)

SphinxClient::setConnectTimeout — Set connection timeout

Описание

public bool SphinxClient::setConnectTimeout ( float $timeout )

Sets connection timeout (in seconds) for searchd connection.

Список параметров

timeout

Timeout in seconds.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • SphinxClient::setMaxQueryTime

SphinxClient::setArrayResult
SphinxClient::setFieldWeights
SphinxClient


Set field weights

SphinxClient::setConnectTimeout
SphinxClient::setFilter
SphinxClient
PHP Manual

SphinxClient::setFieldWeights

(PECL sphinx >= 0.1.0)

SphinxClient::setFieldWeights — Set field weights

Описание

public bool SphinxClient::setFieldWeights ( array $weights )

Binds per-field weights by name.

Match ranking can be affected by per-field weights. See » Sphinx documentation for an explanation on how phrase proximity ranking is affected. This call lets you specify non-default weights for full-text fields.

The weights must be positive 32-bit integers, so be careful not to hit 32-bit integer maximum. The final weight is a 32-bit integer too. Default weight value is 1. Unknown field names are silently ignored.

Список параметров

weights

Associative array of field names and field weights.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • SphinxClient::setIndexWeights

SphinxClient::setConnectTimeout
SphinxClient::setFilter
SphinxClient


Add new integer values set filter

SphinxClient::setFieldWeights
SphinxClient::setFilterFloatRange
SphinxClient
PHP Manual

SphinxClient::setFilter

(PECL sphinx >= 0.1.0)

SphinxClient::setFilter — Add new integer values set filter

Описание

public bool SphinxClient::setFilter ( string $attribute , array $values [, bool $exclude= false ] )

Adds new integer values set filter to the existing list of filters.

Список параметров

attribute

An attribute name.

values

Plain array of integer values.

exclude

If set to TRUE, matching documents are excluded from the result set. Defaults to FALSE.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • SphinxClient::setFilterFloatRange
  • SphinxClient::setFilterRange
  • SphinxClient::resetFilters

SphinxClient::setFieldWeights
SphinxClient::setFilterFloatRange
SphinxClient


Add new float range filter

SphinxClient::setFilter
SphinxClient::setFilterRange
SphinxClient
PHP Manual

SphinxClient::setFilterFloatRange

(PECL sphinx >= 0.1.0)

SphinxClient::setFilterFloatRange — Add new float range filter

Описание

public bool SphinxClient::setFilterFloatRange ( string $attribute , float $min , float $max [, bool $exclude= false ] )

Adds new float range filter to the existing list of filters. Only those documents which have attribute value stored in the index between min and max (including values that are exactly equal to min or max ) will be matched (or rejected, if exclude is TRUE).

Список параметров

attribute

An attribute name.

min

Minimum value.

max

Maximum value.

exclude

If set to TRUE, matching documents are excluded from the result set. Defaults to FALSE.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • SphinxClient::setFilterRange
  • SphinxClient::setFilter
  • SphinxClient::resetFilters

SphinxClient::setFilter
SphinxClient::setFilterRange
SphinxClient


Add new integer range filter

SphinxClient::setFilterFloatRange
SphinxClient::setGeoAnchor
SphinxClient
PHP Manual

SphinxClient::setFilterRange

(PECL sphinx >= 0.1.0)

SphinxClient::setFilterRange — Add new integer range filter

Описание

public bool SphinxClient::setFilterRange ( string $attribute , int $min , int $max [, bool $exclude ] )

Adds new integer range filter to the existing list of filters. Only those documents which have attribute value stored in the index between min and max (including values that are exactly equal to min or max ) will be matched (or rejected, if exclude is TRUE).

Список параметров

attribute

An attribute name.

min

Minimum value.

max

Maximum value.

exclude

If set to TRUE, matching documents are excluded from the result set. Defaults to FALSE.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • SphinxClient::setFilterFloatRange
  • SphinxClient::setFilter
  • SphinxClient::resetFilters

SphinxClient::setFilterFloatRange
SphinxClient::setGeoAnchor
SphinxClient


Set anchor point for a geosphere distance calculations

SphinxClient::setFilterRange
SphinxClient::setGroupBy
SphinxClient
PHP Manual

SphinxClient::setGeoAnchor

(PECL sphinx >= 0.1.0)

SphinxClient::setGeoAnchor — Set anchor point for a geosphere distance calculations

Описание

public bool SphinxClient::setGeoAnchor ( string $attrlat , string $attrlong , float $latitude , float $longitude )

Sets anchor point for a geosphere distance (geodistance) calculations and enables them.

Once an anchor point is set, you can use magic "@geodist" attribute name in your filters and/or sorting expressions.

Список параметров

attrlat

Name of a latitude attribute.

attrlong

Name of a longitude attribute.

latitude

Anchor latitude in radians.

longitude

Anchor longitude in radians.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • SphinxClient::setFilterFloatRange
  • SphinxClient::setFilterRange
  • SphinxClient::setFilter
  • SphinxClient::resetFilters

SphinxClient::setFilterRange
SphinxClient::setGroupBy
SphinxClient


Set grouping attribute

SphinxClient::setGeoAnchor
SphinxClient::setGroupDistinct
SphinxClient
PHP Manual

SphinxClient::setGroupBy

(PECL sphinx >= 0.1.0)

SphinxClient::setGroupBy — Set grouping attribute

Описание

public bool SphinxClient::setGroupBy ( string $attribute , int $func [, string $groupsort ] )

Sets grouping attribute, function, and group sorting mode, and enables grouping.

Grouping feature is very similar to GROUP BY clause in SQL. Results produced by this function call are going to be the same as produced by the following pseudo code: SELECT ... GROUP BY $func($attribute) ORDER BY $groupsort.

Список параметров

attribute

A string containing group-by attribute name.

func

Constant, which sets a function applied to the attribute value in order to compute group-by key.

groupsort

An optional clause controlling how the groups are sorted. Defaults to "@group desc".

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • SphinxClient::resetGroupBy
  • SphinxClient::setSortMode
  • SphinxClient::setGroupDistinct

SphinxClient::setGeoAnchor
SphinxClient::setGroupDistinct
SphinxClient


Set attribute name for per-group distinct values count calculations

SphinxClient::setGroupBy
SphinxClient::setIDRange
SphinxClient
PHP Manual

SphinxClient::setGroupDistinct

(PECL sphinx >= 0.1.0)

SphinxClient::setGroupDistinct — Set attribute name for per-group distinct values count calculations

Описание

public bool SphinxClient::setGroupDistinct ( string $attribute )

Sets attribute name for per-group distinct values count calculations. Only available for grouping queries. For each group, all values of attribute will be stored, then the amount of distinct values will be calculated and returned to the client. This feature is similar to COUNT(DISTINCT) clause in SQL.

Список параметров

attribute

A string containing group-by attribute name.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • SphinxClient::setSortMode
  • SphinxClient::setGroupBy
  • SphinxClient::resetGroupBy

SphinxClient::setGroupBy
SphinxClient::setIDRange
SphinxClient


Set a range of accepted document IDs

SphinxClient::setGroupDistinct
SphinxClient::setIndexWeights
SphinxClient
PHP Manual

SphinxClient::setIDRange

(PECL sphinx >= 0.1.0)

SphinxClient::setIDRange — Set a range of accepted document IDs

Описание

public bool SphinxClient::setIDRange ( int $min , int $max )

Sets an accepted range of document IDs. Default range is from 0 to 0, i.e. no limit. Only those records that have document ID between min and max (including IDs exactly equal to min or max ) will be matched.

Список параметров

min

Minimum ID value.

max

Maximum ID value.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

SphinxClient::setGroupDistinct
SphinxClient::setIndexWeights
SphinxClient


Set per-index weights

SphinxClient::setIDRange
SphinxClient::setLimits
SphinxClient
PHP Manual

SphinxClient::setIndexWeights

(PECL sphinx >= 0.1.0)

SphinxClient::setIndexWeights — Set per-index weights

Описание

public bool SphinxClient::setIndexWeights ( array $weights )

Sets per-index weights and enables weighted summing of match weights across different indexes.

Список параметров

weights

An associative array mapping string index names to integer weights. Default is empty array, i.e. weighting summing is disabled.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

SphinxClient::setIDRange
SphinxClient::setLimits
SphinxClient


Set offset and limit of the result set

SphinxClient::setIndexWeights
SphinxClient::setMatchMode
SphinxClient
PHP Manual

SphinxClient::setLimits

(PECL sphinx >= 0.1.0)

SphinxClient::setLimits — Set offset and limit of the result set

Описание

public bool SphinxClient::setLimits ( int $offset , int $limit [, int $max_matches= 0 [, int $cutoff= 0 ]] )

Sets offset into server-side result set and amount of matches to return to client starting from that offset (limit ). Can additionally control maximum server-side result set size for current query (max_matches ) and the threshold amount of matches to stop searching at (cutoff ).

Список параметров

offset

Result set offset.

limit

Amount of matches to return.

max_matches

Controls how much matches searchd will keep in RAM while searching.

cutoff

Used for advanced performance control. It tells searchd to forcibly stop search query once cutoff matches have been found and processed.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

SphinxClient::setIndexWeights
SphinxClient::setMatchMode
SphinxClient


Set full-text query matching mode

SphinxClient::setLimits
SphinxClient::setMaxQueryTime
SphinxClient
PHP Manual

SphinxClient::setMatchMode

(PECL sphinx >= 0.1.0)

SphinxClient::setMatchMode — Set full-text query matching mode

Описание

public bool SphinxClient::setMatchMode ( int $mode )

Sets full-text query matching mode. mode is one of the constants listed below.

Match modes
Constant | Description
SPH_MATCH_ALL | Match all query words (default mode).
SPH_MATCH_ANY | Match any of query words.
SPH_MATCH_PHRASE | Match query as a phrase, requiring perfect match.
SPH_MATCH_BOOLEAN | Match query as a boolean expression.
SPH_MATCH_EXTENDED | Match query as an expression in Sphinx internal query language.
SPH_MATCH_FULLSCAN | Enables fullscan.
SPH_MATCH_EXTENDED2 | The same as SPH_MATCH_EXTENDED plus ranking and quorum searching support.

Список параметров

mode

Matching mode.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • SphinxClient::setRankingMode
  • SphinxClient::setSortMode

SphinxClient::setLimits
SphinxClient::setMaxQueryTime
SphinxClient


Set maximum query time

SphinxClient::setMatchMode
SphinxClient::setRankingMode
SphinxClient
PHP Manual

SphinxClient::setMaxQueryTime

(PECL sphinx >= 0.1.0)

SphinxClient::setMaxQueryTime — Set maximum query time

Описание

public bool SphinxClient::setMaxQueryTime ( int $qtime )

Sets maximum search query time, in milliseconds. qtime must be a non-negative integer. Default value is 0, i.e. no limit.

Список параметров

qtime

Maximum query time, in milliseconds.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • SphinxClient::setMaxQueryTime

SphinxClient::setMatchMode
SphinxClient::setRankingMode
SphinxClient


Set ranking mode

SphinxClient::setMaxQueryTime
SphinxClient::setRetries
SphinxClient
PHP Manual

SphinxClient::setRankingMode

(PECL sphinx >= 0.1.0)

SphinxClient::setRankingMode — Set ranking mode

Описание

public bool SphinxClient::setRankingMode ( int $ranker )

Sets ranking mode. Only available in SPH_MATCH_EXTENDED2 matching mode.

Ranking modes
Constant | Description
SPH_RANK_PROXIMITY_BM25 | Default ranking mode which uses both proximity and BM25 ranking.
SPH_RANK_BM25 | Statistical ranking mode which uses BM25 ranking only (similar to most of other full-text engines). This mode is faster, but may result in worse quality on queries which contain more than 1 keyword.
SPH_RANK_NONE | Disables ranking. This mode is the fastest. It is essentially equivalent to boolean searching, a weight of 1 is assigned to all matches.

Список параметров

ranker

Ranking mode.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • SphinxClient::setMatchMode

SphinxClient::setMaxQueryTime
SphinxClient::setRetries
SphinxClient


Set retry count and delay

SphinxClient::setRankingMode
SphinxClient::setServer
SphinxClient
PHP Manual

SphinxClient::setRetries

(PECL sphinx >= 0.1.0)

SphinxClient::setRetries — Set retry count and delay

Описание

public bool SphinxClient::setRetries ( int $count [, int $delay= 0 ] )

Sets distributed retry count and delay.

On temporary failures searchd will attempt up to count retries per agent. delay is the delay between the retries, in milliseconds. Retries are disabled by default. Note that this call will not make the API itself retry on temporary failure; it only tells searchd to do so.

Список параметров

count

Number of retries.

delay

Delay between retries, in milliseconds.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

SphinxClient::setRankingMode
SphinxClient::setServer
SphinxClient


Set searchd host and port

SphinxClient::setRetries
SphinxClient::setSortMode
SphinxClient
PHP Manual

SphinxClient::setServer

(PECL sphinx >= 0.1.0)

SphinxClient::setServer — Set searchd host and port

Описание

public bool SphinxClient::setServer ( string $server , int $port )

Sets searchd host name and TCP port. All subsequent requests will use the new host and port settings. Default host and port are 'localhost' and 3312, respectively.

Список параметров

server

IP or hostname.

port

Port number.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

SphinxClient::setRetries
SphinxClient::setSortMode
SphinxClient


Set matches sorting mode

SphinxClient::setServer
SphinxClient::updateAttributes
SphinxClient
PHP Manual

SphinxClient::setSortMode

(PECL sphinx >= 0.1.0)

SphinxClient::setSortMode — Set matches sorting mode

Описание

public bool SphinxClient::setSortMode ( int $mode [, string $sortby ] )

Sets matches sorting mode. See available modes below.

Sorting modes
Constant | Description
SPH_SORT_RELEVANCE | Sort by relevance in descending order (best matches first).
SPH_SORT_ATTR_DESC | Sort by an attribute in descending order (bigger attribute values first).
SPH_SORT_ATTR_ASC | Sort by an attribute in ascending order (smaller attribute values first).
SPH_SORT_TIME_SEGMENTS | Sort by time segments (last hour/day/week/month) in descending order, and then by relevance in descending order.
SPH_SORT_EXTENDED | Sort by SQL-like combination of columns in ASC/DESC order.
SPH_SORT_EXPR | Sort by an arithmetic expression.

Список параметров

mode

Sorting mode.

sortby

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • SphinxClient::setMatchMode
  • SphinxClient::setSortMode

SphinxClient::setServer
SphinxClient::updateAttributes
SphinxClient


Update document attributes

SphinxClient::setSortMode
Swish
SphinxClient
PHP Manual

SphinxClient::updateAttributes

(PECL sphinx >= 0.1.0)

SphinxClient::updateAttributes — Update document attributes

Описание

public int SphinxClient::updateAttributes ( string $index , array $attributes , array $values )

Instantly updates given attribute values in given documents.

Список параметров

index

Name of the index (or indexes) to be updated.

attributes

Array of attribute names, listing attributes that are updated.

values

Associative array containing document IDs as keys and array of attribute values as values.

Возвращаемые значения

Returns number of actually updated documents (0 or more) on success, or FALSE on failure.

SphinxClient::setSortMode
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
Введение
Search Engine Extensions


Введение

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.

Установка и настройка
Установка
Установка и настройка


Установка

Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и 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.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Errors/Exceptions

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.

Errors/Exceptions

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.

Errors/Exceptions

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).

Errors/Exceptions

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.

Errors/Exceptions

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.

Errors/Exceptions

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.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Errors/Exceptions

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
Server Specific Extensions
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
Server Specific Extensions
Swish Функции


Server Specific Extensions

  • Apache
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Функции для работы с сервером Apache
  • IIS — IIS Administration
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • IIS Функции
  • NSAPI
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • NSAPI Функции
SwishSearch->setStructure
Apache
Справочник функций


Apache

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Функции для работы с сервером Apache
    • apache_child_terminate — Завершить процесс Apache по окончании текущего запроса
    • apache_get_modules — Получить список загруженных модулей сервера Apache
    • apache_get_version — Fetch Apache version
    • apache_getenv — Получить переменную окружения подпроцесса сервера Apache
    • apache_lookup_uri — Осуществить частичный запрос на указанный URI и вернуть все полученные сведения
    • apache_note — Установить и получить аннотации к запросу Apache
    • apache_request_headers — Получить список всех заголовков HTTP запроса
    • apache_reset_timeout — Сбросить таймер сервера Apache
    • apache_response_headers — Получить список всех заголовков HTTP ответа
    • apache_setenv — Установить переменную Apache subprocess_env
    • ascii2ebcdic — Преобразовать строку из ASCII в EBCDIC
    • ebcdic2ascii — Преобразовать строку из EBCDIC в ASCII
    • getallheaders — Получить все заголовки HTTP-запроса
    • virtual — Выполнить подзапрос Apache
Server Specific Extensions
Введение
Server Specific Extensions


Введение

Эти функции доступны только в том случае, если PHP работает в качестве модуля Apache.

Замечание: Начиная с PHP 4.3.2, переменная PATH_TRANSLATED больше не создаётся под 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_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

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

Содержание

  • apache_child_terminate — Завершить процесс Apache по окончании текущего запроса
  • apache_get_modules — Получить список загруженных модулей сервера Apache
  • apache_get_version — Fetch Apache version
  • apache_getenv — Получить переменную окружения подпроцесса сервера Apache
  • apache_lookup_uri — Осуществить частичный запрос на указанный URI и вернуть все полученные сведения
  • apache_note — Установить и получить аннотации к запросу Apache
  • apache_request_headers — Получить список всех заголовков HTTP запроса
  • apache_reset_timeout — Сбросить таймер сервера Apache
  • apache_response_headers — Получить список всех заголовков HTTP ответа
  • apache_setenv — Установить переменную Apache subprocess_env
  • ascii2ebcdic — Преобразовать строку из ASCII в EBCDIC
  • ebcdic2ascii — Преобразовать строку из EBCDIC в ASCII
  • getallheaders — Получить все заголовки HTTP-запроса
  • virtual — Выполнить подзапрос Apache
Предопределенные константы
apache_child_terminate
Apache


Завершить процесс 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 установлен в on (по-умолчанию off). В противном случае функция возвратит FALSE и сгенерирует ошибку уровня E_WARNING.

Примечания

Замечание: Для 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 | Стала доступна при использовании PHP в качестве как Apache 1, так и Apache 2 filter API. Ранее это было возможно только для 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


Fetch Apache version

apache_get_modules
apache_getenv
Функции для работы с сервером Apache
PHP Manual

apache_get_version

(PHP 4 >= 4.3.2, PHP 5)

apache_get_version — Fetch Apache version

Описание

string apache_get_version ( void )

Fetch the Apache version.

Возвращаемые значения

Returns the Apache version on success, or FALSE on failure.

Список изменений

Версия | Описание
4.3.4 | Became available with Apache 1.
5.0.0 | Became available with the Apache 2 filter API.

Примеры

Пример #1 apache_get_version() example

<?php
$version = apache_get_version();
echo "$version\n";
?>

Результатом выполнения данного примера будет что-то подобное:

Apache/1.3.29 (Unix) PHP/4.3.4

Смотрите также

  • phpinfo() - Outputs lots of PHP information

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() - Установить переменную Apache subprocess_env
  • 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. Этого достаточно для получения всей важной информации о переданном функцию ресурсе.

This function is only supported when PHP is installed as an Apache module.

Список параметров

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 ] )

Функция apache_note() является специфичной для сервера Apache, которая получает и устанавливает значения в таблице notes запроса.

Список параметров

note_name

Название аннотации.

note_value

Значение аннотации.

Возвращаемые значения

Если функция вызывается с одним аргументом, она возвращает текущее значение аннотации note_name. Если функция вызывается с двумя аргументами, она устанавливает значение аннотации note_name в note_value и возвращает предыдущее значение аннотации note_name. Если значение аннотации не может быть получено, будет возвращено FALSE.

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 )

Функция apache_request_headers() возвращает ассоциативный массив, содержащий все заголовки текущего HTTP запроса. Эта функция доступна только в том случае, если PHP работает в качестве модуля Apache.

Замечание: В версиях PHP до 4.3.0, функция apache_request_headers() имела наименование getallheaders(). В PHP версии 4.3.0 и последующих версиях, имя getallheaders() является псевдонимом функции apache_request_headers().

Пример #1 Пример использования apache_request_headers()

<?php
$headers = apache_request_headers();

foreach ($headers as $header => $value) {
    echo "$header: $value <br />\n";
}
?>

Замечание: Также вы можете получить значения наиболее широко используемых CGI переменных, читая их из окружения сервера; это работает независимо от того, установлен PHP в качестве модуля Apache или нет. Для того, чтобы получить список всех доступных переменных окружения, используйте функцию phpinfo().

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 в случае возникновения ошибки.

Примечания

Замечание: Эта функция недоступна в безопасном режиме.

apache_request_headers
apache_response_headers
Функции для работы с сервером Apache


Получить список всех заголовков HTTP ответа

apache_reset_timeout
apache_setenv
Функции для работы с сервером Apache
PHP Manual

apache_response_headers

(PHP 4 >= 4.3.0, PHP 5)

apache_response_headers — Получить список всех заголовков HTTP ответа

Описание

array apache_response_headers ( void )

Возвращает массив, содержащий все заголовки ответа Apache. Эта функция доступна только для версий PHP >= 4.3.0.

См. также getallheaders() и headers_sent().

apache_reset_timeout
apache_setenv
Функции для работы с сервером Apache


Установить переменную Apache subprocess_env

apache_response_headers
ascii2ebcdic
Функции для работы с сервером Apache
PHP Manual

apache_setenv

(PHP 4 >= 4.2.0, PHP 5)

apache_setenv — Установить переменную Apache subprocess_env

Описание

integer apache_setenv ( string $variable , string $value [, bool $walk_to_top ] )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

apache_response_headers
ascii2ebcdic
Функции для работы с сервером Apache


Преобразовать строку из ASCII в EBCDIC

apache_setenv
ebcdic2ascii
Функции для работы с сервером Apache
PHP Manual

ascii2ebcdic

(PHP 3)

ascii2ebcdic — Преобразовать строку из ASCII в EBCDIC

Описание

integer ascii2ebcdic ( string $ascii_str )

Функция ascii2ebcdic() предназначена для использования с сервером Apache и доступна только на операционных системах, основанных на стандарте EBCDIC (OS/390, BS2000). Эта функция преобразует ASCII-строку ascii_строка в ее эквивалентное представление в формате EBCDIC (безопасна для использования с двоичными данными) и возвращает резальтат.

Также ознакомьтесь с обратной функцией ebcdic2ascii().

apache_setenv
ebcdic2ascii
Функции для работы с сервером Apache


Преобразовать строку из EBCDIC в ASCII

ascii2ebcdic
getallheaders
Функции для работы с сервером Apache
PHP Manual

ebcdic2ascii

(PHP 3)

ebcdic2ascii — Преобразовать строку из EBCDIC в ASCII

Описание

integer ebcdic2ascii ( string $ebcdic_str )

Функция ebcdic2ascii() предназначена для использования с сервером Apache и доступна только в операционных системах, основанных на стандарте EBCDIC (OS/390, BS2000). Эта функция преобразует строку в формате EBCDIC ebcdic_строка в ее эквивалетное представление в формате ASCII (безопасна для использования с двоичными данными) и возвращает результат.

Также ознакомьтесь с обратной функцией ascii2ebcdic().

ascii2ebcdic
getallheaders
Функции для работы с сервером Apache


Получить все заголовки HTTP-запроса

ebcdic2ascii
virtual
Функции для работы с сервером Apache
PHP Manual

getallheaders

(PHP 4, PHP 5)

getallheaders — Получить все заголовки HTTP-запроса

Описание

array getallheaders ( void )

Получить все заголовки для данного HTTP-запроса.

Эта функция является псевдонимом функции apache_request_headers(). Пожалуйста, обратитесь к описанию функции apache_request_headers() для получения детальной информации о данной функции.

This function is only supported when PHP is installed as an Apache module.

Возвращаемые значения

Ассоциативный массив, содержащий все HTTP-заголовки для данного запроса или FALSE при неудаче.

Список изменений

Версия | Описание
4.3.0 | Функция стала псефдонимом для apache_request_headers(). Соответствующим образом, она была переименована. Это связано с тем, что эта функция работоспособна только в том случае, если PHP был собран в качестве модуля Apache.

Примечания

Замечание: Начиная с PHP 4.3.3 вы также можете использовать эти функции с модулем NSAPI в серверах Netscape/iPlanet/SunONE.

Смотрите также

  • apache_response_headers() - Получить список всех заголовков HTTP ответа

ebcdic2ascii
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 программ или скриптов, обработки сервером Apache .shtml файлов или чего-либо иного, что должно быть обработано Apache. Имейте в виду, что CGI скрипты должны создавать корректные CGI заголовки. Как минимум, CGI скрипт должен создавать заголовок Content-type.

Перед тем, как осуществится выполнение подзапроса, все буферы сбрасываются и выдаются в броузер, также отсылаются заголовки, помещенные в буфер.

This function is only supported when PHP is installed as an Apache module.

Список параметров

filename

Имя файла, для которого будет выполнен подзапрос.

Возвращаемые значения

Результат выполнения подзапроса в случае успеха, или FALSE при неудаче.

Список изменений

Версия | Описание
4.0.6 | Эту функцию стало возможным использовать для файлов PHP. Тем не менее, чаще всего для файлов PHP лучше использовать функции include() или require().

Примечания

Внимание

Строка запроса может быть передана вызываемому файлу, однако значение переменной $_GET будет скопирована из родительского скрипта. Лишь $_SERVER['QUERY_STRING'] будет содержать переданную строку запроса. Строка запроса может быть передана только при использовании Apache 2. Запрошенный файл не будет отражен в журнале доступа (access log) Apache.

Замечание: Переменные окружения, установленные в запрошенном файле, не видимы из вызвавшего его скрипта.

Замечание: Начиная с PHP 4.3.3 вы также можете использовать эти функции с модулем NSAPI в серверах Netscape/iPlanet/SunONE.

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
Введение
Server Specific Extensions


Введение

Это расширение » PECL не поставляется вместе с PHP. 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.

In order to use these functions you must enable the php_iisfunc.dll DLL inside of php.ini. Вы можете скачать DLL этого расширения PECL со страницы » PHP Downloads или » http://snaps.php.net/.

IIS
Установка и настройка
IIS


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
IIS


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если 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 CVS)

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 CVS)

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 CVS)

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 CVS)

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 CVS)

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 CVS)

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 CVS)

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 CVS)

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 CVS)

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 CVS)

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 CVS)

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 CVS)

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 CVS)

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 CVS)

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 CVS)

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 CVS)

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
Введение
Server Specific Extensions


Введение

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_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

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
Session Extensions
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
Session Extensions
NSAPI Функции


Session Extensions

  • Msession — Mohawk Software Session Handler Functions
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Msession Функции
  • Sessions — Session Handling
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Sessions and security
    • 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
Session Extensions
Введение
Session Extensions


Введение

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-платформ это расширение недоступно.

Замечание: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 5.1.3.

Msession
Установка и настройка
Msession


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Msession


Установка

To enable Msession support configure PHP --with-msession[=DIR], where DIR is the Msession install directory.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
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
Sessions
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
Sessions
Msession Функции


Session Handling

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Registering a variable with $_SESSION.
    • Passing the Session ID
    • Custom Session Handlers
  • Sessions and security
  • 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
Введение
Session Extensions


Введение

Session support in PHP consists of a way to preserve certain data across subsequent accesses. This enables you to build more customized applications and increase the appeal of your web site.

A visitor accessing your web site is assigned a unique id, the so-called session id. This is either stored in a cookie on the user side or is propagated in the URL.

The session support allows you to register arbitrary numbers of variables to be preserved across requests. When a visitor accesses your site, PHP will check automatically (if session.auto_start is set to 1) or on your request (explicitly through session_start() or implicitly through session_register()) whether a specific session id has been sent with the request. If this is the case, the prior saved environment is recreated.

Предостережение

If you turn on session.auto_start then the only way to put objects into your sessions is to load its class definition using auto_prepend_file in which you load the class definition else you will have to serialize() your object and unserialize() it afterwards.

All registered variables are serialized after the request finishes. Registered variables which are undefined are marked as being not defined. On subsequent accesses, these are not defined by the session module unless the user defines them later.

Внимание

Some types of data can not be serialized thus stored in sessions. It includes resource variables or objects with circular references (i.e. objects which passes a reference to itself to another object).

Замечание: Session handling was added in PHP 4.0.0.

Замечание: Please note when working with sessions that a record of a session is not created until a variable has been registered using the session_register() function or by adding a new key to the $_SESSION superglobal array. This holds true regardless of if a session has been started using the session_start() function.

Замечание: PHP 5.2.2 introduced an undocumented feature to store session files in "/tmp" even if open_basedir was enabled and "/tmp" is not explicitly added to the allowed paths list. This feature has been removed from PHP as of PHP 5.3.0.

Sessions
Установка и настройка
Sessions


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Sessions


Требования

Эти функции всегда доступны.

Замечание: Optionally you can use shared memory allocation (mm), developed by Ralf S. Engelschall, for session storage. You have to download » mm and install it. This option is not available for Windows platforms. Note that the session storage module for mm does not guarantee that concurrent accesses to the same session are properly locked. It might be more appropriate to use a shared memory based filesystem (such as tmpfs on Solaris/Linux, or /dev/md on BSD) to store sessions in files, because they are properly locked. Session data is stored in memory thus web server restart deletes it.

Установка и настройка
Установка
Установка и настройка


Установка

Session support is enabled in PHP by default. If you would not like to build your PHP with session support, you should specify the --disable-session option to configure. To use shared memory allocation (mm) for session storage configure PHP --with-mm[=DIR] .

Версия PHP для Windows имеет встроенную поддержку данного расширения. Это означает, что для использования данных функций не требуется загрузка никаких дополнительных расширений.

Замечание: By default, all data related to a particular session will be stored in a file in the directory specified by the session.save_path INI option. A file for each session (regardless of if any data is associated with that session) will be created. This is due to the fact that a session is opened (a file is created) but no data is even written to that file. Note that this behavior is a side-effect of the limitations of working with the file system and it is possible that a custom session handler (such as one which uses a database) does not keep track of sessions which store no data.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Session configuration options
Name | Default | Changeable | Changelog
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 | Available since 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 | Available since PHP 4.0.4.
session.cookie_httponly | "" | PHP_INI_ALL | Available since PHP 5.2.0.
session.use_cookies | "1" | PHP_INI_ALL |
session.use_only_cookies | "1" | PHP_INI_ALL | Available since 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 in PHP <= 4.2.3. PHP_INI_PERDIR in PHP < 5. Available since PHP 4.0.3.
session.bug_compat_42 | "1" | PHP_INI_ALL | Available since PHP 4.3.0. Removed in PHP 6.0.0.
session.bug_compat_warn | "1" | PHP_INI_ALL | Available since PHP 4.3.0. Removed in PHP 6.0.0.
session.hash_function | "0" | PHP_INI_ALL | Available since PHP 5.0.0.
session.hash_bits_per_character | "4" | PHP_INI_ALL | Available since PHP 5.0.0.
url_rewriter.tags | "a=href,area=href,frame=src,form=,fieldset=" | PHP_INI_ALL | Available since PHP 4.0.4.

Для подробного описания констант PHP_INI_*, обратитесь к документации функции ini_set().

The session management system supports a number of configuration options which you can place in your php.ini file. We will give a short overview.

session.save_handler string
session.save_handler defines the name of the handler which is used for storing and retrieving data associated with a session. Defaults to files. Note that individual extensions may register their own save_handlers; registered handlers can be obtained on a per-installation basis by referring to phpinfo(). See also session_set_save_handler().
session.save_path string
session.save_path defines the argument which is passed to the save handler. If you choose the default files handler, this is the path where the files are created. See also session_save_path().

There is an optional N argument to this directive that determines the number of directory levels your session files will be spread around in. For example, setting to '5;/tmp' may end up creating a session file and location like /tmp/4/b/1/e/3/sess_4b1e384ad74619bd212e236e52a5a174If . In order to use N you must create all of these directories before use. A small shell script exists in ext/session to do this, it's called mod_files.sh, with a Windows version called mod_files.bat. Also note that if N is used and greater than 0 then automatic garbage collection will not be performed, see a copy of php.ini for further information. Also, if you use N, be sure to surround session.save_path in "quotes" because the separator (;) is also used for comments in php.ini.

Внимание

If you leave this set to a world-readable directory, such as /tmp (the default), other users on the server may be able to hijack sessions by getting the list of files in that directory.

Замечание: Prior to PHP 4.3.6, Windows users had to change this variable in order to use PHP's session functions. A valid path must be specified, e.g.: c:/temp.

session.name string
session.name specifies the name of the session which is used as cookie name. It should only contain alphanumeric characters. Defaults to PHPSESSID. See also session_name().
session.auto_start boolean
session.auto_start specifies whether the session module starts a session automatically on request startup. Defaults to 0 (disabled).
session.serialize_handler string
session.serialize_handler defines the name of the handler which is used to serialize/deserialize data. Currently, a PHP internal format (name php or php_binary) and WDDX are supported (name wddx). WDDX is only available, if PHP is compiled with WDDX support. Defaults to php.
session.gc_probability integer
session.gc_probability in conjunction with session.gc_divisor is used to manage probability that the gc (garbage collection) routine is started. Defaults to 1. See session.gc_divisor for details.
session.gc_divisor integer
session.gc_divisor coupled with session.gc_probability defines the probability that the gc (garbage collection) process is started on every session initialization. The probability is calculated by using gc_probability/gc_divisor, e.g. 1/100 means there is a 1% chance that the GC process starts on each request. session.gc_divisor defaults to 100.
session.gc_maxlifetime integer
session.gc_maxlifetime specifies the number of seconds after which data will be seen as 'garbage' and cleaned up. Garbage collection occurs during session start.

Замечание: If different scripts have different values of session.gc_maxlifetime but share the same place for storing the session data then the script with the minimum value will be cleaning the data. In this case, use this directive together with session.save_path.

Замечание: If you are using the default file-based session handler, your filesystem must keep track of access times (atime). Windows FAT does not so you will have to come up with another way to handle garbage collecting your session if you are stuck with a FAT filesystem or any other filesystem where atime tracking is not available. Since PHP 4.2.3 it has used mtime (modified date) instead of atime. So, you won't have problems with filesystems where atime tracking is not available.

session.referer_check string
session.referer_check contains the substring you want to check each HTTP Referer for. If the Referer was sent by the client and the substring was not found, the embedded session id will be marked as invalid. Defaults to the empty string.
session.entropy_file string
session.entropy_file gives a path to an external resource (file) which will be used as an additional entropy source in the session id creation process. Examples are /dev/random or /dev/urandom which are available on many Unix systems.
session.entropy_length integer
session.entropy_length specifies the number of bytes which will be read from the file specified above. Defaults to 0 (disabled).
session.use_cookies boolean
session.use_cookies specifies whether the module will use cookies to store the session id on the client side. Defaults to 1 (enabled).
session.use_only_cookies boolean
session.use_only_cookies specifies whether the module will only use cookies to store the session id on the client side. Enabling this setting prevents attacks involved passing session ids in URLs. This setting was added in PHP 4.3.0. Defaults to 1 (enabled) since PHP 6.0.
session.cookie_lifetime integer
session.cookie_lifetime specifies the lifetime of the cookie in seconds which is sent to the browser. The value 0 means "until the browser is closed." Defaults to 0. See also session_get_cookie_params() and session_set_cookie_params().

Замечание: The expiration timestamp is set relative to the server time, which is not necessarily the same as the time in the client's browser.

session.cookie_path string
session.cookie_path specifies path to set in session_cookie. Defaults to /. See also session_get_cookie_params() and session_set_cookie_params().
session.cookie_domain string
session.cookie_domain specifies the domain to set in session_cookie. Default is none at all meaning the host name of the server which generated the cookie according to cookies specification. See also session_get_cookie_params() and session_set_cookie_params().
session.cookie_secure boolean
session.cookie_secure specifies whether cookies should only be sent over secure connections. Defaults to off. This setting was added in PHP 4.0.4. See also session_get_cookie_params() and session_set_cookie_params().
session.cookie_httponly boolean
Marks the cookie as accessible only through the HTTP protocol. This means that the cookie won't be accessible by scripting languages, such as JavaScript. This setting can effectively help to reduce identity theft through XSS attacks (although it is not supported by all browsers).
session.cache_limiter string
session.cache_limiter specifies cache control method to use for session pages (none/nocache/private/private_no_expire/public). Defaults to nocache. See also session_cache_limiter().
session.cache_expire integer
session.cache_expire specifies time-to-live for cached session pages in minutes, this has no effect for nocache limiter. Defaults to 180. See also session_cache_expire().
session.use_trans_sid boolean
session.use_trans_sid whether transparent sid support is enabled or not. Defaults to 0 (disabled).

Замечание: For PHP 4.1.2 or less, it is enabled by compiling with --enable-trans-sid. From PHP 4.2.0, trans-sid feature is always compiled. URL based session management has additional security risks compared to cookie based session management. Users may send a URL that contains an active session ID to their friends by email or users may save a URL that contains a session ID to their bookmarks and access your site with the same session ID always, for example.

session.bug_compat_42 boolean
PHP versions 4.2.3 and lower have an undocumented feature/bug that allows you to initialize a session variable in the global scope, albeit register_globals is disabled. PHP 4.3.0 and later will warn you, if this feature is used, and if session.bug_compat_warn is also enabled. This feature/bug can be disabled by disabling this directive.
session.bug_compat_warn boolean
PHP versions 4.2.3 and lower have an undocumented feature/bug that allows you to initialize a session variable in the global scope, albeit register_globals is disabled. PHP 4.3.0 and later will warn you, if this feature is used by enabling both session.bug_compat_42 and session.bug_compat_warn.
session.hash_function mixed
session.hash_function allows you to specify the hash algorithm used to generate the session IDs. '0' means MD5 (128 bits) and '1' means SHA-1 (160 bits).

Since PHP 6.0.0 it is also possible to specify any of the algorithms provided by the hash extension (if it is available), like sha512 or whirlpool. A complete list of supported algorithms can be obtained with the hash_algos() function.

Замечание: This was introduced in PHP 5.

session.hash_bits_per_character integer
session.hash_bits_per_character allows you to define how many bits are stored in each character when converting the binary hash data to something readable. The possible values are '4' (0-9, a-f), '5' (0-9, a-v), and '6' (0-9, a-z, A-Z, "-", ",").

Замечание: This was introduced in PHP 5.

url_rewriter.tags string
url_rewriter.tags specifies which HTML tags are rewritten to include session id if transparent sid support is enabled. Defaults to a=href,area=href,frame=src,input=src,form=fakeentry,fieldset=

Замечание: If you want HTML/XHTML strict conformity, remove the form entry and use the <fieldset> tags around your form fields.

The track_vars and register_globals configuration settings influence how the session variables get stored and restored.

Замечание: As of PHP 4.0.3, track_vars is always turned on.

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение подгружается во время выполнения.

SID (string)
Constant containing either the session name and session ID in the form of "name=ID" or empty string if session ID was set in an appropriate session cookie. This is the same id as the one returned by session_id().
Типы ресурсов
Примеры
Sessions


Примеры

Содержание

  • Registering a variable with $_SESSION.
  • Passing the Session ID
  • Custom Session Handlers
Предопределенные константы
Registering a variable with $_SESSION.
Sessions


Registering a variable with $_SESSION.

Примеры
Passing the Session ID
Примеры
PHP Manual

Замечание: As of PHP 4.1.0, $_SESSION is available as a global variable just like $_POST, $_GET, $_REQUEST and so on. Unlike $HTTP_SESSION_VARS, $_SESSION is always global. Therefore, you do not need to use the global keyword for $_SESSION. Please note that this documentation has been changed to use $_SESSION everywhere. You can substitute $HTTP_SESSION_VARS for $_SESSION, if you prefer the former. Also note that you must start your session using session_start() before use of $_SESSION becomes available.
The keys in the $_SESSION associative array are subject to the same limitations as regular variable names in PHP, i.e. they cannot start with a number and must start with a letter or underscore. For more details see the section on variables in this manual.

If register_globals is disabled, only members of the global associative array $_SESSION can be registered as session variables. The restored session variables will only be available in the array $_SESSION.

Use of $_SESSION (or $HTTP_SESSION_VARS with PHP 4.0.6 or less) is recommended for improved security and code readability. With $_SESSION, there is no need to use the session_register(), session_unregister(), session_is_registered() functions. Session variables are accessible like any other variables.

Пример #1 Registering a variable with $_SESSION.

<?php
session_start();
// Use $HTTP_SESSION_VARS with PHP 4.0.6 or less
if (!isset($_SESSION['count'])) {
  $_SESSION['count'] = 0;
} else {
  $_SESSION['count']++;
}
?>

Пример #2 Unregistering a variable with $_SESSION and register_globals disabled.

<?php
session_start();
// Use $HTTP_SESSION_VARS with PHP 4.0.6 or less
unset($_SESSION['count']);
?>

Предостережение

Do NOT unset the whole $_SESSION with unset($_SESSION) as this will disable the registering of session variables through the $_SESSION superglobal.

Внимание

You can't use references in session variables as there is no feasible way to restore a reference to another variable.

If register_globals is enabled, then each global variable can be registered as session variable. Upon a restart of a session, these variables will be restored to corresponding global variables. Since PHP must know which global variables are registered as session variables, users need to register variables with session_register() function. You can avoid this by simply setting entries in $_SESSION.

Предостережение

Before PHP 4.3.0, if you are using $_SESSION and you have disabled register_globals, don't use session_register(), session_is_registered() or session_unregister(). Disabling register_globals is recommended for both security and performance reasons.

If register_globals is enabled, then the global variables and the $_SESSION entries will automatically reference the same values which were registered in the prior session instance. However, if the variable is registered by $_SESSION then the global variable is available since the next request.

There is a defect in PHP 4.2.3 and earlier. If you register a new session variable by using session_register(), the entry in the global scope and the $_SESSION entry will not reference the same value until the next session_start(). I.e. a modification to the newly registered global variable will not be reflected by the $_SESSION entry. This has been corrected in PHP 4.3.0.

Примеры
Passing the Session ID
Примеры


Passing the Session ID

There are two methods to propagate a session id:

  • Cookies
  • URL parameter

The session module supports both methods. Cookies are optimal, but because they are not always available, we also provide an alternative way. The second method embeds the session id directly into URLs.

PHP is capable of transforming links transparently. Unless you are using PHP 4.2.0 or later, you need to enable it manually when building PHP. Under Unix, pass --enable-trans-sid to configure. If this build option and the run-time option session.use_trans_sid are enabled, relative URIs will be changed to contain the session id automatically.

Замечание: The arg_separator.output php.ini directive allows to customize the argument seperator. For full XHTML conformance, specify &amp; there.

Alternatively, you can use the constant SID which is defined if the session started. If the client did not send an appropriate session cookie, it has the form session_name=session_id. Otherwise, it expands to an empty string. Thus, you can embed it unconditionally into URLs.

The following example demonstrates how to register a variable, and how to link correctly to another page using SID.

Пример #1 Counting the number of hits of a single user

<?php

session_start();

if (empty($_SESSION['count'])) {
 $_SESSION['count'] = 1;
} else {
 $_SESSION['count']++;
}
?>

<p>
Hello visitor, you have seen this page <?php echo $_SESSION['count']; ?> times.
</p>

<p>
To continue, <a href="nextpage.php?<?php echo htmlspecialchars(SID); ?>">click
here</a>.
</p>

The htmlspecialchars() may be used when printing the SID in order to prevent XSS related attacks.

Printing the SID, like shown above, is not necessary if --enable-trans-sid was used to compile PHP.

Замечание: Non-relative URLs are assumed to point to external sites and hence don't append the SID, as it would be a security risk to leak the SID to a different server.

Registering a variable with $_SESSION.
Custom Session Handlers
Примеры


Custom Session Handlers

To implement database storage, or any other storage method, you will need to use session_set_save_handler() to create a set of user-level storage functions.

Passing the Session ID
Sessions and security
Примеры


Sessions and security

External links: » Session fixation

The session module cannot guarantee that the information you store in a session is only viewed by the user who created the session. You need to take additional measures to actively protect the integrity of the session, depending on the value associated with it.

Assess the importance of the data carried by your sessions and deploy additional protections -- this usually comes at a price, reduced convenience for the user. For example, if you want to protect users from simple social engineering tactics, you need to enable session.use_only_cookies. In that case, cookies must be enabled unconditionally on the user side, or sessions will not work.

There are several ways to leak an existing session id to third parties. A leaked session id enables the third party to access all resources which are associated with a specific id. First, URLs carrying session ids. If you link to an external site, the URL including the session id might be stored in the external site's referrer logs. Second, a more active attacker might listen to your network traffic. If it is not encrypted, session ids will flow in plain text over the network. The solution here is to implement SSL on your server and make it mandatory for users.

Custom Session Handlers
Session Функции
Sessions


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
Sessions and security
session_cache_expire
Sessions


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_limiter 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.

Возвращаемые значения

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 (isset($_COOKIE[session_name()])) {
    setcookie(session_name(), '', time()-42000, '/');
}

// 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.

Внимание

This function has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 6.0.0. Relying on this feature is highly discouraged.

Список параметров

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.

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 session id in cookies and URLs. 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. Defaults to FALSE.

Возвращаемые значения

Возвращает 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.

Внимание

This function has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 6.0.0. Relying on this feature is highly discouraged.

Список параметров

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

Замечание: 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 the current session id that's being passed via a request, such as GET, POST, or a cookie.

If you want to use a named session, you must call session_name() before calling session_start().

session_start() will register internal output handler for URL rewriting when trans-sid is enabled. If a user uses ob_gzhandler or like with ob_start(), the order of output handler is important for proper output. For example, user must register ob_gzhandler before session start.

Возвращаемые значения

This function returns TRUE if session was started with success otherwise FALSE.

Список изменений

Версия | Описание
5.3.0 | If session fails to start for some reason, then FALSE is returned where previously TRUE always was returned.
4.3.3 | As of now, calling session_start() while the session has already been 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>';
?>

Примечания

Замечание: If you are using cookie-based sessions, you must call session_start() before anything is outputted to the browser.

Замечание: Use of zlib.output_compression is recommended rather than ob_gzhandler()

Смотрите также

  • $_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.

Внимание

This function has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 6.0.0. Relying on this feature is highly discouraged.

Список параметров

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
Введение
Session Extensions


Введение

Замечание: Для 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).

Установка и настройка
Установка
Установка и настройка


Установка

Short installation note:

  • Untar the tar.gz archive into php4/ext (Latest official releases can be found at SourceForge » PHP Form Extension Project)
  • If the new directory is now called something like session_pgsql. You should name it to session_pgsql (except you only want to build it as self-contained php-module).
  • Run ./buildconf in php4
  • Run configure --with-session-pgsql (and your other options)
  • make; make install

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в 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 CVS)

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 CVS)

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 CVS)

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 CVS)

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 CVS)

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
Text Processing
Session PgSQL Функции
PHP Manual

session_pgsql_status

(PECL session_pgsql CVS)

session_pgsql_status — Get current save handler status

Описание

array session_pgsql_status ( void )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

session_pgsql_set_field
Text Processing
Session PgSQL Функции


Text Processing

  • BBCode — Bulletin Board Code
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • BBCode Функции
  • PCRE — Функции для работы с регулярными выражениями (Perl-совместимые)
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Регулярные выражения PCRE
    • PCRE — Функции для работы с регулярными выражениями (Perl-совместимые)
  • POSIX Regex — Regular Expression (POSIX Extended)
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • POSIX Regex Функции
  • Строки — Функции работы со строками
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Функции обработки строк
session_pgsql_status
BBCode
Справочник функций


Bulletin Board Code

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • BBCode Функции
    • bbcode_add_element — Adds a bbcode element
    • bbcode_add_smiley — Adds a smiley to the parser
    • bbcode_create — Create a BBCode Resource
    • bbcode_destroy — Close BBCode_container resource
    • bbcode_parse — Parse a string following a given rule set
    • bbcode_set_arg_parser — Attach another parser in order to use another rule set for argument parsing
    • bbcode_set_flags — Set or alter parser options
Text Processing
Введение
Text Processing


Введение

This extension aims to help parse BBCode text in order to convert it to HTML or another markup language. It uses one pass parsing and provides great speed improvement over the common approach based on regular expressions. Further more, it helps provide valid HTML by reordering open / close tags and by automatically closing unclosed tags.

Since 0.10.1 It supports argument quoting with single quotes, double quotes and HTML escaped double quotes.

BBCode
Установка и настройка
BBCode


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
BBCode


Установка

Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, могут быть найдены здесь: » http://pecl.php.net/package/bbcode

An alternative solution, written in PHP, is the PEAR package » HTML_BBCodeParser.

Требования
Настройка во время выполнения
Установка и настройка


Типы ресурсов

One resource is used in the BBCode extension: a BBCode_Container returned by 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 — Adds a bbcode element
  • bbcode_add_smiley — Adds a smiley to the parser
  • bbcode_create — Create a BBCode Resource
  • bbcode_destroy — Close BBCode_container resource
  • bbcode_parse — Parse a string following a given rule set
  • bbcode_set_arg_parser — Attach another parser in order to use another rule set for argument parsing
  • bbcode_set_flags — Set or alter parser options
Предопределенные константы
bbcode_add_element
BBCode


Adds a bbcode element

BBCode Функции
bbcode_add_smiley
BBCode Функции
PHP Manual

bbcode_add_element

(PECL bbcode >= 0.9.0)

bbcode_add_element — Adds a bbcode element

Описание

bool bbcode_add_element ( resource $bbcode_container , string $tag_name , array $tag_rules )

Adds a tag to an existing BBCode_Container tag_set using tag_rules.

Список параметров

bbcode_container

BBCode_Container resource, returned by bbcode_create().

tag_name

The new tag to add to the BBCode_Container tag_set.

tag_rules

An associative array containing the parsing rules; see bbcode_create() for the available keys.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

BBCode Функции
bbcode_add_smiley
BBCode Функции


Adds a smiley to the parser

bbcode_add_element
bbcode_create
BBCode Функции
PHP Manual

bbcode_add_smiley

(PECL bbcode >= 0.10.2)

bbcode_add_smiley — Adds a smiley to the parser

Описание

bool bbcode_add_smiley ( resource $bbcode_container , string $smiley , string $replace_by )

Adds a smiley to the parser

Список параметров

bbcode_container

BBCode_Container resource, returned by bbcode_create().

smiley

The string that will be replaced when found.

replace_by

The string that replace smiley when found.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 bbcode_add_smiley() usage example

<?php
/*
 * Prepare the rule set
 */
$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'),
);
/*
 * Parsed Text
 */
$text=<<<EOF
[i] No parse Test [/i] :)
[b] Parsed, with smiley :( [/b]
[u] Parsed, with no smiley :D [/u]
EOF;
/*
 * Init the parser
 */
$BBHandler=bbcode_create($arrayBBCode);
/*
 * Add Smiley rules to parser
 */
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:\" />");
/*
 * Parse the text
 */
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 child 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 child for the tag.
  • parent optional - List of accepted child 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 Функции


Close BBCode_container resource

bbcode_create
bbcode_parse
BBCode Функции
PHP Manual

bbcode_destroy

(PECL bbcode >= 0.9.0)

bbcode_destroy — Close BBCode_container resource

Описание

bool bbcode_destroy ( resource $bbcode_container )

This function closes the resource opened by bbcode_create().

Список параметров

bbcode

BBCode_Container resource returned by bbcode_create().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

bbcode_create
bbcode_parse
BBCode Функции


Parse a string following a given rule set

bbcode_destroy
bbcode_set_arg_parser
BBCode Функции
PHP Manual

bbcode_parse

(PECL bbcode >= 0.9.0)

bbcode_parse — Parse a string following a given rule set

Описание

string bbcode_parse ( resource $bbcode_container , string $to_parse )

This function parse the string to_parse following the rules in the bbcode_container created by bbcode_create()

Список параметров

bbcode_container

BBCode_Container resource returned by bbcode_create().

to_parse

The string we need to parse.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

bbcode_destroy
bbcode_set_arg_parser
BBCode Функции


Attach another parser in order to use another rule set for argument parsing

bbcode_parse
bbcode_set_flags
BBCode Функции
PHP Manual

bbcode_set_arg_parser

(PECL bbcode >= 0.10.2)

bbcode_set_arg_parser — Attach another parser in order to use another rule set for argument parsing

Описание

bool bbcode_set_arg_parser ( resource $bbcode_container , resource $bbcode_arg_parser )

Attaches another parser to the bbcode_container. This parser is used only when arguments must be parsed. If this function is not used, the default argument parser is the parser itself.

Список параметров

bbcode_container

BBCode_Container resource, returned by bbcode_create().

bbcode_arg_parser

BBCode_Container resource, returned by bbcode_create(). It will be used only for parsed arguments

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 bbcode_set_arg_parser() usage example

<?php
/*
 * Generating bbcode ruleset for main parser
 */
$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),
);
/*
 * Generating bbcode ruleset for argument parser
 */
$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 we are going to parse
 */
$text=<<<EOF
[quote="[b]Test[/b]"]
Foo :)
[/quote]
[b]Bar example :)[/b] :)
EOF;
/*
 * Init the two parsers
 */
$BBHandler=bbcode_create($arrayBBCode);
$BBArgHandler=bbcode_create($arrayBBCode_arg);
/*
 * Setting Flags on the parsers
 */
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);
/*
 * Setting $BBArgHandler as the BBHandler argument parser
 */
bbcode_set_arg_parser($BBHandler,$BBArgHandler);
/*
 * Adding Smileys handling rules to Main parser
 */
bbcode_add_smiley($BBHandler, ":)", "<img src=\"smiley.gif\" alt=\":)\" />");
/*
 * Use the main parser to parse text
 */
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 Функции


Set or alter parser options

bbcode_set_arg_parser
PCRE
BBCode Функции
PHP Manual

bbcode_set_flags

(PECL bbcode >= 0.10.2)

bbcode_set_flags — Set or alter parser options

Описание

bool bbcode_set_flags ( resource $bbcode_container , int $flags [, int $mode= BBCODE_SET_FLAGS_SET ] )

Set or alter parser options

Список параметров

bbcode_container

BBCode_Container resource, returned by bbcode_create().

flags

The flag set that must be applied to the bbcode_container options

mode

One of the BBCODE_SET_FLAGS_* constant to set, unset a specific flag set or to replace the flag set by flags.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 bbcode_set_flags() usage example

<?php
/*
 * Preparing RuleSet
 */
$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>'),
);
/*
 * Paired incorrectly nested BBCode
 */
$text="[i] Parser [b] Auto Correction [/i] at work [/b]\n";
$BBHandler=bbcode_create($arrayBBCode);
echo bbcode_parse($BBHandler,$text);
// Enabling reopening of automaticaly closed elements
bbcode_set_flags($BBHandler,BBCODE_CORRECT_REOPEN_TAGS,
                 BBCODE_SET_FLAGS_SET);
echo bbcode_parse($BBHandler,$text);

/*
 * Unpaired incorrectly nested BBCode
 */
$text="[i] Parser [b] Auto Correction [/i] at work\n";
echo bbcode_parse($BBHandler,$text);
// Enabling automatic close of pending tags
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-совместимых регулярных выражений (PCRE) — Модификаторы шаблонов
    • Описание синтаксиса Perl-совместимых регулярных выражений — Синтаксис регулярных выражений
  • PCRE — Функции для работы с регулярными выражениями (Perl-совместимые)
    • preg_filter — Perform a regular expression search and replace
    • preg_grep — Возвращает массив вхождений, которые соответствуют шаблону
    • preg_last_error — Returns the error code of the last PCRE regex execution
    • preg_match_all — Выполняет глобальный поиск шаблона в строке
    • preg_match — Выполняет проверку на соответствие регулярному выражению
    • preg_quote — Экранирует символы в регулярных выражениях
    • preg_replace_callback — Выполняет поиск по регулярному выражению и замену с использованием функции обратного вызова
    • preg_replace — Выполняет поиск и замену по регулярному выражению
    • preg_split — Разбивает строку по регулярному выражению
bbcode_set_flags
Введение
Text Processing


Введение

Синтакcис шаблонов, используемых в функциях этого раздела, во многом похож на синтаксис, используемый в Perl. Выражение должно быть заключено в ограничители, например, прямые слеши '/'. Ограничителем могут выступать произвольные символы, кроме буквенно-цифровых и обратного слеша '\'. Если ограничительный символ встречается в шаблоне, его необходимо экранировать. Начиная с PHP 4.0.4 в качестве ограничителя доступны комбинации, используемые в Perl: (), {}, [] и <>. Подробней об этом рассказано в разделе Синтаксис регулярных выражений.

После закрывающего ограничителя можно указывать различные модификаторы, влияющие на работу регулярных выражений. Детальная информация доступна в разделе Модификаторы шаблонов.

PHP также поддерживает POSIX-совместимые регулярные выражения, используя соответствующий модуль.

Замечание: Этот модуль хранит глобальный (1 на поток) кэш компилированных регулярных выражений (до 4096).

Внимание

Помните об ограничениях PCRE. См. документацию по PCRE » http://www.pcre.org/pcre.txt для информации.

PCRE
Установка и настройка
PCRE


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
PCRE


Установка

Начиная с PHP 4.2.0, Perl-совместимые регулярные выражения (PCRE) включены по умолчанию. Вы можете отключить их при помощи опции --without-pcre-regex. В случае если вы хотите использовать библиотеку, отличную от идущей в стандартной поставке РНР, используйте опцию --with-pcre-regex=DIR для указания директории, содержащей необходимые файлы. Если у вас версия PHP менее, чем 4.2.0, вам необходимо сконфигурировать и пересобрать PHP с опцией --with-pcre-regex[=DIR], чтобы включить поддержку PCRE-функций.

Версия PHP для Windows имеет встроенную поддержку данного расширения. Это означает, что для использования данных функций не требуется загрузка никаких дополнительных расширений.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Опции конфигурации PCRE
Имя | Значение по умолчанию | Изменяемость | Changelog
pcre.backtrack_limit | "100000" | PHP_INI_ALL | Доступна с PHP 5.2.0.
pcre.recursion_limit | "100000" | PHP_INI_ALL | Доступна с PHP 5.2.0.

Для подробного описания констант PHP_INI_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

pcre.backtrack_limit integer

Лимит обратных ссылок PCRE.

pcre.recursion_limit integer

Лимит на рекурсию. Не забывайте о том, что если вы установите достаточно высокое значение, то PCRE может превысить размер стэка (установленный операционной системой) и в конце концов вызовет обрушение PHP.

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение подгружается во время выполнения.

PREG константы
константа | описание
PREG_PATTERN_ORDER | Меняет порядок элементов в результирующем массиве так, чтобы элемент $matches[0] содержал полные вхождения шаблона, элемент $matches[1] - все вхождения первой взятой в круглые скобки подмаски, и так далее. Только reg_match_all() реагирует на данный модификатор; остальными функциями он игнорируется.
PREG_SET_ORDER | Меняет порядок элементов в результирующем массиве так, чтобы элемент $matches[0] содержал первый набор вхождений (полное вхождение, вхождение первой подмаски, заключенной в круглые скобки...), аналогично элемент $matches[1] - второй набор вхождений, и так далее. Только reg_match_all() реагирует на данный модификатор; остальными функциями он игнорируется.
PREG_OFFSET_CAPTURE | Смотрите описание флага PREG_SPLIT_OFFSET_CAPTURE. Данный флаг доступен в PHP 4.3.0 и выше.
PREG_SPLIT_NO_EMPTY | В случае, если этот флаг указан, функция preg_split() вернет только непустые подстроки.
PREG_SPLIT_DELIM_CAPTURE | В случае, если этот флаг указан, выражение, заключенное в круглые скобки в разделяющем шаблоне, также извлекается из заданной строки и возвращается функцией. Этот флаг был добавлен в PHP 4.0.5.
PREG_SPLIT_OFFSET_CAPTURE | В случае, если этот флаг указан, для каждой найденной подстроки будет указана ее позиция в исходной строке. Необходимо помнить, что этот флаг меняет формат возвращаемых данных: каждое вхождение возвращается в виде массива, в нулевом элементе которого содержится найденная подстрока, а в первом - смещение. Этот флаг доступен в PHP 4.3.0 и выше и используется только в функции preg_split().
PREG_NO_ERROR | Возвращается функцией preg_last_error(), если ошибок нет. Доступна начиная с PHP 5.2.0.
PREG_INTERNAL_ERROR | Возвращается функцией preg_last_error() в случае, если произошла внутренняя ошибка PCRE. Доступна начиная с PHP 5.2.0.
PREG_BACKTRACK_LIMIT_ERROR | Возвращается функцией preg_last_error() в случае, когда лимит обратных ссылок был исчерпан. Доступна начиная с PHP 5.2.0.
PREG_RECURSION_LIMIT_ERROR | Возвращается функцией preg_last_error() в случае, если лимит рекурсии был исчерпан. Доступна начиная с PHP 5.2.0.
Типы ресурсов
Примеры
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-совместимых регулярных выражений (PCRE)
PCRE


Модификаторы шаблонов

Ниже перечислены все доступные на сегодняшний день модификаторы. Имя, взятое в круглые скобки, указывает внутреннее 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() после выполнения стандартных подстановок в заменяемой строке интерпретирует ее как PHP-код и использует результат для замены искомой строки.

Только preg_replace() реагирует на данный модификатор; остальными функциями он игнорируется.

Замечание: Этот модификатор недоступен в PHP 3.

A (PCRE_ANCHORED)
Если данный модификатор используется, соответствие шаблону будет достигаться только в том случае, если он соответствует началу строки, в которой производится поиск. Того же эффекта можно достичь подходящей конструкцией с вложенным шаблоном, которая реализуема в Perl.
D (PCRE_DOLLAR_ENDONLY)
Если данный модификатор используется, метасимвол $ в шаблоне соответствует только окончанию обрабатываемых данных. Без этого модификатора метасимвол $ соответствует также позиции перед последним символом, в случае, если им является перевод строки (но не распространяется на любые другие переводы строк). Данный модификатор игнорируется, если используется модификатор m. В языке Perl аналогичный модификатор отсутствует.
S
В случае, если планируется многократно использовать шаблон, имеет смысл потратить немного больше времени на его анализ, чтобы уменьшить время его выполнения. В случае, если данный модификатор используется, проводится дополнительный анализ шаблона. В настоящем это имеет смысл только для фиксированных шаблонов, не содержащих переменных ссылок.
U (PCRE_UNGREEDY)
Этот модификатор инвертирует жадность квантификаторов, таким образом они по умолчанию не жадные. Но становятся жадными, если за ними следует символ '?'. Такая возможность не совместима с Perl. Модификатор U также может использоваться внутри шаблона, при помощи '?U' записи.
X (PCRE_EXTRA)
Этот модификатор включает дополнительную функциональность PCRE, которая не совместима с Perl: любой обратный слеш в шаблоне, за которым следует символ, не имеющий специального значения, приводят к ошибке. Это обусловлено тем, что подобные комбинации зарезервированы для дальнейшего развития. По умолчанию же, как и в Perl, слеш со следующим за ним символом без специального значения трактуется как as опечатка. На сегодняшний день это все возможности, которые управляются данным модификатором
J (PCRE_INFO_JCHANGED)
Модификатор (?J) меняет значение опции PCRE_DUPNAMES - подшаблоны могут иметь одинковые имена.
u (PCRE_UTF8)
Этот модификатор включает дополнительную функциональность PCRE, которая не совместима с Perl: шаблоны обрабатываются как UTF8 строки. Модификатор u доступен в PHP 4.1.0 и выше для Unix-платформ, и в PHP 4.2.3 и выше для Windows платформ. Валидность UTF8 в шаблоне проверяется начиная с PHP 4.3.5.

Регулярные выражения PCRE
Описание синтаксиса Perl-совместимых регулярных выражений
Регулярные выражения PCRE


Синтаксис регулярных выражений

Содержание

  • Вступление
  • Отличия от Perl
  • Регулярные выражения в деталях
Описывает возможные модификаторы шаблонов Perl-совместимых регулярных выражений (PCRE)
Вступление
Регулярные выражения PCRE


Вступление

Библиотека PCRE является набором функций, которые реализуют поиск по шаблону, используя синтаксис, подобный синтаксису Perl 5 с небольшими отличиями. Текущая реализация соответствует версии Perl 5.005.

Описание синтаксиса Perl-совместимых регулярных выражений
Отличия от Perl
Описание синтаксиса Perl-совместимых регулярных выражений


Отличия от Perl

Разница описана относительно версии Perl 5.005.

  1. По умолчанию пробельными символами являются все символы, распознаваемые библиотечной функцией языка Си isspace(). Это позволяет собрать PCRE библиотеку с произвольными символьными наборами. В стандартной поставке функция isspace() определяет как пробельные следующие символы: пробел, разрыв страницы, начло строки, перевод каретки, горизонтальную и вертикальную табуляцию. Начиная с версии Perl 5.002, символ вертикальной табуляции \v не является пробельным и, соответственно, не соответствует классу символов \s.
  2. PCRE не позволяет использовать квантификаторы повторения в условных выражениях. Perl позволяет это делать, но получаемый результат может существенно отличаться от ожидаемого. Например, (?!a){3} не означает, что три следующих символа будут не 'a'. Он всего лишь трижды утверждает, что следующий символ не 'a'.
  3. Во время сопоставления подмаски, находящейся внутри отрицающего условного выражения, счетчик подмасок увеличивается, но сами значения, зафиксированные такой подмаской, не возвращаются (в результирующем массиве по соответствующим смещениям находятся пустые строки). Perl устанавливает значения соответствующих числовых переменных исходя из предшествующей модмаски, найденной непосредственно перед тем, как отрицающее условие не смогло быть сопоставлено (и таким образом выполнилось), но только в том случае, если условное выражение содержит только одну ветвь.
  4. Несмотря на то, что символ, соответствующий ASCII-коду 0 (бинарный ноль), допускается в обрабатываемом тексте, он недопустим в шаблоне (так как передается в качестве аргумента Си-функции как нормальная строка, завершаемая нулевым символом). Cледующая служебная последовательность "\\x00" может быть использована для представления бинарного ноля.
  5. Следующие служебные последовательности, используемые в Perl, не поддерживаются: \l, \u, \L, \U, \E, \Q. Это связано с тем, что обработка указанных последовательностей производится внутренним Perl-механизмом обработки строк и не является частью механизма регулярных выражений.
  6. Perl модификатор \G не поддерживается, так как он не входит в рамки простого сопоставления шаблону.
  7. Достаточно очевидно, что PCRE не поддерживает конструкции вида (?{code}).
  8. Теперь немного о чудаковатости в Perl 5.005_02, связанной с фиксацией результата в случае, когда часть шаблона повторяется. Например, применяя шаблон /^(a(b)?)+$/ к строке "aba", переменная $2 соответствует 'b'. Но при применении шаблона /^(aa(bb)?)+$/ к строке "aabbaa" переменная $2 оказывается неустановленной. А в случае, если шаблон изменить на /^(aa(b(b))?)+$/, переменные $2 и $3 окажутся установленными. В Perl 5.004, в обоих случаях переменная $2 будет содержать соответствующее значение, что соответствует PCRE. Если в будущем Perl изменит поведение в данной ситуации, PCRE также может измениться.
  9. Еще одна несовместимость, не находящая разумного объяснения. Шаблон /^(a)?(?(1)a|b)+$/ соответствует строке 'a' в PERL, но не в PCRE. В то же время шаблон /^(a)?a/ соответствует строке 'a' и в Perl и в PCRE, оставляя переменную $1 неустановленной.

  10. PCRE также предоставляет некоторое расширение возможностей Perl для обработки регулярных выражений:

    1. Несмотря на то, что условное выражение, ссылающееся на предыдущие вхождения, должно соответствовать строке фиксированной длины, каждая ветка такого выражения в отдельности может соответствовать строке произвольной длины (отличающейся от длины других веток). В то время как Perl 5.005 требует, чтобы все они имели одинаковую длину.
    2. В случае, если модификатор PCRE_DOLLAR_ENDONLY используется и PCRE_MULTILINE не используется, специальный символ '$' соответствует исключительно концу обрабатываемых данных.
    3. В случае, если модификатор PCRE_EXTRA используется, обратный слеш, за которым следует символ, не имеющий специального значения, приводит к ошибке.
    4. Модификатор PCRE_UNGREEDY инвертирует жадность квантификаторов, таким образом они по умолчанию не жадные. Но становятся жадными, если за ними следует символ '?'.

Вступление
Регулярные выражения в деталях
Описание синтаксиса Perl-совместимых регулярных выражений


Регулярные выражения в деталях

Предисловие

Ниже описан синтаксис Perl-совместимых регулярных выражений (PCRE). Регулярные выражения также хорошо описаны в документации языка Perl и в достаточно большом количестве книг, с изобилием примеров, например, книга "Mastering Regular Expressions", написанная Effrey Friedl's (ISBN 1-56592-257-3).

Регулярное выражение - это шаблон, применяемый к заданному тексту слева направо. Большая часть символов сохраняет свое значение в шаблоне и означает совпадение с соответствующим символом. Банальный пример: шаблон The quick brown fox соответствует той части строки, которая идентична приведенной фразе.

Метасимволы

Сила регулярных выражений исходит из возможности использовать условия и повторения в шаблоне. Они записываются при помощи метасимволов , которые интерпретируются специальным образом.

Существуют два различных набора метасимволов: те, которые используются внутри квадратных скобок, и те, которые используются вне квадратных скобок. Рассмотрим их более детально. Вне квадратных скобок используются следующие метасимволы:

\
общий экранирующий символ, допускающий несколько вариантов применения
^
декларирует начало данных (или линии, в многострочном режиме)
$
декларирует конец данных (или линии, в многострочном режиме)
.
соответствует любому символу, кроме перевода строки (по умолчанию)
[
начало описания символьного класса
]
конец описания символьного класса
|
начало ветки условного выбора
(
Начало подмаски
)
конец подмаски
?
расширяет смысл метасимвола '(' , квантификатор, означающий ноль либо одно вхождение, квантификатор жадности
*
квантификатор, означающий ноль или более вхождений
+
квантификатор, означающий одно или более вхождений
{
начало количественного квантификатора
}
конец количественного квантификатора

Часть шаблона, заключенная в квадратные скобки, называется символьным классом. Внутри символьных классов используются следующие метасимволы:

\
общий экранирующий символ
^
означает отрицание класса, допустим только в начале класса
-
означает символьный интервал
]
завершает символьный класс

В нижеследующих секциях детально описан каждый из перечисленных метасимволов.

Обратный слеш

Символ '\' имеет несколько применений. Прежде всего, если он предшествует не буквенно-цифровому символу, он снимает с него специальное значение. Применение обратного слеша как экранирующего символа допустимо как в символьном классе, так и вне него.

Например, если вы хотите задать соответствие символу '*', в шаблоне вам необходимо указать '\*'. Это предотвратит трактование '*' как метасимвола с особым значением. Во избежание ошибок всегда экранируйте не буквенно-цифровые символы, если хотите указать соответствие самому символу. В частном случае для сопоставления с самим символом обратного слеша, используйте запись '\\'.

В случае, если указан модификатор PCRE_EXTENDED, пробельные символы в шаблоне (вне описания символьного класса) игнорируются. Также игнорируется часть строки, находящаяся между символом '#' (опять же, не участвующем в описании символьного класса) и следующим символом перевода строки. В таком случае обратный слеш можно применять как экранирующий символ для указания вхождений пробельным символов в шаблоне.

Второе примение обратного слеша заключается в том, что он позволяет использовать непечатные символы в описании шаблона. При том, что в PCRE нет ограничений на использование непечатных символов (исключая бинарный 0, который интерпретируется как конец шаблона), при редактировании программного кода в каком-либо текстовом редакторе гораздо удобнее использовать следующие комбинации:

\a
символ оповещения, сигна, (шестнадцатиричный код 07)
\cx
"Ctrl+x", где x - произвольный символ
\e
escape (шестнадцатеричный код 1B)
\f
разрыв страницы (шестнадцатиричный код 0C)
\n
перевод строки (шестнадцатиричный код 0A)
\r
возврат каретки (шестнадцатиричный код 0D)
\t
табуляция (шестнадцатиричный код 09)
\xhh
символ с шестнадцатиричным кодом hh
\ddd
символ с восьмеричным кодом либо ссылка на подмаску

Если быть более точным, комбинация \cx интерпретируется следующим образом: если 'x' - символ нижнего регистра, он преобразуется в верхний регистр. После этого шестой бит инвертируется. Таким образом '\cz' интерпретируется как 1A, в то время как '\c;' получает шестнадцатиричное значение 3B, а '\c;' - 7B.

После "\x" считываются еще две шестнадцатиричные цифры (они могут быть записаны в нижнем регистре).

После "\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
любой символ, кроме десятичной цифры
\s
любой пробельный символ
\S
любой непробельный символ
\w
Любой символ, образующий "слово"
\W
Любой символ, не образующий "слово"

Каждая пара таких специальных последовательностей делит полное множество всех символов на два непересекающихся множества. Любой символ соответствует одному и только одному множеству из пары.

"word" символ - это произвольная цифра, буква или символ подчеркивания, проще говоря, любой символ, который может являться частью 'слова' в Perl. Определение букв и цифр управляется символьными таблицами, с которыми PCRE был собран. И, как следствие, эти наборы могут отличаться в различных локализированных дистрибутивах. Например, в локали "fr" (Франция) некоторые символы с кодом выше 128 используются для записи ударных символов и, соответственно, соответствуют маске \w.

Описанные выше типы символов могут применяться как внутри, так и вне символьных классов, и соответствуют одному символу данного типа.

Четвертое использование обратного слеша - нотация некоторых формальных утверждений, описывающих условия касательно месторасположения особых позиций в строке и совершенно не затрагивающих сами символы. Такими управляющими последовательностями являются:

\b
граница слова
\B
не является границей слова
\A
начало данных (независимо от многострочного режима)
\Z
конец данных либо позиция перед последним символом строки, в случае если это символ перевода строки (независимо от многострочного режима)
\z
конец данных (независимо от многострочного режима)

Описанные выше последовательности не могут встречаться в символьных классах (исключая комбинацию '\b', которая внутри класса означает символ возврата 'backspace').

Границей слова считается такая позиция в строке, в которой из текущего и последующего символа только один соответствует \w (т.е. один из них соответствует \w, а другой \W). Начало или конец строки также соответствуют границе слова в случае, если первый или, соответственно, последний символ совпадает с \w.

Специальные последовательности \A, \Z и \z отличаются от общеупотребляемых метасимволов начала строки '^' и конца строки '$' тем, что их поведение не зависит от наличия или отсутствия модификаторов. На них никак не влияют опции PCRE_MULTILINE и PCRE_DOLLAR_ENDONLY. Разница между \Z и \Z в том, что \Z соответствует позиции перед последним символом в случае, если последний символ - перевод строки. В то время, как \z соответствует исключительно концу данных.

Метасимволы начала и конца строки

По умолчанию, вне символьного класса метасимвол начала строки '^' соответствует началу обрабатываемых данных (если не используются модификаторы). Внутри символьного класса он имеет совершенно другое значение.

Метасимвол '^' не обязан быть первым символом строки в случае, если в шаблоне используются несколько альтернатив, но должен быть первым символом в каждой из альтернатив, в которой он встречается, если шаблон когда-либо сопоставим с соответствующей веткой. Если все альтернативы начинаются с метасимвола начала строки, то шаблон ограничен для совпадения исключительно в начале строки, говорят что шаблон "заякорен". (Существуют и другие способы "заякорить" шаблон).

Соответствие метасимволу конца строки достигается только в конце строки или непосредственно перед последним символом в случае, если им является перевод строки (если модификаторы не указаны). Метасимвол конца строки не обязан быть последним символом шаблона в случае, если несколько альтернатив используется, но должен быть последним символом в каждой альтернативе, в которой он фигурирует. Внутри символьного класса символ '$' не имеет специального значения.

Поведение метасимвола конца строки может быть изменено при помощи модификатора PCRE_DOLLAR_ENDONLY так, чтобы он соответствовал исключительно концу строки. Данный флаг никак не касается специальной последовательности \Z.

Значение метасимволов начала и конца строки меняется в случае, если модификатор PCRE_MULTILINE используется. В таком случае, помимо совпадений в начале либо конце строки, метасимволы '^' и '$' соответствуют позиции непосредственно после символа перевода строки соответственно. Например, шаблон /^abc$/ встречается в строке def\nabc" в многострочном режиме и не встречается в нормальном режиме. Таким образом, шаблон который "заякорен" в однострочном режиме, не будет являться "заякоренным" в многострочном режиме. Модификатор PCRE_DOLLAR_ENDONLY игнорируется в случае, если модификатор PCRE_MULTILINE установлен.

Следует заметить, что служебные последовательности \A, \Z и \z могут использоваться для сопоставления с началом либо концом строки в обоих режимах. И если все ветви шаблона начинаются с \A, шаблон будет заякорен независимо от присутствия модификатора PCRE_MULTILINE.

Метасимвол точка

Вне символьного класса символ точка соответствует любому (в том числе и непечатному, бинарному) символу, кроме символа перевода строки '\n'. В случае, если модификатор PCRE_DOTALL используется, точка соответствует также символу перевода строки. Обработка метасимвола "точка", никак не связана с метасимволами начала и конца строки, единственное, что у них общего,- так это специальное отношение к символу перевода строки. Внутри символьного класса точка не имеет специального значения.

Квадратные скобки

Открывающая квадратная скобка объявляет начало символьного класса, завершаемого закрывающей квадратной скобкой. Символ ']' не имеет специального значения, и в случае, если закрывающая квадратная скобка необходима как член символьного класса, она должна быть первым символом непосредственно после открывающей квадратной скобки (если используется метасимвол '^', то непосредственно после него), либо экранироваться при помощи обратного слеша.

Символьный класс соответствует одиночному символу обрабатываемой строки, причем сам символ должен содержаться в наборе, определяемым классом. В случае, если первым символом описания класса является '^', логика работы инвертируется: класс соответствует одиночному символу, который не содержится в наборе, определяемым классом. Если символ '^' необходим как член класса, его не следует помещать первым символом в описании класса либо необходимо экранировать при помощи обратного слеша.

К примеру, символьный класс [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_] соответствует любой букве или цифре, но не символу подчеркивания.

Все неалфавитные символы, кроме \, -, ^ (вначале) и завершающего ']', не являются специальными символами, но использование экранирующего слеша перед ними не навредит.

Вертикальная черта

Символ вертикальной черты '|' используются для разделения альтернативных масок. Например шаблон gilbert|sullivan соответствует как "gilbert" так и "sullivan". Допустимо указывать любое количество альтернатив, также допустимо указывать пустые альтернативы (соответствуют пустой строке). В процессе поиска соответствия просматриваются все перечисленные альтернативы слева направо, останавливаясь после первого найденного соответствия. В случае, если альтернативные варианты перечислены в подшаблоне, то поиск соответствия означает нахождение соответствия одному из альтернативных вариантов подмаски и остатку основного шаблона.

Установка внутренних опций

Установки PCRE_CASELESS, PCRE_MULTILINE, PCRE_DOTALL и PCRE_EXTENDED могут быть локально предопределены в шаблоне с использованием специальных символьных Perl-последовательностей, заключенных между символами "(?" и ")".

Символы внутренних опций
i | for PCRE_CASELESS
m | для PCRE_MULTILINE
s | для PCRE_DOTALL
x | для PCRE_EXTENDED

Например, (?im) указывает на регистронезависимый, многострочный режим поиска. Также можно сбросить опцию, поставив перед ней символ '-', либо комбинировать установку и отмену режимов. Например, (?im-sx) устанавливает флаги PCRE_CASELESS, PCRE_MULTILINE и отменяет флаги PCRE_DOTALL и PCRE_EXTENDED. В случае, если опциональный символ расположен непосредственно после либо перед символом '-', опция будет отменена.

Область видимости данных опций зависит от того, где именно в шаблоне они используются. В случае, если они указаны вне подмаски, эффект будет тот же, что и при указании их в самом начале шаблона. Таким образом, нижеследующие паттерны эквивалентны:

    (?i)abc
    a(?i)bc
    ab(?i)c
    abc(?i)

, что, в свою очередь равносильно компиляции шаблона 'abs' с указанием модификатора PCRE_CASELESS. Другими словами, такие установки верхнего уровня применяются ко всему шаблону (если отсутствуют дополнительные модификаторы в подмасках). Если присутствуют несколько опций верхнего уровня, будет использована самая правая опция.

В случае, если опция встречается в подмаске, эффект может быть разным. В Perl 5.005 была добавлена следующая особенность: опция внутри подмаски влияет только на ту часть подмаски, которая идет после указания опции. Таким образом (a(?i)b)c соответствует исключительно строкам 'abc' и 'aBc' (предполагается, что модификатор PCRE_CASELESS не используется). Это означает, что cуществует возможность указывать различные наборы опций для отдельных участков шаблона. Применение опций в одной из альтернативных веток также распространяется на все последующие ветки. Например: (a(?i)b|c) соответствует "ab", "aB", "c" и "C", хотя при совпадении с "C" первая ветвь покидается до установки опции. Это объясняется тем, что установка всех опций происходит на этапе компиляции шаблона.

Опции, специфичные для PCRE, такие как PCRE_UNGREEDY и PCRE_EXTRA могут быть установлены точно так же, как и Perl-совместимые опции, путем использования символов U и X соответственно. Флаг (?X) специфичен тем, что должен быть расположен в шаблоне прежде, чем будет использоваться любая другая дополнительная возможность, даже если он расположен на верхнем уровне. Лучше всего размещать флаг (?X) в самом начале шаблона.

Подмаски

Подмаски ограничиваются круглыми скобками, которые могут быть вложенными. Использование части шаблона как подмаски имеет следующие функции:

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".

Повторение

Повторение задается при помощи квантификаторов, следующих за любым из указанных ниже элементов:

  • произвольным, возможно экранированным, символом
  • метасимволом "точка"
  • символьным классом
  • ссылкой на предыдущий фрагмент шаблона (см. следующий раздел)
  • взятой в круглый скобки подмаской (если это не утверждение - см. далее)

Общий квантификатор повторения указывает минимальное и максимальное допустимое количество совпадений, согласно двум числам, заключенными в фигурные скобки и разделенными запятой. Числа должны быть меньше чем 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), квантификаторы являются не жадными по умолчанию, но могут становиться жадными, если за ними следует символ '?'. Говоря другими словами, знак вопроса инвертирует жадность квантификаторов.

В случае, если используется подмаска с квантификатором, для которого задано минимальное количество повторений (больше одного), либо если задано максимальное количество повторений, для откомпилированного шаблона требуется больше памяти (пропорционально миниму либо максимуму соответственно).

В случае, если шаблон начинается с .* либо .{0,}, и установлен модификатор PCRE_DOTALL (являющийся аналогом Perl-опции /s), который позволяет метасимволу "точка" соответствовать переводу строки, шаблон неявно заякоривается. Это происходит поскольку все последующие конструкции будут сопоставляться с каждой символьной позицией в обрабатываемом тексте, и, как следствие, начало строки - единственная позиция, дающая наиболее полное совпадение. PCRE рассматривает каждый такой шаблон, как если бы ему предшествовала последовательность \A. В случае, если известно, что данные не содержат переводов строк, а сам шаблон начинается на .*, рекомендуется использовать PCRE_DOTALL для оптимизации шаблона, либо использовать метасимвол '^' для указания явного заякоривания.

В случае, если захватывающая подмаска повторяется, результирующим значением подмаски будет подстрока, совпадающая с результатом последней итерации. Например, после того, как (tweedle[dume]{3}\s*)+ совпадет с "tweedledum tweedledee", результирующим значением подмаски будет "tweedledee". Однако, если присутствуют вложенные захватывающие подмаски, соответствующие значения могут быть установлены в предыдущих итерациях. Например, после того, как /(a|(b))+/ совпадет с "aba", значением второй захваченной подстроки будет "b".

Обратные ссылки

Вне символьного класса обратный слеш с последующей цифрой больше нуля (и, возможно, последующими цифрами) интерпретируется как ссылка на предшествующую захватывающую подмаску, предполагая, что соответствующее количество предшествующих открывающих круглых скобок присутствует.

Однако, в случае, если следующее за обратным слешем число меньше 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"... При каждой итерации подмаски обратная ссылка соответствует той части строки, которая была захвачена при предыдущей итерации. Чтобы такая конструкция работала, шаблон должен быть построен так, чтобы при первой итерации сопоставление с обратной ссылкой не производилось. Этого можно достичь, используя альтернативы (как в предыдущем примере) либо квантификаторы с минимумом, равным нулю.

Утверждения

Утверждения - это проверки касательно символов, идущих до или после текущей позиции сопоставления, ничего при этом не поглощая (никакие символы исходного текста не ставятся в соответствие утверждениям). Наиболее простые варианты утверждений, такие как \b, \B, \A, \Z, \z, ^ и $ были рассмотрены ранее. Более сложные утверждения записываются как подмаски. Утверждения бывают двух видов: те, которые анализируют текст, предшествующий текущей позиции, и идущий после нее.

Сопоставление подмаски, содержащий утверждение, происходит обычным образом, за исключением того, что текущая позиция не изменяется. Утверждения касательно последующего текста начинаются с (?= для положительных утверждений и с (?! для отрицающих утверждений. Например, \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 захватывающих подмасок.

Однократные подмаски

Как для минимального, так и максимального количества повторений, если последующая часть шаблона терпит неудачу при сопоставлении, происходит повторный анализ повторяемого выражения на предмет того, возможно ли успешное сопоставление всего шаблона при другом количестве повторений. Бывают случаи, когда необходимо изменить описанную логику работы для реализации специфического сопоставления либо оптимизации шаблона (если автор уверен, что других вариантов соответствия нет).

В качестве примера, рассмотрим шаблон \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+>)*[!?], нецифровые последовательности не могут быть разорваны, и невозможность сопоставления обнаруживается гораздо быстрее.

Условные подмаски

В PCRE реализована возможность подчинять шаблон условию либо выбирать из двух условных подмасок в зависимости от успеха сопоставления предыдущей подмаски. Условные подмаски имеют две допустимые формы использования:

    (?(condition)yes-pattern)
    (?(condition)yes-pattern|no-pattern)

В случае успешного сопоставления условия condition, используется подмаска yes-pattern, в противном случае no-pattern (если он присутствует). Если указано более двух альтернатив, возникнет ошибка во время компиляции.

Условия бывают двух видов. В случае, если между скобками заключены цифры, условие будет выполняться в том случае, если подмаска с соответствующим номером была успешно сопоставлена. Рассмотрим следующий шаблон (он содержит незначащий пробел для удобства чтения, подразумевается использование модификатора PCRE_EXTENDED), разделив его для удобства на три смысловые части: ( \( )? [^()]+ (?(1) \) )

Первая часть соответствует опциональной открывающей скобке, и в случае если она присутствует, захватывает ее как значение первой подмаски. Следующая часть соответствует одному или более символам, отличным от круглой скобки. Третья часть является условной подмаской, зависящей от результата сопоставления первой подмаски. В случае, если в начале обрабатываемых данных была обнаружена открывающая круглая скобка, условие будет интерпретировано как истина, и, следовательно, для успешного сопоставления третьей части шаблона необходима закрывающая круглая скобка. В противном случае, поскольку не указана вторая ветвь условного шаблона, третья часть будет сопоставлена с пустой строкой. Суммируя все вышесказанное, приведенный шаблон совпадает с последовательностью не-скобок, возможно, заключенной в круглые скобки.

В случае, если условие не является последовательностью цифр, оно обязано быть условием. Это также может быть утверждающее или отрицающее условие касательно предшествующего либо последующего текста. Рассмотрим еще один шаблон, также содержащий незначащий пробел и два условия, записанные в следующей строке:

    (?(?=[^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 - цифры.

Комментарии

Служебная последовательность (?# обозначает начало комментария, который продолжается до ближайшей закрывающей скобки. Вложенные скобки не допускаются. Символы, находящиеся внутри комментария, не принимают участия в сопоставлении шаблона.

В случае, если используется модификатор PCRE_EXTENDED, неэкранированный символ '#' вне символьного класса также означает начало блока комментария, который длится до конца текущей строки.

Рекурсивные шаблоны

Рассмотрим задачу поиска соответствия со строкой, находящихся внутри неограниченного количества круглых скобок. Без использования рекурсии лучшее, что можно сделать - написать шаблон, который будет решать задачу для некоторой ограниченной глубины вложенности, так как обработать неограниченную глубину не предоставляется возможным. В 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 изнутри рекурсии.

Производительность

Некотрые элементы, которые могут встречаться в шаблонах, являются более эффективными, чем ряд других. Например, гораздо эффективней использовать символьный класс [aeiou] вместо набора альтернатив (a|e|i|o|u). Как правило, более простая конструкция является более эффективной. Книга Jeffrey Friedl'а содержит много обсуждений вопроса оптимизации регулярных выражений.

В случае, если шаблон начинается с .* и используется флаг 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-совместимых регулярных выражений


Функции для работы с регулярными выражениями (Perl-совместимые)

Содержание

  • preg_filter — Perform a regular expression search and replace
  • preg_grep — Возвращает массив вхождений, которые соответствуют шаблону
  • preg_last_error — Returns the error code of the last PCRE regex execution
  • preg_match_all — Выполняет глобальный поиск шаблона в строке
  • preg_match — Выполняет проверку на соответствие регулярному выражению
  • preg_quote — Экранирует символы в регулярных выражениях
  • preg_replace_callback — Выполняет поиск по регулярному выражению и замену с использованием функции обратного вызова
  • preg_replace — Выполняет поиск и замену по регулярному выражению
  • preg_split — Разбивает строку по регулярному выражению
Регулярные выражения в деталях
preg_filter
PCRE


Perform a regular expression search and replace

PCRE
preg_grep
PCRE
PHP Manual

preg_filter

(PHP 5 >= 5.3.0)

preg_filter — Perform a regular expression search and replace

Описание

mixed preg_filter ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit= -1 [, int &$count ]] )

preg_filter() is identical to preg_replace() except it only returns the matches. For details about how this function works, read the preg_replace() documentation.

Список параметров

pattern

replacement

subject

limit

count

Возвращаемые значения

Returns an array if the subject parameter is an array, or a string otherwise.

If matches are found, the new subject will be returned, otherwise subject will be returned unchanged or NULL if an error occurred.

Примеры

Пример #1 Example comparing preg_filter() with preg_replace()

<?php
$subject = array('1', 'a', '2', 'b', '3', 'A', 'B', '4');
$pattern = array('/\d/', '/[a-z]/', '/[1a]/');
$replace = array('A:$0', 'B:$0', 'C:$0');

echo "preg_filter returns\n";
print_r(preg_filter($pattern, $replace, $subject));

echo "preg_replace returns\n";
print_r(preg_replace($pattern, $replace, $subject));
?>

Результат выполнения данного примера:

preg_filter returns
Array
(
    [0] => A:C:1
    [1] => B:C:a
    [2] => A:2
    [3] => B:b
    [4] => A:3
    [7] => A:4
)
preg_replace returns
Array
(
    [0] => A:C:1
    [1] => B:C:a
    [2] => A:2
    [3] => B:b
    [4] => A:3
    [5] => A
    [6] => B
    [7] => A:4
)

Смотрите также

  • preg_replace() - Выполняет поиск и замену по регулярному выражению
  • preg_replace_callback() - Выполняет поиск по регулярному выражению и замену с использованием функции обратного вызова
  • preg_match() - Выполняет проверку на соответствие регулярному выражению
  • preg_split() - Разбивает строку по регулярному выражению

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 ] )

preg_grep() возвращает массив, состоящий из элементов входящего массива input , которые соответствуют заданному шаблону pattern .

Параметр flags может принимать следующие значения:

PREG_GREP_INVERT
В случае, если этот флаг установлен, функция preg_grep(), возвращает те элементы массива, которые не соответствуют заданному шаблону pattern . Этот флаг доступен, начиная с PHP 4.2.0.

Начиная с PHP 4.0.4, результат, возвращаемый функцией preg_grep() использует те же индексы, что и массив исходных данных. Если такое поведение вам не подходит, примените array_values() к массиву, возвращаемому preg_grep() для реиндексации.

Пример #1 preg_grep() пример

<?php
// Возвращает все элементы массива,
// содержащие числа с плавающей точкой
$fl_array = preg_grep("/^(\d+)?\.\d+$/", $array);
?>

preg_filter
preg_last_error
PCRE


Returns the error code of the last PCRE regex execution

preg_grep
preg_match_all
PCRE
PHP Manual

preg_last_error

(PHP 5 >= 5.2.0)

preg_last_error — Returns the error code of the last PCRE regex execution

Описание

int preg_last_error ( void )

Returns the error code of the last PCRE regex execution.

Пример #1 preg_last_error() example

<?php

preg_match('/(?:\D+|<\d+>)*[!?]/', 'foobar foobar foobar');

if (preg_last_error() == PREG_BACKTRACK_LIMIT_ERROR) {
    print 'Backtrack limit was exhausted!';
}

?>

Результат выполнения данного примера:

Backtrack limit was exhausted!

Возвращаемые значения

Returns one of the following constants (explained on their own page):

  • PREG_NO_ERROR
  • PREG_INTERNAL_ERROR
  • PREG_BACKTRACK_LIMIT_ERROR (see also pcre.backtrack_limit)
  • PREG_RECURSION_LIMIT_ERROR (see also pcre.recursion_limit)
  • PREG_BAD_UTF8_ERROR
  • PREG_BAD_UTF8_OFFSET_ERROR (since 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 [, int $offset ]] )

Ищет в строке subject все совпадения с шаблоном pattern и помещает результат в массив matches в порядке, определяемом комбинацией флагов flags .

После нахождения первого соответствия последующие поиски будут осуществляться не с начала строки, а от конца последнего найденного вхождения.

Дополнительный параметр flags может комбинировать следующие значения (необходимо понимать, что использование PREG_PATTERN_ORDER одновременно с PREG_SET_ORDER бессмысленно):

PREG_PATTERN_ORDER

Если этот флаг установлен, результат будет упорядочен следующим образом: элемент $matches[0] содержит массив полных вхождений шаблона, элемент $matches[1] содержит массив вхождений первой подмаски, и так далее.

<?php
preg_match_all("|<[^>]+>(.*)</[^>]+>|U",
    "<b>example: </b><div align=left>this is a test</div>",
    $out, PREG_PATTERN_ORDER);
echo $out[0][0] . ", " . $out[0][1] . "\n";
echo $out[1][0] . ", " . $out[1][1] . "\n";
?>

Результат работы примера:

<b>example: </b>, <div align=left>this is a test</div>
example: , this is a test

Как мы видим, $out[0] содержит массив полных вхождений шаблона, а элемент $out[1] содержит массив подстрок, содержащихся в тегах.

PREG_SET_ORDER

Если этот флаг установлен, результат будет упорядочен следующим образом: элемент $matches[0] содержит первый набор вхождений, элемент $matches[1] содержит второй набор вхождений, и так далее.

<?php
preg_match_all("|<[^>]+>(.*)</[^>]+>|U",
    "<b>example: </b><div align=\"left\">this is a test</div>",
    $out, PREG_SET_ORDER);
echo $out[0][0] . ", " . $out[0][1] . "\n";
echo $out[1][0] . ", " . $out[1][1] . "\n";
?>

Результат работы примера:

<b>example: </b>, example:
<div align="left">this is a test</div>, this is a test

В таком случае массив $matches[0] содержит первый набор вхождений, а именно: элемент $matches[0][0] содержит первое вхождение всего шаблона, элемент $matches[0][1] содержит первое вхождение первой подмаски, и так далее. Аналогично массив $matches[1] содержит второй набор вхождений, и так для каждого найденного набора.

PREG_OFFSET_CAPTURE

В случае, если этот флаг указан, для каждой найденной подстроки будет указана ее позиция в исходной строке. Необходимо помнить, что этот флаг меняет формат возвращаемых данных: каждое вхождение возвращается в виде массива, в нулевом элементе которого содержится найденная подстрока, а в первом - смещение. Данный флаг доступен в PHP 4.3.0 и выше.

В случае, если никакой флаг не используется, по умолчанию используется PREG_PATTERN_ORDER.

Поиск осуществляется слева направо, с начала строки. Дополнительный параметр offset может быть использован для указания альтернативной начальной позиции для поиска. Дополнительный параметр offset доступен, начиная с PHP 4.3.3.

Замечание: Использование параметра offset не эквивалентно замене сопоставляемой строки выражением substr($subject, $offset) при вызове функции preg_match_all(), поскольку шаблон pattern может содержать такие условия как ^, $ или (?<=x). Вы можете найти соответствующие примеры в описании функции preg_match().

Возвращает количество найденных вхождений шаблона (может быть нулем) либо FALSE, если во время выполнения возникли какие-либо ошибки.

Пример #1 Получение всех телефонных номеров из текста.

<?php
preg_match_all("/\(?  (\d{3})?  \)?  (?(1)  [\-\s] ) \d{3}-\d{4}/x",
                "Call 555-1212 or 1-800-555-1212", $phones);
?>

Пример #2 Жадный поиск совпадений с HTML-тэгами

<?php
// Запись \\2 является примером использования ссылок на подмаски.
// Она означает необходимость соответствия подстроки строке, зафиксированной
// второй подмаской, в нашем примере это ([\w]+).
// Дополнительный слеш необходим, так как используются двойные кавычки.

$html = "<b>bold text</b><a href=howdy.html>click me</a>";

preg_match_all("/(<([\w]+)[^>]*>)(.*)(<\/\\2>)/", $html, $matches);

for ($i=0; $i< count($matches[0]); $i++) {
  echo "matched: " . $matches[0][$i] . "\n";
  echo "part 1: " . $matches[1][$i] . "\n";
  echo "part 2: " . $matches[3][$i] . "\n";
  echo "part 3: " . $matches[4][$i] . "\n\n";
}
?>

Результат работы примера:

matched: <b>bold text</b>
part 1: <b>
part 2: bold text
part 3: </b>

matched: <a href=howdy.html>click me</a>
part 1: <a href=howdy.html>
part 2: click me
part 3: </a>

Смотрите также preg_match(),
preg_replace(),
и preg_split().

preg_last_error
preg_match
PCRE


Выполняет проверку на соответствие регулярному выражению

preg_match_all
preg_quote
PCRE
PHP Manual

preg_match

(PHP 4, PHP 5)

preg_match — Выполняет проверку на соответствие регулярному выражению

Описание

mixed preg_match ( string $pattern , string $subject [, array $&matches [, int $flags [, int $offset ]]] )

Ищет в заданном тексте subject совпадения с шаблоном pattern

В случае, если дополнительный параметр matches указан, он будет заполнен результатами поиска. Элемент $matches[0] будет содержать часть строки, соответствующую вхождению всего шаблона, $matches[1] - часть строки, соответствующую первой подмаске, и так далее.

flags может принимать следующие значения:

PREG_OFFSET_CAPTURE
В случае, если этот флаг указан, для каждой найденной подстроки будет указана ее позиция в исходной строке. Необходимо помнить, что этот флаг меняет формат возвращаемых данных: каждое вхождение возвращается в виде массива, в нулевом элементе которого содержится найденная подстрока, а в первом - смещение. Данный флаг доступен в PHP 4.3.0 и выше.

Дополнительный параметр flags доступен начиная с PHP 4.3.0.

Поиск осуществляется слева направо, с начала строки. Дополнительный параметр offset может быть использован для указания альтернативной начальной позиции для поиска. Дополнительный параметр offset доступен начиная с PHP 4.3.3.

Замечание: Использование параметра offset не эквивалентно замене сопоставляемой строки выражением substr($subject, $offset) при вызове функции preg_match_all(), поскольку шаблон 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() возвращает количество найденных соответствий. Это может быть 0 (совпадения не найдены) и 1, поскольку preg_match() прекращает свою работу после первого найденного совпадения. Если необходимо найти либо сосчитать все совпадения, следует воспользоваться функцией preg_match_all(). Функция preg_match() возвращает FALSE в случае, если во время выполнения возникли какие-либо ошибки.

Подсказка

Не используйте функцию preg_match(), если необходимо проверить наличие подстроки в заданной строке. Используйте для этого strpos() либо strstr(), поскольку они выполнят эту задачу гораздо быстрее.

Пример #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[2];

// извлекаем две последние части имени хоста
preg_match("/[^\.\/]+\.[^\.\/]+$/", $host, $matches);
echo "domain name is: {$matches[0]}\n";
?>

Результат работы примера:

domain name is: php.net

Смотрите также preg_match_all(),
preg_replace(), и
preg_split().

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 ] )

Функция preg_quote() принимает строку str и добавляет обратный слеш перед каждым служебным символом. Это бывает полезно, если в составлении шаблона участвуют строковые переменные, значение которых в процессе работы скрипта может меняться.

В случае, если дополнительный параметр delimiter указан, он будет также экранироваться. Это удобно для экранирования ограничителя, который используется в PCRE функциях. Наиболее распространенным ограничителем является символ '/'.

В регулярных выражениях служебными считаются следующие символы: . \\ + * ? [ ^ ] $ ( ) { } = ! < > | :

Пример #1 preg_quote() пример

<?php
$keywords = "$40 for a g3/400";
$keywords = preg_quote($keywords, "/");
echo $keywords; // возвращает \$40 for a g3\/400
?>

Пример #2 Выделение курсивом слова в тексте

<?php
// В данном примере preg_quote($word) используется, чтобы
// избежать трактовки символа '*' как спец. символа.

$textbody = "This book is *very* difficult to find.";
$word = "*very*";
$textbody = preg_replace ("/" . preg_quote($word) . "/",
                          "<i>" . $word . "</i>",
                          $textbody);
?>

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

preg_match
preg_replace_callback
PCRE


Выполняет поиск по регулярному выражению и замену с использованием функции обратного вызова

preg_quote
preg_replace
PCRE
PHP Manual

preg_replace_callback

(PHP 4 >= 4.0.5, PHP 5)

preg_replace_callback — Выполняет поиск по регулярному выражению и замену с использованием функции обратного вызова

Описание

mixed preg_replace_callback ( mixed $pattern , callback $callback , mixed $subject [, int $limit ] )

Поведение этой функции во многом напоминает preg_replace(), за исключением того, что вместо параметра replacement необходимо указывать callback функцию, которой в качестве входящего параметра передается массив найденных вхождений. Ожидаемый результат - строка, которой будет произведена замена.

Пример #1 preg_replace_callback() пример

<?php
  // Этот текст был использован в 2002 году
  // мы хотим обновить даты к 2003 году
  $text = "April fools day is 04/01/2002\n";
  $text.= "Last christmas was 12/24/2001\n";

  // функция обратного вызова
  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);

  // результат:
  // April fools day is 04/01/2003
  // Last christmas was 12/24/2002
?>

Достаточно часто callback функция, кроме как в вызове preg_replace_callback(), ни в чем больше не участвует. Исходя из этих соображений, можно использовать create_function() для создания безымянной функции обратного вызова непосредственно в вызове preg_replace_callback(). Если вы используете такой подход, вся информация, связанная с заменой по регулярному выражению, будет собрана в одном месте, и пространство имен функций не будет загромождаться неиспользуемыми записями.

Пример #2 preg_replace_callback() и create_function()

<?php
  /* фильтр, подобный тому, что используется в системах Unix
   * для преобразования в заглавные начальных букв параграфа */

  $fp = fopen("php://stdin", "r") or die("can't read 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);
?>

Смотрите также preg_replace() и create_function().

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 ] )

Выполняет поиск в строке subject совпадений с шаблоном pattern и заменяет их на replacement . В случае, если параметр limit указан, будет произведена замена limit вхождений шаблона; в случае, если limit опущен либо равняется -1, будут заменены все вхождения шаблона.

Replacement может содержать ссылки вида \\n либо (начиная с PHP 4.0.4) $n, причем последний вариант предпочтительней. Каждая такая ссылка, будет заменена на подстроку, соответствующую n'нной заключенной в круглые скобки подмаске. n может принимать значения от 0 до 99, причем ссылка \\0 (либо $0) соответствует вхождению всего шаблона. Подмаски нумеруются слева направо, начиная с единицы.

При использовании замены по шаблону с использованием ссылок на подмаски может возникнуть ситуация, когда непосредственно за маской следует цифра. В таком случае нотация вида \\n приводит к ошибке: ссылка на первую подмаску, за которой следует цифра 1, запишется как \\11, что будет интерпретировано как ссылка на одиннадцатую подмаску. Это недоразумение можно устранить, если воспользоваться конструкцией \${1}1, указывающей на изолированную ссылку на первую подмаску, и следующую за ней цифру 1.

Пример #1 Использование подмасок, за которыми следует цифра

<?php
$string = "April 15, 2003";
$pattern = "/(\w+) (\d+), (\d+)/i";
$replacement = "\${1}1,\$3";
echo preg_replace($pattern, $replacement, $string);
?>

Результатом работы этого примера будет:

April1,2003

Если во время выполнения функции были обнаружены совпадения с шаблоном, будет возвращено измененное значение subject , в противном случае будет возвращен исходный текст subject .

Первые три параметра функции preg_replace() могут быть одномерными массивами. В случае, если массив использует ключи, при обработке массива они будут взяты в том порядке, в котором они расположены в массиве. Указание ключей в массиве для pattern и replacement не является обязательным. Если вы все же решили использовать индексы, для сопоставления шаблонов и строк, участвующих в замене, используйте функцию ksort() для каждого из массивов.

Пример #2 Использование массивов с числовыми индексами в качестве аргументов функции preg_replace()

<?php
$string = "The quick brown fox jumped over the lazy dog.";

$patterns[0] = "/quick/";
$patterns[1] = "/brown/";
$patterns[2] = "/fox/";

$replacements[2] = "bear";
$replacements[1] = "black";
$replacements[0] = "slow";

echo preg_replace($patterns, $replacements, $string);
?>

Результат:

The bear black slow jumped over the lazy dog.

Используя ksort(), получаем желаемый результат:

<?php

ksort($patterns);
ksort($replacements);

echo preg_replace($patterns, $replacements, $string);

?>

Результат:

The slow black bear jumped over the lazy dog.

В случае, если параметр subject является массивом, поиск и замена по шаблону производятся для каждого из его элементов. Возвращаемый результат также будет массивом.

В случае, если параметры pattern и replacement являются массивами, preg_replace() поочередно извлекает из обоих массивов по паре элементов и использует их для операции поиска и замены. Если массив replacement содержит больше элементов, чем pattern , вместо недостающих элементов для замены будут взяты пустые строки. В случае, если pattern является массивом, а replacement - строкой, по каждому элементу массива pattern будет осущесвтлен поиск и замена на pattern (шаблоном будут поочередно все элементы массива, в то время как строка замены остается фиксированной). Вариант, когда pattern является строкой, а replacement - массивом, не имеет смысла.

Модификатор /e меняет поведение функции preg_replace() таким образом, что параметр replacement после выполнения необходимых подстановок интерпретируется как PHP-код и только после этого используется для замены. Используя данный модификатор, будьте внимательны: параметр replacement должен содержать корректный PHP-код, в противном случае в строке, содержащей вызов функции preg_replace(), возникнет ошибка синтаксиса.

Пример #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 Конвертор HTML в текст

<?php
// $document на выходе должен содержать HTML-документ.
// Необходимо удалить все HTML-теги, секции javascript,
// пробельные символы. Также необходимо заменить некоторые
// HTML-сущности на их эквивалент.

$search = array ("'<script[^>]*?>.*?</script>'si",  // Вырезает javaScript
                 "'<[\/\!]*?[^<>]*?>'si",           // Вырезает HTML-теги
                 "'([\r\n])[\s]+'",                 // Вырезает пробельные символы
                 "'&(quot|#34);'i",                 // Заменяет HTML-сущности
                 "'&(amp|#38);'i",
                 "'&(lt|#60);'i",
                 "'&(gt|#62);'i",
                 "'&(nbsp|#160);'i",
                 "'&(iexcl|#161);'i",
                 "'&(cent|#162);'i",
                 "'&(pound|#163);'i",
                 "'&(copy|#169);'i",
                 "'&#(\d+);'e");                    // интерпретировать как php-код

$replace = array ("",
                  "",
                  "\\1",
                  "\"",
                  "&",
                  "<",
                  ">",
                  " ",
                  chr(161),
                  chr(162),
                  chr(163),
                  chr(169),
                  "chr(\\1)");

$text = preg_replace($search, $replace, $document);
?>

Замечание: Параметр limit доступен в PHP 4.0.1pl2 и выше.

Смотрите также preg_match(),
preg_match_all(), и
preg_split().

preg_replace_callback
preg_split
PCRE


Разбивает строку по регулярному выражению

preg_replace
POSIX Regex
PCRE
PHP Manual

preg_split

(PHP 4, PHP 5)

preg_split — Разбивает строку по регулярному выражению

Описание

array preg_split ( string $pattern , string $subject [, int $limit [, int $flags ]] )

Возвращает массив, состоящий из подстрок заданной строки subject , которая разбита по границам, соответствующим шаблону pattern .

В случае, если параметр limit указан, функция возвращает не более, чем limit подстрок. Специальное значение limit , равное -1, подразумевает отсутствие ограничения, это весьма полезно для указания еще одного опционального параметра flags .

flags может быть произвольной комбинацией следующих флагов (соединение происходит при помощи оператора '|'):

PREG_SPLIT_NO_EMPTY
В случае, если этот флаг указан, функция preg_split() вернет только непустые подстроки.
PREG_SPLIT_DELIM_CAPTURE
В случае, если этот флаг указан, выражение, заключенное в круглые скобки в разделяющем шаблоне, также извлекается из заданной строки и возвращается функцией. Этот флаг был добавлен в PHP 4.0.5.
PREG_SPLIT_OFFSET_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
        )

)

Замечание: Параметр flags был добавлен в PHP 4 Beta 3.

Смотрите также spliti(), split(),
implode(), preg_match(),
preg_match_all(), и
preg_replace().

preg_replace
POSIX Regex
PCRE


Regular Expression (POSIX Extended)

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • POSIX Regex Функции
    • ereg_replace — Replace regular expression
    • ereg — Regular expression match
    • eregi_replace — Replace regular expression case insensitive
    • eregi — Case insensitive regular expression match
    • split — Split string into array by regular expression
    • spliti — Split string into array by regular expression case insensitive
    • sql_regcase — Make regular expression for case insensitive match
preg_split
Введение
Text Processing


Введение

Подсказка

PHP also supports regular expressions using a Perl-compatible syntax using the PCRE functions. Those functions support non-greedy matching, assertions, conditional subpatterns, and a number of other features not supported by the POSIX-extended regular expression syntax.

Внимание

These regular expression functions are not binary-safe. The PCRE functions are.

Замечание: As of PHP 5.3.0 this extension is deprecated, calling any function provided by this extension will issue an E_DEPRECATED notice.

Regular expressions are used for complex string manipulation. PHP uses the POSIX extended regular expressions as defined by POSIX 1003.2. For a full description of POSIX regular expressions see the » regex man pages included in the regex directory in the PHP distribution. It's in manpage format, so you'll want to do something along the lines of man /usr/local/src/regex/regex.7 in order to read it.

POSIX Regex
Установка и настройка
POSIX Regex


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
POSIX Regex


Установка

Внимание

Do not change the TYPE unless you know what you are doing.

To enable regexp support configure PHP --with-regex[=TYPE]. TYPE can be one of system, apache, php. The default value is php.

Версия PHP для Windows имеет встроенную поддержку данного расширения. Это означает, что для использования данных функций не требуется загрузка никаких дополнительных расширений.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Примеры
POSIX Regex


Примеры

Пример #1 Regular Expression Examples

<?php
// Returns true if "abc" is found anywhere in $string.
ereg("abc", $string);

// Returns true if "abc" is found at the beginning of $string.
ereg("^abc", $string);

// Returns true if "abc" is found at the end of $string.
ereg("abc$", $string);

// Returns true if client browser is Netscape 2, 3 or MSIE 3.
eregi("(ozilla.[23]|MSIE.3)", $_SERVER["HTTP_USER_AGENT"]);

// Places three space separated words into $regs[1], $regs[2] and $regs[3].
ereg("([[:alnum:]]+) ([[:alnum:]]+) ([[:alnum:]]+)", $string, $regs);

// Put a <br /> tag at the beginning of $string.
$string = ereg_replace("^", "<br />", $string);

// Put a <br /> tag at the end of $string.
$string = ereg_replace("$", "<br />", $string);

// Get rid of any newline characters in $string.
$string = ereg_replace("\n", "", $string);
?>

Предопределенные константы
POSIX Regex Функции
POSIX Regex


POSIX Regex Функции

Смотрите также

For regular expressions in Perl-compatible syntax have a look at the PCRE functions. The simpler shell style wildcard pattern matching is provided by fnmatch().

Содержание

  • ereg_replace — Replace regular expression
  • ereg — Regular expression match
  • eregi_replace — Replace regular expression case insensitive
  • eregi — Case insensitive regular expression match
  • split — Split string into array by regular expression
  • spliti — Split string into array by regular expression case insensitive
  • sql_regcase — Make regular expression for case insensitive match
Примеры
ereg_replace
POSIX Regex


Replace regular expression

POSIX Regex Функции
ereg
POSIX Regex Функции
PHP Manual

ereg_replace

(PHP 4, PHP 5)

ereg_replace — Replace regular expression

Описание

string ereg_replace ( string $pattern , string $replacement , string $string )

This function scans string for matches to pattern , then replaces the matched text with replacement .

Список параметров

pattern

A POSIX extended regular expression.

replacement

If pattern contains parenthesized substrings, replacement may contain substrings of the form \\digit, which will be replaced by the text matching the digit'th parenthesized substring; \\0 will produce the entire contents of string. Up to nine substrings may be used. Parentheses may be nested, in which case they are counted by the opening parenthesis.

string

The input string.

Возвращаемые значения

The modified string is returned. If no matches are found in string , then it will be returned unchanged.

Примеры

For example, the following code snippet prints "This was a test" three times:

Пример #1 ereg_replace() example

<?php

$string = "This is a test";
echo str_replace(" is", " was", $string);
echo ereg_replace("( )is", "\\1was", $string);
echo ereg_replace("(( )is)", "\\2was", $string);

?>

One thing to take note of is that if you use an integer value as the replacement parameter, you may not get the results you expect. This is because ereg_replace() will interpret the number as the ordinal value of a character, and apply that. For instance:

Пример #2 ereg_replace() example

<?php
/* This will not work as expected. */
$num = 4;
$string = "This string has four words.";
$string = ereg_replace('four', $num, $string);
echo $string;   /* Output: 'This string has   words.' */

/* This will work. */
$num = '4';
$string = "This string has four words.";
$string = ereg_replace('four', $num, $string);
echo $string;   /* Output: 'This string has 4 words.' */
?>

Пример #3 Replace URLs with links

<?php
$text = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]",
                     "<a href=\"\\0\">\\0</a>", $text);
?>

Примечания

Замечание: As of PHP 5.3.0 the regex extension is deprecated, calling this function will issue an E_DEPRECATED notice.

Подсказка

preg_replace(), which uses a Perl-compatible regular expression syntax, is often a faster alternative to ereg_replace().

Смотрите также

  • ereg() - Regular expression match
  • eregi() - Case insensitive regular expression match
  • eregi_replace() - Replace regular expression case insensitive
  • str_replace() - Заменяет строку поиска на строку замены
  • preg_match() - Выполняет проверку на соответствие регулярному выражению

POSIX Regex Функции
ereg
POSIX Regex Функции


Regular expression match

ereg_replace
eregi_replace
POSIX Regex Функции
PHP Manual

ereg

(PHP 4, PHP 5)

ereg — Regular expression match

Описание

int ereg ( string $pattern , string $string [, array &$regs ] )

Searches a string for matches to the regular expression given in pattern in a case-sensitive way.

Список параметров

pattern

Case sensitive regular expression.

string

The input string.

regs

If matches are found for parenthesized substrings of pattern and the function is called with the third argument regs , the matches will be stored in the elements of the array regs .

$regs[1] will contain the substring which starts at the first left parenthesis; $regs[2] will contain the substring starting at the second, and so on. $regs[0] will contain a copy of the complete string matched.

Возвращаемые значения

Returns the length of the matched string if a match for pattern was found in string , or FALSE if no matches were found or an error occurred.

If the optional parameter regs was not passed or the length of the matched string is 0, this function returns 1.

Список изменений

Версия | Описание
4.1.0 | Up to (and including) PHP 4.1.0 $regs will be filled with exactly ten elements, even though more or fewer than ten parenthesized substrings may actually have matched. This has no effect on ereg()'s ability to match more substrings. If no matches are found, $regs will not be altered by ereg().

Примеры

Пример #1 ereg() example

The following code snippet takes a date in ISO format (YYYY-MM-DD) and prints it in DD.MM.YYYY format:

<?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 "Invalid date format: $date";
}
?>

Примечания

Замечание: As of PHP 5.3.0 the regex extension is deprecated, calling this function will issue an E_DEPRECATED notice.

Замечание: preg_match(), which uses a Perl-compatible regular expression syntax, is often a faster alternative to ereg().

Смотрите также

  • eregi() - Case insensitive regular expression match
  • ereg_replace() - Replace regular expression
  • eregi_replace() - Replace regular expression case insensitive
  • preg_match() - Выполняет проверку на соответствие регулярному выражению
  • strpos() - Возвращает позицию первого вхождения подстроки
  • strstr() - Находит первое вхождение подстроки
  • quotemeta() - Экранирует специальные символы

ereg_replace
eregi_replace
POSIX Regex Функции


Replace regular expression case insensitive

ereg
eregi
POSIX Regex Функции
PHP Manual

eregi_replace

(PHP 4, PHP 5)

eregi_replace — Replace regular expression case insensitive

Описание

string eregi_replace ( string $pattern , string $replacement , string $string )

This function is identical to ereg_replace() except that this ignores case distinction when matching alphabetic characters.

Список параметров

pattern

A POSIX extended regular expression.

replacement

If pattern contains parenthesized substrings, replacement may contain substrings of the form \\digit, which will be replaced by the text matching the digit'th parenthesized substring; \\0 will produce the entire contents of string. Up to nine substrings may be used. Parentheses may be nested, in which case they are counted by the opening parenthesis.

string

The input string.

Возвращаемые значения

The modified string is returned. If no matches are found in string , then it will be returned unchanged.

Примеры

Пример #1 Highlight search results

<?php
$pattern = '(>[^<]*)('. quotemeta($_GET['search']) .')';
$replacement = '\\1<span class="search">\\2</span>';
$body = eregi_replace($pattern, $replacement, $body);
?>

Примечания

Замечание: As of PHP 5.3.0 the regex extension is deprecated, calling this function will issue an E_DEPRECATED notice.

Смотрите также

  • ereg() - Regular expression match
  • eregi() - Case insensitive regular expression match
  • ereg_replace() - Replace regular expression

ereg
eregi
POSIX Regex Функции


Case insensitive regular expression match

eregi_replace
split
POSIX Regex Функции
PHP Manual

eregi

(PHP 4, PHP 5)

eregi — Case insensitive regular expression match

Описание

int eregi ( string $pattern , string $string [, array &$regs ] )

This function is identical to ereg() except that it ignores case distinction when matching alphabetic characters.

Список параметров

pattern

Case insensitive regular expression.

string

The input string.

regs

If matches are found for parenthesized substrings of pattern and the function is called with the third argument regs , the matches will be stored in the elements of the array regs .

$regs[1] will contain the substring which starts at the first left parenthesis; $regs[2] will contain the substring starting at the second, and so on. $regs[0] will contain a copy of the complete string matched.

Возвращаемые значения

Returns the length of the matched string if a match for pattern was found in string , or FALSE if no matches were found or an error occurred.

If the optional parameter regs was not passed or the length of the matched string is 0, this function returns 1.

Примеры

Пример #1 eregi() example

<?php
$string = 'XYZ';
if (eregi('z', $string)) {
    echo "'$string' contains a 'z' or 'Z'!";
}
?>

Примечания

Замечание: As of PHP 5.3.0 the regex extension is deprecated, calling this function will issue an E_DEPRECATED notice.

Смотрите также

  • ereg() - Regular expression match
  • ereg_replace() - Replace regular expression
  • eregi_replace() - Replace regular expression case insensitive
  • stripos() - Возвращает позицию первого вхождения подстроки без учета регистра
  • stristr() - Регистро-независимый вариант функции strstr.

eregi_replace
split
POSIX Regex Функции


Split string into array by regular expression

eregi
spliti
POSIX Regex Функции
PHP Manual

split

(PHP 4, PHP 5)

split — Split string into array by regular expression

Описание

array split ( string $pattern , string $string [, int $limit ] )

Splits a string into array by regular expression.

Список параметров

pattern

Case sensitive regular expression.

If you want to split on any of the characters which are considered special by regular expressions, you'll need to escape them first. If you think split() (or any other regex function, for that matter) is doing something weird, please read the file regex.7, included in the regex/ subdirectory of the PHP distribution. It's in manpage format, so you'll want to do something along the lines of man /usr/local/src/regex/regex.7 in order to read it.

string

The input string.

limit

If limit is set, the returned array will contain a maximum of limit elements with the last element containing the whole rest of string .

Возвращаемые значения

Returns an array of strings, each of which is a substring of string formed by splitting it on boundaries formed by the case-sensitive regular expression pattern .

If there are n occurrences of pattern , the returned array will contain n+1 items. For example, if there is no occurrence of pattern , an array with only one element will be returned. Of course, this is also true if string is empty. If an error occurs, split() returns FALSE.

Примеры

Пример #1 split() example

To split off the first four fields from a line from /etc/passwd:

<?php
list($user, $pass, $uid, $gid, $extra) =
    split(":", $passwd_line, 5);
?>

Пример #2 split() example

To parse a date which may be delimited with slashes, dots, or hyphens:

<?php
// Delimiters may be slash, dot, or hyphen
$date = "04/30/1973";
list($month, $day, $year) = split('[/.-]', $date);
echo "Month: $month; Day: $day; Year: $year<br />\n";
?>

Примечания

Замечание: As of PHP 5.3.0 the regex extension is deprecated, calling this function will issue an E_DEPRECATED notice.

Подсказка

preg_split(), which uses a Perl-compatible regular expression syntax, is often a faster alternative to split(). If you don't require the power of regular expressions, it is faster to use explode(), which doesn't incur the overhead of the regular expression engine.

Подсказка

For users looking for a way to emulate Perl's @chars = split('', $str) behaviour, please see the examples for preg_split() or str_split().

Смотрите также

  • preg_split() - Разбивает строку по регулярному выражению
  • spliti() - Split string into array by regular expression case insensitive
  • str_split() - Преобразует строку в массив
  • explode() - Разбивает строку на подстроки
  • implode() - Объединяет элементы массива в строку
  • chunk_split() - Разбивает строку на фрагменты
  • wordwrap() - Выполняет перенос строки на данное количество символов с использованием символа разрыва строки.

eregi
spliti
POSIX Regex Функции


Split string into array by regular expression case insensitive

split
sql_regcase
POSIX Regex Функции
PHP Manual

spliti

(PHP 4 >= 4.0.1, PHP 5)

spliti — Split string into array by regular expression case insensitive

Описание

array spliti ( string $pattern , string $string [, int $limit ] )

Splits a string into array by regular expression.

This function is identical to split() except that this ignores case distinction when matching alphabetic characters.

Список параметров

pattern

Case insensitive regular expression.

If you want to split on any of the characters which are considered special by regular expressions, you'll need to escape them first. If you think spliti() (or any other regex function, for that matter) is doing something weird, please read the file regex.7, included in the regex/ subdirectory of the PHP distribution. It's in manpage format, so you'll want to do something along the lines of man /usr/local/src/regex/regex.7 in order to read it.

string

The input string.

limit

If limit is set, the returned array will contain a maximum of limit elements with the last element containing the whole rest of string .

Возвращаемые значения

Returns an array of strings, each of which is a substring of string formed by splitting it on boundaries formed by the case insensitive regular expression pattern .

If there are n occurrences of pattern , the returned array will contain n+1 items. For example, if there is no occurrence of pattern , an array with only one element will be returned. Of course, this is also true if string is empty. If an error occurs, spliti() returns FALSE.

Примеры

This example splits a string using 'a' as the separator :

Пример #1 spliti() example

<?php
$string = "aBBBaCCCADDDaEEEaGGGA";
$chunks = spliti ("a", $string, 5);
print_r($chunks);
?>

Результат выполнения данного примера:

Array
(
  [0] =>
  [1] => BBB
  [2] => CCC
  [3] => DDD
  [4] => EEEaGGGA
)

Примечания

Замечание: As of PHP 5.3.0 the regex extension is deprecated, calling this function will issue an E_DEPRECATED notice.

Смотрите также

  • preg_split() - Разбивает строку по регулярному выражению
  • split() - Split string into array by regular expression
  • explode() - Разбивает строку на подстроки
  • implode() - Объединяет элементы массива в строку

split
sql_regcase
POSIX Regex Функции


Make regular expression for case insensitive match

spliti
Строки
POSIX Regex Функции
PHP Manual

sql_regcase

(PHP 4, PHP 5)

sql_regcase — Make regular expression for case insensitive match

Описание

string sql_regcase ( string $string )

Creates a regular expression for a case insensitive match.

Список параметров

string

The input string.

Возвращаемые значения

Returns a valid regular expression which will match string , ignoring case. This expression is string with each alphabetic character converted to a bracket expression; this bracket expression contains that character's uppercase and lowercase form. Other characters remain unchanged.

Примеры

Пример #1 sql_regcase() example

<?php
echo sql_regcase("Foo - bar.");
?>

Результат выполнения данного примера:

[Ff][Oo][Oo] - [Bb][Aa][Rr].

This can be used to achieve case insensitive pattern matching in products which support only case sensitive regular expressions.

Примечания

Замечание: As of PHP 5.3.0 the regex extension is deprecated, calling this function will issue an E_DEPRECATED notice.

spliti
Строки
POSIX Regex Функции


Функции работы со строками

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Функции обработки строк
    • addcslashes — Экранирует спецсимволы в стиле языка 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 — Преобразует текст на иврите из логической кодировки в визуальную с преобразованием перевода строки.
    • html_entity_decode — Преобразует HTML сущности в соответствующие символы
    • htmlentities — Преобразует символы в соответствующие HTML сущности.
    • htmlspecialchars_decode — Преобразует специальные HTML-сущности обратно в соответствующие символы
    • htmlspecialchars — Преобразует специальные символы в HTML сущности
    • implode — Объединяет элементы массива в строку
    • join — Псевдоним функции implode
    • lcfirst — Make a string's first character lowercase
    • 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
    • quoted_printable_encode — Convert a 8 bit string to a quoted-printable string
    • quotemeta — Экранирует специальные символы
    • rtrim — Удаляет пробелы из конца строки
    • setlocale — Устанавливает локаль
    • sha1_file — Возвращает SHA1 хэш файла
    • sha1 — Возвращает SHA1 хэш строки
    • similar_text — Вычисляет степень похожести двух строк
    • soundex — Возвращает ключ soundex для строки
    • sprintf — Возвращает отформатированную строку
    • sscanf — Разбирает строку в соответствии с заданным форматом
    • str_getcsv — Parse a CSV string into an array
    • 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 — Удаляет экранирование символов, произведенное функцией addslashes
    • stristr — Регистро-независимый вариант функции strstr.
    • strlen — Возвращает длину строки
    • strnatcasecmp — Сравнение строк без учета регистра с использованием алгоритма "естественного упорядочения"
    • strnatcmp — Сравнение строк с использованием алгоритма "естественного упорядочения"
    • 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 — Write a formatted string to a stream
    • vprintf — Выводит отформатированную строку
    • vsprintf — Возвращает отформатированную строку
    • wordwrap — Выполняет перенос строки на данное количество символов с использованием символа разрыва строки.
sql_regcase
Введение
Text Processing


Введение

Эти функции предназначены для выполнения различных манипуляций со строками. Более специализированные функции см. в разделах, посвященных регулярным выражениям и обработке 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
  • 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 — Преобразует текст на иврите из логической кодировки в визуальную с преобразованием перевода строки.
  • html_entity_decode — Преобразует HTML сущности в соответствующие символы
  • htmlentities — Преобразует символы в соответствующие HTML сущности.
  • htmlspecialchars_decode — Преобразует специальные HTML-сущности обратно в соответствующие символы
  • htmlspecialchars — Преобразует специальные символы в HTML сущности
  • implode — Объединяет элементы массива в строку
  • join — Псевдоним функции implode
  • lcfirst — Make a string's first character lowercase
  • 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
  • quoted_printable_encode — Convert a 8 bit string to a quoted-printable string
  • quotemeta — Экранирует специальные символы
  • rtrim — Удаляет пробелы из конца строки
  • setlocale — Устанавливает локаль
  • sha1_file — Возвращает SHA1 хэш файла
  • sha1 — Возвращает SHA1 хэш строки
  • similar_text — Вычисляет степень похожести двух строк
  • soundex — Возвращает ключ soundex для строки
  • sprintf — Возвращает отформатированную строку
  • sscanf — Разбирает строку в соответствии с заданным форматом
  • str_getcsv — Parse a CSV string into an array
  • 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 — Удаляет экранирование символов, произведенное функцией addslashes
  • stristr — Регистро-независимый вариант функции strstr.
  • strlen — Возвращает длину строки
  • strnatcasecmp — Сравнение строк без учета регистра с использованием алгоритма "естественного упорядочения"
  • strnatcmp — Сравнение строк с использованием алгоритма "естественного упорядочения"
  • 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 — Write a formatted string to a stream
  • vprintf — Выводит отформатированную строку
  • vsprintf — Возвращает отформатированную строку
  • wordwrap — Выполняет перенос строки на данное количество символов с использованием символа разрыва строки.
Предопределенные константы
addcslashes
Строки


Экранирует спецсимволы в стиле языка C

Функции обработки строк
addslashes
Функции обработки строк
PHP Manual

addcslashes

(PHP 4, PHP 5)

addcslashes — Экранирует спецсимволы в стиле языка C

Описание

string addcslashes ( string $str , string $charlist )

Возвращает сроку str , в которой перед каждым символом из перечисленных в charlist символов добавлен обратный слэш (\). Экранируются \n, \r и т.д. в стиле языка C, символы с ASCII менее 32 и более 126 преобразуются в восьмеричное представление.

Будьте внимательны при экранировании символв 0, a, b, f, n, r, t и v. Они будут преобразованы в \0, \a, \b, \f, \n, \r, \t и \v. В C все они являются предопреденными escape-последовательностями, в то время как в PHP только \0 (NULL), \r (возврат каретки), \n (перевод строки) и \t (табуляция).

При передаче charlist вида "\0..\37" будут экранированы символы с ASCII кодами от 0 до 37.

Пример #1 Пример использования addcslashes()

<?php
$escaped = addcslashes($not_escaped, "\0..\37!@\177..\377");
?>

Следует быть внимательным при указании диапазона символов в аргументе charlist. Проверяйте, какие символы входят в этот диапазон.

<?php
echo addcslashes('foo[ ]', 'A..z');
// выводит:  \f\o\o\[ \]
// Будут экранированы заглавные и строчные английские буквы
// ... а также [\]^_`  а также табуляция,
// возврат каретки, перевод строки и т.д.
?>

Также, если ASCII код первого символа диапозона больше, чем последнего, диапазон не будет создан. Вместо этого будут экранироваться только первый и последний символы и точка. Для определения ASCII кода символов используйте функцию ord().

<?php
echo addcslashes("zoo['.']", 'z..A');
// выводит:  \zoo['\.']
?>

См. также описание функций stripcslashes(),
stripslashes(),
htmlspecialchars() и
quotemeta().

Функции обработки строк
addslashes
Функции обработки строк


Экранирует спецсимволы в строке

addcslashes
bin2hex
Функции обработки строк
PHP Manual

addslashes

(PHP 4, PHP 5)

addslashes — Экранирует спецсимволы в строке

Описание

string addslashes ( string $str )

Возвращает сроку str , в которой перед каждым спецсимволом добавлен обратный слэш (\), например для последующего использования этой строки в запросе к базе данных. Экранируются одиночная кавычка ('), дойная кавычка ("), обратный слэш (\) и NUL (байт NULL).

Функция addslashes() часто применяется при записи в базу данных. Предположим, если нужно внести в базу данных имя O'reilly, то символ ' должен быть экранирован. В большинстве баз данных для этого используется \, строка будет выглядеть как O\'reilly. Заметьте, что сам символ \ в базу данных записан не будет. Если директива конфигурации magic_quotes_sybase имеет значение on, то символ ' будет экранироваться добавлением еще одного ' вместо \.

Директива конфигурации magic_quotes_gpc по умолчанию имеет значение on, при этом функция addslashes() автоматически применяется ко всем данным GET, POST, и COOKIE. Не используйте addslashes() для данных, обработанных magic_quotes_gpc, чтобы избежать двойного экранирования. Для проверки состояния этой директивы используется get_magic_quotes_gpc().

Пример #1 Пример использования addslashes()

<?php
$str = "Is your name O'reilly?";

// выводит: Is your name O\'reilly?
echo addslashes($str);
?>

См. также описание функций stripslashes(),
htmlspecialchars(),
quotemeta() и
get_magic_quotes_gpc().

addcslashes
bin2hex
Функции обработки строк


Преобразует бинарные данные в шестнадцатиричное представление

addslashes
chop
Функции обработки строк
PHP Manual

bin2hex

(PHP 4, PHP 5)

bin2hex — Преобразует бинарные данные в шестнадцатиричное представление

Описание

string bin2hex ( string $str )

Возвращает строку, содержащую шестнадцатиричное представление аргумента str . Преобразование производится побайтно.

См. также описание функций pack() и unpack().

addslashes
chop
Функции обработки строк


Псевдоним функции rtrim

bin2hex
chr
Функции обработки строк
PHP Manual

chop

(PHP 4, PHP 5)

chop — Псевдоним функции rtrim()

Описание

Эта функция является псевдонимом функции rtrim().

Замечание: Действие chop() отличается от одноименной функции языка Perl, удаляющей последний символ строки.

bin2hex
chr
Функции обработки строк


Возвращает символ по его коду

chop
chunk_split
Функции обработки строк
PHP Manual

chr

(PHP 4, PHP 5)

chr — Возвращает символ по его коду

Описание

string chr ( int $ascii )

Возвращает строку из одного символа, код которого задан аргументом ascii .

Пример #1 Пример использования chr()

<?php
$str = "Эта строка окачивается escape: ";
$str .= chr(27); /* добавляет escape-символ в конец $str */

/* Но часто лучше использовать такую конструкцию */

$str = sprintf("The string ends in escape: %c", 27);
?>

Таблицу ASCII-кодов вы можете найти здесь: » http://www.asciitable.com.

Эта функция дополняет функцию ord(). См. также описание формата %c функции sprintf().

chop
chunk_split
Функции обработки строк


Разбивает строку на фрагменты

chr
convert_cyr_string
Функции обработки строк
PHP Manual

chunk_split

(PHP 4, PHP 5)

chunk_split — Разбивает строку на фрагменты

Описание

string chunk_split ( string $body [, int $chunklen [, string $end ]] )

Функция используется для разбиения строки на фрагменты, например, для приведения результата функции base64_encode() в соответствие с требованиями » RFC 2045. Она вставляет строку end (по умолчанию "\r\n") после каждых chunklen символов (по умолчанию 76). Возвращает преобразованную строку без изменения исходной.

Пример #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() преобразует строку data из формата uuencode в обычный вид.

Пример #1 Пример использования функции convert_uudecode()

<?php
/* Догадаетесь, что выведет этот код? :) */
echo convert_uudecode("+22!L;W9E(%!(4\"$`\n`");
?>

См. также convert_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() преобразует строку data в формат uuencode.

Кодирование Uuencode переводит строки (включая двоичные символы) в последовательности печатных (7-битных) ASCII-символов, что позволяет безопасно обмениваться данными через четь. Закодированные данные примерно на 35% больше оригинала.

Пример #1 Пример использования функции convert_uuencode()

<?php
$some_string = "test\ntext text\r\n";

echo convert_uuencode($some_string);
?>

См. также convert_uudecode() and base64_encode().

convert_uudecode
count_chars
Функции обработки строк


Возвращает информацию о символах, входящих в строку

convert_uuencode
crc32
Функции обработки строк
PHP Manual

count_chars

(PHP 4, PHP 5)

count_chars — Возвращает информацию о символах, входящих в строку

Описание

mixed count_chars ( string $string [, int $mode ] )

Подсчитывает количество вхождений каждого из символов с ASII кодами в диапазоне (0..255) в строку string и возвращает эту информацию в различных формата. Необязательный аргумент mode по умолчанию равен 0. В зависимости от его значения возвращается:

  • 0 - массив, индексами которого являются ASCII коды, а значениями - число вхождений соответствующего символа.
  • 1 - то же, что и для 0, но информация о символах с нулевым числом вхождений не включается в массив.
  • 2 - то же, что и для 0, но в массив включается информация только о символах с нулевым числом вхождений.
  • 3 - строка, состоящая из символов, которые входят в исходую строку хотя бы раз.
  • 4 - строка, состоящая из символов, которые не входят в исходую строку

Пример #1 Пример использования count_chars()

<?php

$data = "Две в и одна с";

$result = count_chars($data, 0);

for ($i=0; $i < count($result); $i++) {
   if ($result[$i] != 0)
       echo "\"" , chr($i) , "\" встречается в строке $result[$i] раз(а).\n";
}

?>

Этот код выведет :

" " встречается в строке 4 раз(а).
"Д" встречается в строке 1 раз(а).
"а" встречается в строке 1 раз(а).
"в" встречается в строке 2 раз(а).
"д" встречается в строке 1 раз(а).
"е" встречается в строке 1 раз(а).
"и" встречается в строке 1 раз(а).
"н" встречается в строке 1 раз(а).
"о" встречается в строке 1 раз(а).
"с" встречается в строке 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 )

Функция вычисляет контрольную сумму по алгоритму CRC32 для строки str . Это обычно используется для контроля правильности передачи данных.

В PHP целые числа имеют знак, и эта функция может возвращать отрицательные числа. Для получения строкового представления CRC32 без знака используйте формат "%u" в функциях sprintf() или printf().

Этот пример иллюстрирует вывод вычисленной CRC32 с помощью функции printf():

Пример #1 Вывод контрольной суммы CRC32

<?php
$checksum = crc32("The quick brown fox jumped over the lazy dog.");
printf("%u\n", $checksum);
?>

См. также описание функций md5() и sha1().

count_chars
crypt
Функции обработки строк


Необратимое шифрование (хэширование)

crc32
echo
Функции обработки строк
PHP Manual

crypt

(PHP 4, PHP 5)

crypt — Необратимое шифрование (хэширование)

Описание

string crypt ( string $str [, string $salt ] )

crypt() возвращает строку, зашифрованную по стандартному алгоритму UNIX, основанному на DES, или другому алгоритму, имеющемуся в системе. Аргументами являются строка, которую требуется зашифровать, и необязательная salt-последовательность, на которой основывается шифрование. Для получения дополнительной информации обратитесь к руководству UNIX по функции crypt.

Если аргумент salt не передан, он будет выбран случайным образом.

Некоторые операционные системы поддерживают несколько алгоритмов шифрования. Иногда стандартный алгоритм, основанный на DES, заменяется алгоритмом на основе MD5. Вид шифрования определяется salt-последовательностью. При инсталляции PHP определяет, какие алгоритмы шифрования поддерживает crypt. Если salt-последовательность не передана, будет автоматически сгенерирована стандартная случайная двухсимвольная salt-последовательность, если только в системе по умолчанию не используется MD5, в этом случае будет создана случайная salt-последовательность, совместимая с MD5. Предопределенная константа CRYPT_SALT_LENGTH позволяет определить, используется ли в системе стандартная двухсимвольная salt, или 12-символьная.

Если вы опускаете аргумент salt , вы должны знать, что salt генериуется только при первом вызове этой функции, и для всех последующих вызовов используется полученное значение. Это в конечном итоге может привести к снижению безопасности.

Стандартная функция crypt() на основе DES копирует salt в начало возвращаемой строки. Кроме того, она использует только первые восемь символов строки str , поэтому для различных строк, первые восемь символов в которых совпадают, будет возвращаться один и тот же результат (при использовании одинаковых salt-последовательностей).

На системах, где функция crypt() поддерживает несколько алгоритмов шифрования, следующие константы устанавливаются в 0 или 1 в зависимости от доступности соответствующего алгоритма:

  • CRYPT_STD_DES - Стандартное DES-шифрование с двухсимвольной salt
  • CRYPT_EXT_DES - Расширенное DES-шифрование с девятисимвольной salt
  • CRYPT_MD5 - MD5-шифрование с 12-символьной salt, начинающейся с $1$
  • CRYPT_BLOWFISH - Blowfish-шифрование с 16-символьной salt, начинающейся с $2$

Замечание: Функция расшифровки отсутствует, так как crypt() использует необратимый алгоритм шифрования.

Пример #1 Пример использования crypt()

<?php
$password = crypt('My1sTpassword'); // salt будет сгенерирована автоматически

// Для проверки пароля в качестве salt следует передавать результат работы
// crypt() целиком во избежание проблем при использовании различных
// алгоритмов (как уже было отмечено выше, стандартный DES-алгоритм
// использует 2-символьную salt, а MD5 - 12-символьную.

if (crypt($user_input, $password) == $password) {
   echo "Пароль верен !";
}
?>

Пример #2 Использование crypt() с файлом .htpasswd

При создании пароля для использования в файле .htpasswd Apache, нужно использовать 2 первых символа пароля в качестве salt.

<?php
// пароль
$password = 'mypassword';

// получение хэша
$hash = crypt($password, substr($password, 0, 2));
?>

См. также описание функции md5() и модуля Mcrypt.

crc32
echo
Функции обработки строк


Выводит одну или более строк

crypt
explode
Функции обработки строк
PHP Manual

echo

(PHP 4, PHP 5)

echo — Выводит одну или более строк

Описание

void echo ( string $arg1 [, string $argn... ] )

Выводит все аргументы.

На самом деле echo() - это не функция, а конструкция языка, поэтому заключать аргументы в скобки не обязательно, даже при использовании нескольких аргументов.

Пример #1 Примеры использования echo()

<?php
echo "Привет мир!";

echo "Это занимет
несколько строк. Переводы строки тоже
выводятся";

echo "Это занимет\nнесколько строк. Переводы строки тоже\nвыводятся";

echo "Экранирование символов делается \"Так\".";

// с echo можно использовать переменные ...
$foo = "foobar";
$bar = "barbaz";

echo "foo - это $foo"; // foo - это foobar

// ... и массивы
$bar = array("value" => "foo");

echo "это {$bar['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 вынесен за пределы выражения
?>

echo() имеет также краткую форму, представляющую собой знак равенства, следующий непосредственно за открывающим тэгом. Этот сокращенный синтаксис допустим только когда директива конфигурации short_open_tag включена.

I have <?=$foo?> foo.

Различия между print() и echo() рассматриваются в этой статье: » http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40

Замечание: Поскольку это языковая конструкция, а не функция, она не может вызываться при помощи переменных функций

См. также описания функций
print(),
printf(), и
flush().

crypt
explode
Функции обработки строк


Разбивает строку на подстроки

echo
fprintf
Функции обработки строк
PHP Manual

explode

(PHP 4, PHP 5)

explode — Разбивает строку на подстроки

Описание

array explode ( string $separator , string $string [, int $limit ] )

Возвращает массив строк, полученных разбиением строки string с использованием separator в качестве разделителя. Если передан аргумент limit , массив будет содержать максимум limit элементов, при этом последний элемент будет содержать остаток строки string .

Если separator - пустая строка (""), explode() возвращает FALSE. Если separator не содержится в string , то explode() возвращает массив, содержащий один элемент string .

По историческим причинам, функции implode() можно передавать аргументы в любом порядке, но для explode() это недопустимо. separator всегда должен содержать разделитель, а string - исходную строку.

Замечание: Аргумент limit был добавлен в PHP 4.0.1

Пример #1 Примеры применения explode()

<?php
// Пример 1
$pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2

// Пример 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user; // foo
echo $pass; // *

?>

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

См. также описание функций
preg_split(),
spliti(),
split() и
implode().

echo
fprintf
Функции обработки строк


Записывает отформатированную строку в поток

explode
get_html_translation_table
Функции обработки строк
PHP Manual

fprintf

(PHP 5)

fprintf — Записывает отформатированную строку в поток

Описание

int fprintf ( resource $handle , string $format [, mixed $args ] )

Записывает строку, созданную с использованием строки формата format , в поток, дескриптор которого передается в handle . Аргумент format подробно рассмотрен в описании функции sprintf().

Возвращает длину выведенной строки.

См. также описание функций printf(),
sprintf(),
sscanf(), fscanf(),
vsprintf() и
number_format().

Примеры

Пример #1 fprintf(): заполнение нулями

<?php
if (!($fp = fopen('date.txt', 'w')))
    return;

fprintf($fp, "%04d-%02d-%02d", $year, $month, $day);
// запишет форматированную дату в файл 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";
?>

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 [, int $quote_style ] )

get_html_translation_table() возвращает таблицу преобразований, используемую функциями htmlspecialchars() и htmlentities().

Константы HTML_ENTITIES и HTML_SPECIALCHARS позволяют указать нужную таблицу преобразований. Аналогично функциям htmlspecialchars() и htmlentities() можно задать необязательный аргумент quote_style , равный по умолчанию ENT_COMPAT. Описание quote_style см. в описании функции htmlspecialchars().

Пример #1 Пример таблицы преобразований

<?php
$trans = get_html_translation_table(HTML_ENTITIES);
$str = "Hallo & <Frau> & Krдmer";
$encoded = strtr($str, $trans);
?>

Переменная $encoded будет содержать: "Hallo &amp; &lt;Frau&gt; &amp; Kr&auml;mer".

Другим интересным применением этой функции является измененин направления преобразования с помощью функции array_flip().

<?php
$trans = array_flip($trans);
$original = strtr($encoded, $trans);
?>

Переменная $original будет содержать: "Hallo & <Frau> & Krämer".

См. также описание функций
htmlspecialchars(),
htmlentities(),
strtr() и
array_flip().

fprintf
hebrev
Функции обработки строк


Преобразует текст на иврите из логической кодировки в визуальную.

get_html_translation_table
hebrevc
Функции обработки строк
PHP Manual

hebrev

(PHP 4, PHP 5)

hebrev — Преобразует текст на иврите из логической кодировки в визуальную.

Description

string hebrev ( string $hebrew_text [, int $max_chars_per_line ] )

Необязательный аргумент max_chars_per_line предписывает вставлять символы перевода строки таким образом, чтобы результат не содержал строк длиннее, чем max_chars_per_line символов, не разрывая слова.

См. также описание функции hebrevc().

get_html_translation_table
hebrevc
Функции обработки строк


Преобразует текст на иврите из логической кодировки в визуальную с преобразованием перевода строки.

hebrev
html_entity_decode
Функции обработки строк
PHP Manual

hebrevc

(PHP 4, PHP 5)

hebrevc — Преобразует текст на иврите из логической кодировки в визуальную с преобразованием перевода строки.

Description

string hebrevc ( string $hebrew_text [, int $max_chars_per_line ] )

Эта функция похожа на hebrev() с тем отличием, что что она преобразует символы перевода строки (\n) в "<br>\n". Необязательный аргумент max_chars_per_line предписывает вставлять символы перевода строки таким образом, чтобы результат не содержал строк длиннее, чем max_chars_per_line символов, не разрывая слова.

См. также описание функции hebrev().

hebrev
html_entity_decode
Функции обработки строк


Преобразует HTML сущности в соответствующие символы

hebrevc
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 [, string $charset ]] )

html_entity_decode(), в противоположность функции htmlentities(), Преобразует HTML сущности в строке string в соответствующие символы.

Необязательный аргумент quote_style позволяет указать способ обработки 'одиночных' и "двойных" кавычек. Значением этого аргумента может быть одна из трех следующих констант (по умолчанию ENT_COMPAT):

Константы quote_style
Имя константы | Описание
ENT_COMPAT | Преобразуются двойные кавычки, одиночные остаются без изменений.
ENT_QUOTES | Преобразуются и двойные, и одиночные кавычки.
ENT_NOQUOTES | И двойные, и одиночные кавычки остаются без изменений.

Необязательный третий аргумент 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 | Японская кодировка.

Замечание: Не перечисленные выше кодировки не поддерживаются, и вместо них применяется ISO-8859-1.

Пример #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)
{
    $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(),
htmlspecialchars(),
get_html_translation_table()
и urldecode().

hebrevc
htmlentities
Функции обработки строк


Преобразует символы в соответствующие HTML сущности.

html_entity_decode
htmlspecialchars_decode
Функции обработки строк
PHP Manual

htmlentities

(PHP 4, PHP 5)

htmlentities — Преобразует символы в соответствующие HTML сущности.

Описание

string htmlentities ( string $string [, int $quote_style [, string $charset ]] )

Эта функция идентична htmlspecialchars() за исключением того, что htmlentities() преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют).

Подобно htmlspecialchars(), необязательный аргумент quote_style позволяет указать способ обработки 'одиночных' и "двойных" кавычек. Значением этого аргумента может быть одна из трех следующих констант (по умолчанию ENT_COMPAT):

Константы quote_style
Имя константы | Описание
ENT_COMPAT | Преобразуются двойные кавычки, одиночные остаются без изменений.
ENT_QUOTES | Преобразуются и двойные, и одиночные кавычки.
ENT_NOQUOTES | И двойные, и одиночные кавычки остаются без изменений.

Поддержка необязательно аргумента quote_style была добавлена в PHP 4.0.3.

Подобно htmlspecialchars(), необязательный третий аргумент charset определяет кодировку, используемую при преобразовании. Поддержка этого аргумента была добавлена в PHP 4.1.0. По умолчанию в настоящее время используется кодировка 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 | Японская кодировка.

Замечание: Не перечисленные выше кодировки не поддерживаются, и вместо них применяется ISO-8859-1.

Для выполнения обратного преобразования используется функция html_entity_decode().

Пример #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);
?>

См. также описание функций html_entity_decode(),
get_html_translation_table(),
htmlspecialchars(), nl2br()
и urlencode().

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 ] )

Эта функция является обратной к htmlspecialchars(). Она преобразует специальные HTML-сущности обратно в соответствующие символы.

Конвертируемые сущности : &amp;, &quot; (когда ENT_NOQUOTES не установлена), &#039; (когда ENT_QUOTES установлена), &lt; and &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 $quote_style [, string $charset ]] )

В HTML некоторые символы имеют специальное значение и для сохранения своего значения должны быть преобразованы в HTML сущности. Эта функция возвращает строку, над которой проведены некоторые из таких преобразований. Этих преобразований достаточно для большинства задач веб-программирования. Если вам нужно преобразовать все возможные сущности, используйте htmlentities().

Эта функция полезна при отображении данных, введенных пользователем, которые могут содержать нежелательные HTML тэги, например в форуме или гостевой книге. Необязательный второй аргумент quote_style определяет режим обработки одиночных и двойных кавычек. В режиме по умолчанию, ENT_COMPAT, преобразуются двойные кавычки, одиночные остаются без изменений. В режиме ENT_QUOTES преобразуются и двойные, и одиночные кавычки. а в режиме ENT_NOQUOTES и двойные, и одиночные кавычки остаются без изменений.

Производятся следующие преобразования:

  • '&' (амперсанд) преобразуется в '&amp;'
  • '"' (двойная кавычка) преобразуется в '&quot;' when ENT_NOQUOTES is not set.
  • ''' (одиночная кавычка) преобразуется в '&#039;' только в режиме ENT_QUOTES.
  • '<' (знак "меньше чем") преобразуется в '&lt;'
  • '>' (знак "больше чем") преобразуется в '&gt;'

Пример #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(). Поддержка необязательного второго аргумента была добавлена в PHP 3.0.17 и PHP 4.0.3.

Необязательный третий аргумент charset определяет кодировку, используемую при преобразовании. По умолчанию используется кодировка ISO-8859-1. Поддержка этого аргумента была добавлена в PHP 4.1.0.

Начиная с 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 | Японская кодировка.

Замечание: Не перечисленные выше кодировки не поддерживаются, и вместо них применяется ISO-8859-1.

См. также описание функций get_html_translation_table(),
strip_tags(), htmlentities()
и nl2br().

htmlspecialchars_decode
implode
Функции обработки строк


Объединяет элементы массива в строку

htmlspecialchars
join
Функции обработки строк
PHP Manual

implode

(PHP 4, PHP 5)

implode — Объединяет элементы массива в строку

Описание

string implode ( string $glue , array $pieces )

Возвращает строку, полученную объединением строковых представлений элементов массива pieces , со вставкой строки glue между соседними элементами.

Пример #1 Пример использования implode()

<?php

$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);

echo $comma_separated; // lastname,email,phone

?>

Замечание: По историческим причинам, функции implode() можно передавать аргументы в любом порядке, однако для унификации с функцией explode() следует использовать документированный порядок аргументов.

Замечание: Начиная с версии 4.3.0 аргумент glue функции implode() является необязательным и по умолчанию равен пустой строке (''). Для обеспечении обратной совместимости рекомендуется всегда передавать оба аргумента.

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

См. также описания функций explode() и split().

htmlspecialchars
join
Функции обработки строк


Псевдоним функции implode

implode
lcfirst
Функции обработки строк
PHP Manual

join

(PHP 4, PHP 5)

join — Псевдоним функции implode()

Описание

Эта функция является псевдонимом функции implode().

implode
lcfirst
Функции обработки строк


Make a string's first character lowercase

join
levenshtein
Функции обработки строк
PHP Manual

lcfirst

(PHP 5 >= 5.3.0)

lcfirst — Make a string's first character lowercase

Описание

string lcfirst ( string $str )

Returns a string with the first character of str , lowercased if that character is alphabetic.

Note that 'alphabetic' is determined by the current locale. For instance, in the default "C" locale characters such as umlaut-a (ä) will not be converted.

Список параметров

str

The input string.

Возвращаемые значения

Returns the resulting string.

Примеры

Пример #1 lcfirst() example

<?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 )
int levenshtein ( string $str1 , string $str2 , function $cost )

Функция возвращает расстояние Левенштейна между двумя строками, или -1, если хотя бы одна из строк длиннее 255 символов (этого более чем достаточно для сравнения имен или поиска по словарю, а проводить генетический анализ на PHP просто несерьезно).

Расстояние Левенштейна - это минимальное количество вставок, замен и удалений символов, необходимое для преобразования str1 в str2 . Сложность алгоритма равна O(m*n), где n и m - длины строк str1 и str2 (неплохо по сравнению с similar_text(), имеющей сложность O(max(n,m)**3), но все же довольно много).

В простейшей форме функция принимает в качестве аргументов две строки и возвращает минимальное количество вставок, замен и удалений символов, необходимое для преобразования str1 в str2 .

Второй вариант принимает три дополнительных аргумента, задающих стоимость операций вставки, замены и удаления. Этот вариант универсальнее первого, но не так эффективен.

Третий вариант (который еще не реализован) будет наиболее универсальным, но и самым медленным. Он будет принимать в качестве третьего аргумента пользовательскую функцию, которая будет вычислять стоимость каждой возможной операции.

Пользовательская функция будет иметь следующие аргументы:

  • тип операции: 'I', 'R' or 'D'
  • текущий символ в строке 1
  • текущий символ в строке 2
  • текущая позиция символа в строке 1
  • текущая позиция символа в строке 2
  • количество символов, оставшихся в строке 1
  • количество символов, оставшихся в строке 2

Пользовательская функция должна возвращать положительное целое, определяющее стоимость конкретной операции.

Использование пользовательской функции позволяет учитывать различия между символами и даже контекст символов при вычислении стоимости операций вставки, замены и удаления, но ценой потери скорости по сравнению с двумя первыми вариантами.

См. также описание функций soundex(),
similar_text() и
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 | Международное обозначение валюты (например RUR)
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
  • Знак записывается после обозначения валюты

Элементы группировки описывают способ группировки цифр. Например, в локали en_US элемент grouping содержит массив из 2 элементов со значениями 3 и 3. Больший индек массива соответствует группировке цифр, расположенных левее. Если элемент массива равен CHAR_MAX, последующие цифры не группируются. Если элемент массива равен 0, используется значение предыдущего элемента.

Пример #1 Пример использования localeconv()

<?php
setlocale(LC_ALL, "ru_RU");

$locale_info = localeconv();

echo "<pre>\n";
echo "----------------------------------------------\n";
echo "Информация о форматировании числовых величин:  \n";
echo "----------------------------------------------\n\n";

echo "int_curr_symbol:   {$locale_info["int_curr_symbol"]}\n";
echo "currency_symbol:   {$locale_info["currency_symbol"]}\n";
echo "mon_decimal_point: {$locale_info["mon_decimal_point"]}\n";
echo "mon_thousands_sep: {$locale_info["mon_thousands_sep"]}\n";
echo "positive_sign:     {$locale_info["positive_sign"]}\n";
echo "negative_sign:     {$locale_info["negative_sign"]}\n";
echo "int_frac_digits:   {$locale_info["int_frac_digits"]}\n";
echo "frac_digits:       {$locale_info["frac_digits"]}\n";
echo "p_cs_precedes:     {$locale_info["p_cs_precedes"]}\n";
echo "p_sep_by_space:    {$locale_info["p_sep_by_space"]}\n";
echo "n_cs_precedes:     {$locale_info["n_cs_precedes"]}\n";
echo "n_sep_by_space:    {$locale_info["n_sep_by_space"]}\n";
echo "p_sign_posn:       {$locale_info["p_sign_posn"]}\n";
echo "n_sign_posn:       {$locale_info["n_sign_posn"]}\n";
echo "</pre>\n";
?>

Использование константы CHAR_MAX описано выше.

См. также описание функции setlocale().

levenshtein
ltrim
Функции обработки строк


Удаляет пробелы из начала строки

localeconv
md5_file
Функции обработки строк
PHP Manual

ltrim

(PHP 4, PHP 5)

ltrim — Удаляет пробелы из начала строки

Описание

string ltrim ( string $str [, string $charlist ] )

Замечание: Второй аргумент был добавлен в PHP 4.1.0

Эта функция возвращает строку 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)), вертикальная табуляция.

Можно также задать список символов для удаления с помощью аргумента charlist . С помощью .. можно задать диапазон символов.

Пример #1 Пример использования ltrim()

<?php

$text = "\t\tЛишь несколько слов :) ...  ";
$trimmed = ltrim($text);
// $trimmed = "Лишь несколько слов :) ...  "
$trimmed = ltrim($text, " \t.");
// $trimmed = "Лишь несколько слов :) ...  "
$clean = ltrim($binary, "\x00..\x1F");
// удалить управляющие символы ASCII из начала строки $binary
// (от 0 до 31 включительно)

?>

См. также описание функций trim() и rtrim().

localeconv
md5_file
Функции обработки строк


Возвращает MD5 хэш файла

ltrim
md5
Функции обработки строк
PHP Manual

md5_file

(PHP 4 >= 4.2.0, PHP 5)

md5_file — Возвращает MD5 хэш файла

Description

string md5_file ( string $filename [, bool $raw_output ] )

Вычисляет MD5 хэш файла, имя которого задано аргументом filename используя » алгоритм MD5 RSA Data Security, Inc. и возвращает этот хэш. Хэш представляет собой 32-значное шестнадцатеричное число. Если необязательный аргумент raw_output имеет значение TRUE, то возвращается бинарная строка из 16 символов.

Замечание: Необязательный аргумент raw_output был добавлен в PHP 5.0.0 и по умолчанию равен FALSE

По назначению эта функция аналогична консольной программе md5sum.

См. также описание функций
md5(),
crc32() и
sha1_file().

ltrim
md5
Функции обработки строк


Возвращает MD5 хэш строки

md5_file
metaphone
Функции обработки строк
PHP Manual

md5

(PHP 4, PHP 5)

md5 — Возвращает MD5 хэш строки

Описание

string md5 ( string $str [, bool $raw_output ] )

Вычисляет MD5 хэш строки str используя » алгоритм MD5 RSA Data Security, Inc. и возвращает этот хэш. Хэш представляет собой 32-значное шестнадцатеричное число. Если необязательный аргумент raw_output имеет значение TRUE, то возвращается бинарная строка из 16 символов.

Замечание: Необязательный аргумент raw_output был добавлен в PHP 5.0.0 и по умолчанию равен FALSE

Пример #1 Пример использования md5()

<?php
$str = 'apple';

if (md5($str) === '1f3870be274f6c49b3e31a0c6728957f') {
    echo "Would you like a green or red apple?";
    exit;
}
?>

См. также описание функций crc32(), md5_file() и sha1().

md5_file
metaphone
Функции обработки строк


Возвращает ключ metaphone для строки

md5
money_format
Функции обработки строк
PHP Manual

metaphone

(PHP 4, PHP 5)

metaphone — Возвращает ключ metaphone для строки

Description

string metaphone ( string $str )

Возвращает ключ metaphone для строки str .

Подобно функции soundex(),metaphone возвращает одинаковое значение для слов, имеющих сходное произношение. Эта функция более точна, чем soundex(), так как учитывает основные правила произношения английского языка. В отличие от soundex(), длина возвращаемой строки не фиксирована.

Функция metaphone была написана Lawrence Philips <lphilips at verity dot com> и описана в книге "Practical Algorithms for Programmers", Binstock & Rex, Addison Wesley, 1995.

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, но позволяет преобразовать только одно число за один вызов.

Замечание: Функция money_format() определена только если в системе присутствует функция strfmon. Например, в Windows она отсутствует, поэтому money_format() не определена в Windows.

Описание формата состоит из:

  • символа %

  • необязательных флагов

  • необязательной ширины поля

  • необязательной точности до запятой

  • необязательной точности после запятой

  • обязательного описателя преобразования

Флаги

Могут быть использованы следующие флаги:

=f

Символ =, за которым следует еще один символ, задает символ заполнения. По умолчанию пробел.

^

Запрещает группировку символов (определяемую текущей локалью).

+ или (

Задает способ форматирования положительных и отрицательных значений. При использовании + будут использоваться аналоги символов + и - из текущей локали. Если указана (, отрицательные числа будут заключены в скобки. По умолчанию +.

!

Подавляет вывод символа валюты.

-

Если этот флаг задан, поля будут выравнены влево, вместо используемого по умолчанию выравнивания вправо.

Ширина поля

w

Строка из десятичных цифр, задающая минимальную ширину поля. Поле будет выравнено вправо, если не указан флаг -. Значение по умолчанию - 0 (ноль).

Точность до запятой

#n

Максимальное количество цифр (n), которое ожидается до запятой. Это обычно используется при выводе значений одно под другим, чтобы десятичные точки распологались в одной колонке, при этом используется символ заполнения, если число цифр меньше n. Если число цифр больше n, этот параметр игнорируется.

Если группировка не была запрещена флагом ^, разделители групп будут вставлены перед добавлением символов заполнения. Разделители групп не вставляются между символами заполнения, даже если заполнитель - цифра.

Для обеспечения выравнивания, все символы, выводимые до или после числа, такие как сивол валюты или знак, будут дополнены пробелами до одинаковой ширины.

Точность после запятой

.p

Точка, за которой следует число знаков, выводимых после запятой. Если значение p рано нулю, десятичная точка и цифры после нее не будут выводиться. Если этот параметр отсутствует, число знаков после запятой определяется текущей локалью. Перед форматированием число округляется до указанного количества знаков.

Описатель преобразования

i

Используется международный денежный формат из текущей локали (например, для американской локали: USD 1,234.56).

n

Используется национальный денежный формат из текущей локали (например, для локали de_DE: DM1.234,56).

%

Вставляет символ %.

Замечание: На работу этой функции влияет установка категории 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";
// L. 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";
// DEM 1234,56****

// А теперь добавим текст перед и после описателя формата
setlocale(LC_MONETARY, 'en_GB');
$fmt = 'The final value is %i (after a 10%% discount)';
echo money_format($fmt, 1234.56) . "\n";
// The final value is  GBP 1,234.56 (after a 10% discount)

?>

См. также описание функций setlocale(),
number_format(),sprintf(),
printf() и sscanf().

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 имеет недопустимое значение, возвращает FALSE.

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 если число и обозначение валюты заключаются в скобки
  • Возвращает 1 если знак записывается перед числом и обозначением валюты
  • Возвращает 2 если знак записывается после числа и обозначения валюты
  • Возвращает 3 если знак записывается перед обозначением валюты
  • Возвращает 4 если знак записывается после обозначения валюты
N_SIGN_POSN
Константы в категории LC_NUMERIC
DECIMAL_POINT | Символ десятичной точки.
RADIXCHAR | Аналогично DECIMAL_POINT.
THOUSANDS_SEP | Разделитель тысяч (групп из 3 цифр).
THOUSEP | Аналогично THOUSANDS_SEP.
GROUPING
Константы в категории LC_MESSAGES
YESEXPR | Регулярное выражение, при совпадении с которым строка рассматривается как ответ 'да'.
NOEXPR | Регулярное выражение, при совпадении с которым строка рассматривается как ответ 'нет'.
YESSTR | Слово 'да'.
NOSTR | Слово 'нет'.
Константы в категории LC_CTYPE
CODESET | Возвращает строку с именем текущей кодировки.

Замечание: Для Windows-платформ эта функция не реализована.

See also setlocale() and localeconv().

money_format
nl2br
Функции обработки строк


Вставляет HTML код разрыва строки перед каждым переводом строки

nl_langinfo
number_format
Функции обработки строк
PHP Manual

nl2br

(PHP 4, PHP 5)

nl2br — Вставляет HTML код разрыва строки перед каждым переводом строки

Description

string nl2br ( string $string )

Возвращает строку string , в которой перед каждым переводом строки вставлен '<br />'

Замечание: Начиная с PHP 4.0.5, nl2br() работает в соответствии со стандартом XHTML. До версии 4.0.5 использовалось '<br>' вместо '<br />'.

Пример #1 Пример использования nl2br()

<?php
echo nl2br("foo - это вам не\n bar");
?>

выведет:

foo - этовам не<br />
 bar

См. также описание функций htmlspecialchars(),
htmlentities(),
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 ] )
string number_format ( float $number , int $decimals , string $dec_point , string $thousands_sep )

number_format() возвращает отформатированное число number . Функция принимает один, два или четыре аргумента (не три):

Если передан только один аргумент, number будет отформатирован без дробной части, но с запятой (",") между группами цифр по 3.

Если переданы два аргумента, number будет отформатирован с decimals знаками после точки (".") и с запятой (",") между группами цифр по 3.

Если переданы все четыре аргумента, number будет отформатирован с decimals знаками после точки и с разделитилем между группами цифр по 3, при этом в качестве десятичной точки будет использован dec_point , а в качестве разделителя групп - thousands_sep .

Используется только первый символ строки thousands_sep . Например, при передаче foo в качестве thousands_sep для форматирования числа 1000, number_format() возвращает 1f000.

Пример #1 Пример использования number_format()

Во Франции обычно используются 2 знака после запятой (','), и пробел (' ') в качестве разделителя групп. Такое форматирование получается при использовании следующего кода :

<?php

$number = 1234.56;

// английский формат (по умолчанию)
$english_format_number = number_format($number);
// 1,234

// французский формат
$nombre_format_francais = number_format($number, 2, ',', ' ');
// 1 234,56

$number = 1234.5678;

// английский формат без разделителей групп
$english_format_number = number_format($number, 2, '.', '');
// 1234.57

?>

См. также описание функций 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().

Пример #1 Пример использования ord()

<?php
$str = "\n";
if (ord($str) == 10) {
    echo "Первый символ \$str - перевод строки.\n";
}
?>

Таблицу ASCII кодов символов можно найти здесь: » http://www.asciitable.com.

См. также описание функции chr().

number_format
parse_str
Функции обработки строк


Разбирает строку в переменные

ord
print
Функции обработки строк
PHP Manual

parse_str

(PHP 4, PHP 5)

parse_str — Разбирает строку в переменные

Description

void parse_str ( string $str [, array $arr ] )

Разбирает строку str ,которая должна иметь формат строки запроса URL и присваивает значения переменным в текущем контексте, если не передан второй аргумент arr . В последнем случае значения будкт сохранены в этой переменной как элементы массива.

Замечание: Поддержка необязательного второго аргумента была добавлена в PHP 4.0.3.

Замечание: Для получения текущей строки запроса (QUERY_STRING) может быть использована переменная $_SERVER['QUERY_STRING']. Также ознакомьтесь с разделом "Переменные вне PHP".

Пример #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(),
pathinfo(),
set_magic_quotes_runtime() и
urldecode().

ord
print
Функции обработки строк


Выводит строку

parse_str
printf
Функции обработки строк
PHP Manual

print

(PHP 4, PHP 5)

print — Выводит строку

Description

int print ( string $arg )

Выводит arg . Всегда возвращает 1.

print() не является "настоящей" функцией (это конструкция языка) поэтому заключать аргумент в скобки не обязательно.

Пример #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 $foo,$bar;     // foobarbarbaz

print <<<END
Здесь используется синтаксис "here document" для вывода
нескольких строк с подстановкой переменных $variable.
Заметьте,что закрывающий идентификатор должен
располагаться в отдельной строке. никаких пробелов!
END;
?>

Различия между print() и echo() рассматриваются в этой статье: » http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40

Замечание: Поскольку это языковая конструкция, а не функция, она не может вызываться при помощи переменных функций

См. также описания функций echo(), printf() и flush().

parse_str
printf
Функции обработки строк


Выводит отформатированную строку

print
quoted_printable_decode
Функции обработки строк
PHP Manual

printf

(PHP 4, PHP 5)

printf — Выводит отформатированную строку

Описание

int printf ( string $format [, mixed $args ] )

Выводит строку, отформатированную в соответствии с аргументом format , описанном в документации функции sprintf().

Возвращает длину выведенной строки

См. также описания функций
print(),
sprintf(),
vprintf(),
sscanf(),
fscanf() и
flush().

print
quoted_printable_decode
Функции обработки строк


Раскодирует строку, закодированную методом quoted printable

printf
quoted_printable_encode
Функции обработки строк
PHP Manual

quoted_printable_decode

(PHP 4, PHP 5)

quoted_printable_decode — Раскодирует строку, закодированную методом quoted printable

Описание

string quoted_printable_decode ( string $str )

Возращает строку, полученную декодированием str методом quoted printable. Эта функция подобна функции imap_qprint(), но не требует для своей работы модуля IMAP.

printf
quoted_printable_encode
Функции обработки строк


Convert a 8 bit string to a quoted-printable string

quoted_printable_decode
quotemeta
Функции обработки строк
PHP Manual

quoted_printable_encode

(PHP 5 >= 5.3.0)

quoted_printable_encode — Convert a 8 bit string to a quoted-printable string

Описание

string quoted_printable_encode ( string $str )

Returns a quoted printable string created according to » RFC2045, section 6.7.

This function is similar to imap_8bit(), except this one does not require the IMAP module to work.

Список параметров

str

The input string.

Возвращаемые значения

Returns the encoded string.

Смотрите также

  • quoted_printable_decode() - Раскодирует строку, закодированную методом quoted printable

quoted_printable_decode
quotemeta
Функции обработки строк


Экранирует специальные символы

quoted_printable_encode
rtrim
Функции обработки строк
PHP Manual

quotemeta

(PHP 4, PHP 5)

quotemeta — Экранирует специальные символы

Описание

string quotemeta ( string $str )

Возвращает строку str , в которой вставлен обратный слэш (\) перед каждым символом из следующего списка:

. \\ + * ? [ ^ ] ( $ )

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

См. также описания функций addslashes(),
htmlentities(),
htmlspecialchars(),
nl2br() и
stripslashes().

quoted_printable_encode
rtrim
Функции обработки строк


Удаляет пробелы из конца строки

quotemeta
setlocale
Функции обработки строк
PHP Manual

rtrim

(PHP 4, PHP 5)

rtrim — Удаляет пробелы из конца строки

Описание

string rtrim ( string $str [, string $charlist ] )

Замечание: Второй аргумент был добавлен в PHP 4.1.0

Эта функция возвращает строку 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)), вертикальная табуляция.

Можно также задать список символов для удаления с помощью аргумента charlist . С помощью .. можно задать диапазон символов.

Пример #1 Пример использования rtrim()

<?php

$text = "\t\tЛишь несколько слов :) ...  ";
$trimmed = rtrim($text);
// $trimmed = "\t\tЛишь несколько слов :) ..."
$trimmed = rtrim($text, " \t.");
// $trimmed = "\t\tЛишь несколько слов :)"
$clean = ltrim($binary, "\x00..\x1F");
// удалить управляющие символы ASCII из конца строки $binary
// (от 0 до 31 включительно)

?>

См. также описание функций trim() и ltrim().

quotemeta
setlocale
Функции обработки строк


Устанавливает локаль

rtrim
sha1_file
Функции обработки строк
PHP Manual

setlocale

(PHP 4, PHP 5)

setlocale — Устанавливает локаль

Описание

string setlocale ( mixed $category , string $locale [, string $... ] )
string setlocale ( mixed $category , array $locale )

category - строка или константа, задающая категорию функций, на которые будет влиять установка локали:

  • LC_ALL - все функции
  • LC_COLLATE - функции сравнения строк, см. strcoll()
  • LC_CTYPE - функции преобразования строк, например strtoupper()
  • LC_MONETARY - функция localeconv()
  • LC_NUMERIC - задает символ десятичной точки (см. также localeconv())
  • LC_TIME - форматирование дат функцией strftime()

Замечание: Начиная с 4.2.0, передача category в виде строки не поддерживается, рекомендуется использовать перечисленные константы. Передача этих констант как строк (в кавычках) вызовет вывод предупреждения.

Если в качестве locale передана пустая строка "", имена локалей будут взяты из соответствующих переменных окружения или переменной с именем "LANG".

Если в качестве locale передан NULL или "0", локаль изменена не будет, а будет возвращено текущее значение.

Если в качестве locale передан массив, или после этого аргумента следуют дополнительные аргументы, функция будет использовать элементы массива или аргументы по порядку в качестве имен локали до тех пор, пока установка локали не будет успешной. Это удобно, если одна и та же локаль имеет разное имя в различных системах, или необходимая локаль может отсутствовать в системе.

Замечание: Передача нескольких локалей доступна начиная с PHP 4.3.0

Setlocale возвращает имя вновь установленной локали или FALSE если системе не поддерживает установку локали, указанная локаль не существует или передано недопустимое имя категории. Недопустимое имя категории также вызывает предупредение. Имена локалей и категорий описаны в » RFC 1766 и » ISO 639.

Замечание: Возвращаемое функцией setlocale() значение зависит от системы - это значение, возвращаемое системной функцией setlocale.

Подсказка

Полезная информация о значениях аргумента locale в Windows содержится на сайте 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. Windows поддерживает трехбуквенные коды стран/регионов, определенные в стандарте ISO 3166-Alpha-3, который можно найти на этом » сайте Unicode.

Пример #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, 'nl_NL');

/* выводит: 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'";
?>

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 ] )

Вычисляет SHA1 хэш файла, имя которого задано аргументом filename , используя алгоритм » US Secure Hash Algorithm 1 и возвращает этот хэш. Хэш представляет собой 40-значное шестнадцатеричное число. Если необязательный аргумент raw_output имеет значение TRUE, то возвращается двоичная строка из 20 символов.

Замечание: Необязательный аргумент raw_output был добавлен в PHP 5.0.0 и по умолчанию равен FALSE

См. также описание функций sha1(), crc32() и md5_file().

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 ] )

Возвращает хэш строки str , вычисленный по алгоритму » US Secure Hash Algorithm 1. Хэш представляет собой 40-разрядное шестнадцатиричное число. Если необязательный аргумент raw_output имет значение TRUE, хэш возвращается в виде двоичной строки из 20 символов.

Замечание: Необязательный аргумент raw_output был добавлен в PHP 5.0.0 и по умолчанию равен FALSE.

Пример #1 Пример использования sha1()

<?php
$str = 'яблоко';

if (sha1($str) === '6099a566a619528259db5aa8d7a5aa2d4122259a') {
    echo "Желаете зеленое или красное яблоко?";
    exit;
}
?>

См. также описание функций
sha1_file(),
crc32() и
md5().

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 - длина более длинной из двух строк.

При передаче по ссылке третьего аргумента, ему присваивается степень похожести двух строк в процентах. Возвращается количество совпадающих символов в двух строках.

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.

Пример #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() и
similar_text().

similar_text
sprintf
Функции обработки строк


Возвращает отформатированную строку

soundex
sscanf
Функции обработки строк
PHP Manual

sprintf

(PHP 4, PHP 5)

sprintf — Возвращает отформатированную строку

Описание

string sprintf ( string $format [, mixed $args ] )

Возвращает строку, созданную с использованием строки формата format .

Строка формата состоит из директив: обычных символов (за исключением %), которые копируются в результирующую строку, и описатели преобразований, каждый из которых заменяется на один из параметров. Это относится также к fprintf(), sprintf() и printf().

Каждый описатель прреобразований состоит из знака процента (%), за которым следует один или более дополнительных элементов (в том порядке, в котором они здесь перечислены):

  1. Необязательный описатель заполнения, который определяет, какой символ будет использоваться для дополнения результата до необходимой длины. Это может быть пробел или 0. По умолчанию используется пробел. Альтернативный символ может быть указан с помощью '. См. примеры ниже.
  2. Необязательный описатель выравнивания, определяющий выранивание влево или вправо. По умолчанию выравнивается вправо, - используется для выравнивания влево.
  3. Необязательное число, описатель ширины, определяющий минимальное число символов, которое будет содержать результат этого преобразования.
  4. Необязательный описатель точности, определяющий, сколько десятичных разрядов отображать для чисел с плавающей точкой. Имеет смысл только для числовых данных типа float. (Для форматирования чисел удобно также использовать функцию number_format().)

  5. Описатель типа, определяющий, как трактовать тип данных аргумента. Допустимые типы:

    • % - символ процента. Аргумент не используется.
    • b - аргумент трактуется как целое и выводится в виде двоичного числа.
    • c - аргумент трактуется как целое и выводится в виде символа с соответствующим кодом ASCII.
    • d - аргумент трактуется как целое и выводится в виде десятичного числа со знаком.
    • e - аргумент трактуется как float и выводится в научной нотации (например 1.2e+2).
    • u - аргумент трактуется как целое и выводится в виде десятичного числа без знака.
    • f - аргумент трактуется как float и выводится в виде десятичного числа с плавающей точкой.
    • o - аргумент трактуется как целое и выводится в виде восьмеричного числа.
    • s - аргумент трактуется как строка.
    • x - аргумент трактуется как целое и выводится в виде шестнадцатиричного числа (в нижнем регистре букв).
    • X - аргумент трактуется как целое и выводится в виде шестнадцатиричного числа (в верхнем регистре букв).

Начиная с PHP 4.0.6 в строке формата поддерживается нумерация и изменение порядка параметров. Например:

Пример #1 Изменение порядка параметров

<?php
$format = "There are %d monkeys in the %s";
printf($format, $num, $location);
?>

Этот код выведет "There are 5 monkeys in the tree". Теперь представьте, что строка формата содержится в отдельном файле, который потом будет переведен на другой язык, и мы переписываем ее в таком виде:

Пример #2 Изменение порядка параметров

<?php
$format = "The %s contains %d monkeys";
printf($format, $num, $location);
?>

Появляется проблема: порядок описателей преобразования не соответствует порядку аргументов. Мы не хотим менять код, и нам нужно указать, какому аргументу соответствует тот или иной описатель преобразования.

Пример #3 Изменение порядка параметров

<?php
$format = "The %2\$s contains %1\$d monkeys";
printf($format, $num, $location);
?>

Нумерация аргументов имеет еще одно применение: она позволят вывести один и тот же аргумент несколько раз без передачи функции дополнительных параметров.

Пример #4 Изменение порядка параметров

<?php
$format = "The %2\$s contains %1\$d monkeys.
           That's a nice %2\$s full of %1\$d monkeys.";
printf($format, $num, $location);
?>

См. также описание функций printf(),
sscanf(), fscanf(),
vsprintf() и
number_format().

Примеры

Пример #5 sprintf(): заполнение нулями

<?php
$isodate = sprintf("%04d-%02d-%02d", $year, $month, $day);
?>

Пример #6 sprintf(): форматирование денежных величин

<?php
$money1 = 68.75;
$money2 = 54.35;
$money = $money1 + $money2;
// echo $money выведет "123.1";
$formatted = sprintf("%01.2f", $money);
// echo $formatted выведет "123.10"
?>

Пример #7 sprintf(): научная нотация

<?php
$number = 362525200;

echo sprintf("%.3e", $number); // выведет 3.63e+8
?>

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 . Если переданы только эти два аргумента, будет возвращен массив. В противном случае, считанные из строки значения будкт присвоены переменным, переданным через дополнительные аргументы, и будет возвращено количество присвоенных значений. Дополнительные аргументы должны передаваться по ссылке.

Любые пробельные символы в строке формата соответствуют любым пробельным символам во входной строке. Это значит, что например символ табуляци \t в строке формата соответствует символу пробела во входной строке.

Пример #1 Пример использования sscanf()

<?php
// получаем серийный номер
list($serial) = sscanf("SN/2350001", "SN/%d");
// и дату изготовления
$mandate = "Январь 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 xml:id='$id'>
    <firstname>$first</firstname>
    <surname>$last</surname>
</author>\n";
?>

См. также описание функций fscanf(), printf() и sprintf().

sprintf
str_getcsv
Функции обработки строк


Parse a CSV string into an array

sscanf
str_ireplace
Функции обработки строк
PHP Manual

str_getcsv

(PHP 5 >= 5.3.0)

str_getcsv — Parse a CSV string into an array

Описание

array str_getcsv ( string $input [, string $delimiter [, string $enclosure [, string $escape ]]] )

Similar to fgetcsv() this functions parses a string as its input unlike fgetcsv() which takes a file as its input.

Список параметров

input

The string to parse.

delimiter

Set the field delimiter (one character only). Defaults as a comma.

enclosure

Set the field enclosure character (one character only). Defaults as a double quotation mark.

escape

Set the escape character (one character only). Defaults as a backslash (\)

Возвращаемые значения

Returns an indexed array containing the fields read.

Смотрите также

  • 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 ] )

Эта функция возвращает строку или массив subject , в котором все вхождения search (без учета регистра символов) заменены на replace . Если не нужны сложные правила поиска/замены, использование этой функции предпочтительнее eregi_replace() или preg_replace() с модификатором i.

Если subject - массив, поиск и замена производится в каждом элементе этого массива, и возвращается также массив.

Если и search , и replace - массивы, то str_ireplace() использует все значения массива search и соответствующие значения массива replace для поиска и замены в subject . Если в массиве replace меньше элементов, чем в search , в качестве строки замены для оставшихся значений будет использована пустая строка. Если search - массив, а replace - строка, то replace будет использована как строка замены для каждого элемента массива search .

Пример #1 Пример использования str_ireplace()

<?php
$bodytag = str_ireplace("%body%", "black", "<body text=%BODY%>");
?>

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Замечание: Начиная с PHP 5.0.0 количество произведенных замен может быть получено в необязательном аргументе count , который передается по ссылке. В версиях до PHP 5.0.0 этот аргумент недоступен.

См. также описание функций
str_replace(),
ereg_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 ]] )

Эта функция возвращает строку input , дополненную слева, справа или с обоих сторон до заданной аргументом pad_length длины строкой pad_string . По умолчанию pad_string содержит пробел.

Необязательный аргумент pad_type может иметь значение STR_PAD_RIGHT, STR_PAD_LEFT или STR_PAD_BOTH, по умолчанию STR_PAD_RIGHT.

Если pad_length меньше длины строки input , строка возвращается без изменений.

Пример #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_"
?>

Замечание: pad_string может быть обрезан, если необходимое количество дополнительных символов не делится нацело на длину строки pad_string .

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_str , повторенную multiplier раз. 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 ] )

Эта функция возвращает строку или массив subject , в котором все вхождения search заменены на replace . Если не нужны сложные правила поиска/замены, использование этой функции предпочтительнее ereg_replace() или preg_replace().

С версии PHP 4.0.5, любой аргумент str_replace() может быть массивом.

Внимание

В версиях младше 4.3.3 эта функция содержит ошибку при одновременной передаче массивов в аргументах search и replace . Ошибка заключается в том, что пустые элементы массива search пропускались без перемещения к следующему элементу массива replace . Эта ошибка была исправлена в PHP 4.3.3. Если ваши скрипты использовали эту ошибку, то в них нужно удалить пустые элементы из массива search перед вызовом этой функции.

Если subject - массив, поиск и замена производится в каждом элементе этого массива, и возвращается также массив.

Если и search , и replace - массивы, то str_replace() использует все значения массива search и соответствующие значения массива replace для поиска и замены в subject . Если в массиве replace меньше элементов, чем в search , в качестве строки замены для оставшихся значений будет использована пустая строка. Если search - массив, а replace - строка, то replace будет использована как строка замены для каждого элемента массива search .

Пример #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);

// начиная с версии 5.0.0 доступен аргумент count
$str = str_replace("ll", "", "good golly miss molly!", $count);
echo $count; // 2
?>

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Замечание: Начиная с PHP 5.0.0 количество произведенных замен может быть получено в необязательном аргументе count , который передается по ссылке. В версиях до PHP 5.0.0 этот аргумент недоступен.

См. также описание функций
str_ireplace(),
substr_replace(),
ereg_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 позиций в алфавите, остальные символы не изменяются. Обратное преобразование выполняется той же функцией.

Пример #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() переставляет символы в строке. Выбирается одна возможная перестановка из всех возможных.

Пример #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 ] )

Преобразует строку в массив. Если указан необязательный аргумент 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(),
split(),
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 ] )

Подсчитывает количество слов, входящих в строку string . Если необязательный аргумент format не передан, возвращается целое число, равное количеству слов. В случае, если аргумент format передан, возвращается массив, содержимое которого зависит от значения этого аргумента. Ниже описаны допустимые значения аргумента format и соответствующие им возвращаемые значения.

  • 1 - возвращается массив, содержащий все слова, входящие в строку string .
  • 2 - возвращается массив, индексами которого являются позиции в строке, а значениями - соответствующие слова.

Эта функция считает словами последовательности алфавитных символов, возможно, включающие, но не начинающихся с "'" и "-". Набор символов, считающихся алфавитными, зависит от текущей локали.

Пример #1 Пример использования str_word_count()

<?php

$str = "Hello friend, you're
        looking          good today!";

$a   = str_word_count($str, 1);
$b   = str_word_count($str, 2);
$c   = str_word_count($str);

print_r($a);
print_r($b);
echo $c;
?>

Вывод:

Array
(
    [0] => Hello
    [1] => friend
    [2] => you're
    [3] => looking
    [4] => good
    [5] => today
)

Array
(
    [0] => Hello
    [6] => friend
    [14] => you're
    [29] => looking
    [46] => good
    [51] => today
)

6

См. также описание функций 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 , и 0 если строки равны.

Пример #1 Пример использования strcasecmp()

<?php
$var1 = "Hello";
$var2 = "hello";
if (strcasecmp($var1, $var2) == 0) {
    echo '$var1 равно $var2 при сравнении без учета регистра';
}
?>

См. также описание функций
ereg(),
strcmp(),
substr(),
stristr(),
strncasecmp() и
strstr().

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 , и 0 если строки равны.

Эта функция учитывает регистр символов.

См. также описание функций
ereg(),
strcasecmp(),
substr(),
stristr(),
strncasecmp(),
strncmp() и
strstr().

strchr
strcoll
Функции обработки строк


Сравнение строк с учетом текущей локали

strcmp
strcspn
Функции обработки строк
PHP Manual

strcoll

(PHP 4 >= 4.0.5, PHP 5)

strcoll — Сравнение строк с учетом текущей локали

Описание

int strcoll ( string $str1 , string $str2 )

Возвращает положительное число если str1 меньше, чем str2 ; отрицательное число если str1 больше, чем str2 , и 0 если строки равны. strcoll() при сравнении использует установки текущей локали. Если установлена локаль C или POSIX, эта функция аналогична strcmp().

Обратите внимание, что эта функция учитывает регистр символов, и, в отличие от strcmp() не безопасна для обработки данных в двоичной форме.

Замечание: strcoll() была добавлена в PHP 4.0.5, но под Windows не была включена до версии 4.2.3.

См. также описание функций ereg(),
strcmp(), strcasecmp(),
substr(), stristr(),
strncasecmp(), strncmp(),
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 .

Начиная с версии PHP 4.3.0, поддерживаются два необязательных аргумента, задающие начальную позицию и длину участка строки, в котором производится поиск.

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

См. также описание функции 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 , из которой удалены HTML и PHP тэги. Для удаления тэго используется автомат, аналогичный примененному в функции fgetss().

Необязательный второй аргумент может быть использован для указания тэгов, которые не должны удаляться.

Замечание: Аргумент allowable_tags был добавлен в PHP 3.0.13 и PHP 4.0b3. С версии PHP 4.3.0 удаляются также HTML комментарии.

Внимание

Так как strip_tags() не проверяет корректность HTML кода, незавершенные тэги могу привести к удалению текста, не входящего в тэги.

Пример #1 Пример использования strip_tags()

<?php
$text = '
<p>Параграф.</p>
<!-- Comment -->
Еще немного текста';

echo strip_tags($text);

echo "\n\n-------\n";

// не удалять <p>
echo strip_tags($text, '<p>');
?>

Этот пример выведет:

Параграф.

Еще немного текста

-------

<p>Параграф.</p>

Еще немного текста

Внимание

Эта функция не изменяет атрибуты тэгов, указанных в аргументе allowable_tags , включая style и onmouseover.

С версии PHP 5.0.0 strip_tags() безопасна для обработки данных в двоичной форме.

См. также описание функции htmlspecialchars().

strcspn
stripcslashes
Функции обработки строк


Удаляет экранирование символов, произведенное функцией addcslashes

strip_tags
stripos
Функции обработки строк
PHP Manual

stripcslashes

(PHP 4, PHP 5)

stripcslashes — Удаляет экранирование символов, произведенное функцией addcslashes()

Описание

string stripcslashes ( string $str )

Удаляет экранирующие бэкслэши. Распознает экранирование в стиле C (\n, \r ..., восемеричное и шестнадцатиричное представление).

См. также описание функции addcslashes().

strip_tags
stripos
Функции обработки строк


Возвращает позицию первого вхождения подстроки без учета регистра

stripcslashes
stripslashes
Функции обработки строк
PHP Manual

stripos

(PHP 5)

stripos — Возвращает позицию первого вхождения подстроки без учета регистра

Описание

int stripos ( string $haystack , string $needle [, int $offset ] )

Возвращает позицию первого вхождения подстроки needle в строку haystack . В отличие от strpos(), эта функция не учитывает регистр символов.

needle должен содержать не менее одного символа.

Если подстрока needle не найдена, stripos() возвращает FALSE.

Внимание

Эта функция может возвращать как логическое значение FALSE, так и не относящееся к логическому типу значение, которое приводится к 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";
}
?>

Если needle не является строкой, он приводится к целому и трактуется как код символа.

Необязательный аргумент offset позволяет указать, с какого по счету символа строки haystack начинать поиск. Возвращается всегда позиция относительно начала строки haystack .

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

См. также описание функций strpos(),
strrpos(), strrchr(),
substr(), stristr(),
strstr(), strripos() и
str_ireplace().

stripcslashes
stripslashes
Функции обработки строк


Удаляет экранирование символов, произведенное функцией addslashes

stripos
stristr
Функции обработки строк
PHP Manual

stripslashes

(PHP 4, PHP 5)

stripslashes — Удаляет экранирование символов, произведенное функцией addslashes()

Описание

string stripslashes ( string $str )

Удаляет экранирующие бэкслэши. (\' преобразуется в ', и т.д.). Двойные бэкслэши (\\) преобразуется в одиночные(\).

stripslashes() используется, например, когда директива конфигурации magic_quotes_gpc включена (она включена по умолчанию), и экранирование символов не требуется. Например, данные не вставляются в базу данных, а просто выводятся в браузер.

Пример #1 Пример использования stripslashes()

<?php
$str = "Is your name O\'reilly?";

// выводит: Is your name O'reilly?
echo stripslashes($str);
?>

См. также описание функций addslashes() и get_magic_quotes_gpc().

stripos
stristr
Функции обработки строк


Регистро-независимый вариант функции strstr.

stripslashes
strlen
Функции обработки строк
PHP Manual

stristr

(PHP 4, PHP 5)

stristr — Регистро-независимый вариант функции strstr().

Описание

string stristr ( string $haystack , string $needle )

Возвращает подстроку строки haystack начиная с первого вхождения needle до конца строки. Эта функция не учитывает регистр сиволов.

Если подстрока needle не найдена, stristr() возвращает FALSE.

Если needle не является строкой, он приводится к целому и трактуется как код символа.

Пример #1 Пример использования stristr()

<?php
  $email = 'USER@EXAMPLE.com';
  $domain = stristr($email, 'e');
  echo $domain;
// выводит ER@EXAMPLE.com
?>

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

См. также описание функций
strstr(),
strrchr(),
substr() и
ereg().

stripslashes
strlen
Функции обработки строк


Возвращает длину строки

stristr
strnatcasecmp
Функции обработки строк
PHP Manual

strlen

(PHP 4, PHP 5)

strlen — Возвращает длину строки

Описание

int strlen ( string $string )

Возвращает длину строки string .

Пример #1 Пример использования strlen()

<?php
$str = 'abcdef';
echo strlen($str); // 6

$str = ' ab cd ';
echo strlen($str); // 7
?>

См. также описание функций count() и mb_strlen().

stristr
strnatcasecmp
Функции обработки строк


Сравнение строк без учета регистра с использованием алгоритма "естественного упорядочения"

strlen
strnatcmp
Функции обработки строк
PHP Manual

strnatcasecmp

(PHP 4, PHP 5)

strnatcasecmp — Сравнение строк без учета регистра с использованием алгоритма "естественного упорядочения"

Описание

int strnatcasecmp ( string $str1 , string $str2 )

Эта функция реализует алгоритм сравнения, упорядочивающий алфавитно-цифровые строки подобно тому, как это сделал бы человек. Эта функция подобна strnatcmp(), за исключением того, что strnatcasecmp() не учитывает регистр символов. Для получения дополнительной информации см. » Natural Order String Comparison

Подобно другим функциям сравнения строк, strnatcasecmp() возвращает отрицательное число, если str1 меньше, чем str2 ; положительное число, если str1 больше, чем str2 , и 0 если строки равны.

См. также описание функций
ereg(),
strcasecmp(),
substr(),
stristr(),
strcmp(),
strncmp(),
strncasecmp(),
strnatcmp() и
strstr().

strlen
strnatcmp
Функции обработки строк


Сравнение строк с использованием алгоритма "естественного упорядочения"

strnatcasecmp
strncasecmp
Функции обработки строк
PHP Manual

strnatcmp

(PHP 4, PHP 5)

strnatcmp — Сравнение строк с использованием алгоритма "естественного упорядочения"

Описание

int strnatcmp ( string $str1 , string $str2 )

Эта функция реализует алгоритм сравнения, упорядочивающий алфавитно-цифровые строки подобно тому, как это сделал бы человек. Пример, показывающий отличие этого алгоритма от обыных функций сравнения, приведен ниже

<?php
$arr1 = $arr2 = array("img12.png", "img10.png", "img2.png", "img1.png");
echo "Стандартный алгоритм сравнения\n";
usort($arr1, "strcmp");
print_r($arr1);
echo "\nАлгоритм \"естественного упорядочения\"\n";
usort($arr2, "strnatcmp");
print_r($arr2);
?>

Этот пример выводит следующее:

Стандартный алгоритм сравнения
Array
(
    [0] => img1.png
    [1] => img10.png
    [2] => img12.png
    [3] => img2.png
)

Алгоритм "естественного упорядочения"
Array
(
    [0] => img1.png
    [1] => img2.png
    [2] => img10.png
    [3] => img12.png
)

Для получения дополнительной информации см. » Natural Order String Comparison

Подобно другим функциям сравнения строк, strnatcmp() возвращает отрицательное число, если str1 меньше, чем str2 ; положительное число если, str1 больше, чем str2 , и 0 если строки равны.

Эта функция учитывает регистр символов.

См. также описание функций ereg(),
strcasecmp(), substr(),
stristr(), strcmp(),
strncmp(), strncasecmp(),
strnatcasecmp(), strstr(),
natsort() и natcasesort().

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 ; положительное число, если str1 больше, чем str2 , и 0 если строки равны.

См. также описание функций
ereg(),
strcasecmp(),
strcmp(),
substr(),
stristr() и
strstr().

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 ; положительное число, если str1 больше, чем str2 , и 0 если строки равны.

Эта функция учитывает регистр символов.

См. также описание функций ereg(),
strncasecmp(),
strcasecmp(), substr(),
stristr(), strcmp() и
strstr().

strncasecmp
strpbrk
Функции обработки строк


Ищет в строке любой символ из заданного набора

strncmp
strpos
Функции обработки строк
PHP Manual

strpbrk

(PHP 5)

strpbrk — Ищет в строке любой символ из заданного набора

Описание

string strpbrk ( string $haystack , string $char_list )

strpbrk() ищет в строке haystack символы из набора char_list и возвращает строку начиная с той позиции, где был найден символ (или FALSE если символ не найден).

Замечание: Параметр char_list чувствителен к регистру.

Пример #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 , string $needle [, int $offset ] )

Возвращает позицию первого вхождения подстроки needle в строку haystack . В отличие от strrpos(), использует всю строку needle , а не только первый символ.

Если подстрока needle не найдена, strpos() возвращает FALSE.

Внимание

Эта функция может возвращать как логическое значение FALSE, так и не относящееся к логическому типу значение, которое приводится к FALSE, например, 0 или "". За более подробной информации обратитесь к разделу Булев тип. Используйте оператор === для проверки значения, возвращаемого этой функцией.

Пример #1 Пример использования strpos()

<?php
$mystring = 'abc';
$findme   = 'a';
$pos = strpos($mystring, $findme);

// Заметьте, что используется ===.  Использование == не даст верного
// результата, так как 'a' в нулевой позиции.
if ($pos === false) {
    echo "Строка '$findme' не найдена в строке '$mystring1'";
} else {
    echo "Строка '$findme' найдена в строке '$mystring1'";
    echo " в позиции $pos";
}

// Ищем , начиная со второго символа
$newstring = 'abcdef abcdef';
$pos = strpos($newstring, 'a', 1); // $pos = 7, not 0
?>

Если needle не является строкой, он приводится к целому и трактуется как код символа.

Необязательный аргумент offset позволяет указать, с какого посчету символа строки haystack начинать поиск. Возвращается всегда позиция относительно начала строки haystack .

См. также описание функций strrpos(),
stripos(),
strripos(),
strrchr(),
substr(),
stristr() и
strstr().

strpbrk
strrchr
Функции обработки строк


Находит последнее вхождение подстроки

strpos
strrev
Функции обработки строк
PHP Manual

strrchr

(PHP 4, PHP 5)

strrchr — Находит последнее вхождение подстроки

Описание

string strrchr ( string $haystack , char $needle )

Возвращает подстроку строки haystack начиная с последнего вхождения needle до конца строки.

Если подстрока needle не найдена, возвращает FALSE.

В отличие от strchr(), если needle состоит более чем из одного символа, используется только первый символ.

Если needle не является строкой, он приводится к целому и трактуется как код символа.

Пример #1 Пример использования strrchr()

<?php
// получить последнюю директорию из $PATH
$dir = substr(strrchr($PATH, ":"), 1);

// получить все после последнего перевода строки
$text = "Line 1\nLine 2\nLine 3";
$last = substr(strrchr($text, 10), 1 );
?>

С версии PHP 4.3.0 strrchr() безопасна для обработки данных в двоичной форме.

См. также описание функций strstr(), substr() и stristr().

strpos
strrev
Функции обработки строк


Переворачивает строку

strrchr
strripos
Функции обработки строк
PHP Manual

strrev

(PHP 4, PHP 5)

strrev — Переворачивает строку

Description

string strrev ( 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 ] )

Возвращает позицию последнего вхождения подстроки needle в строку haystack . В отличие от strrpos(), эта функция не учитывает регистр символов.

needle должен содержать не менее одного символа.

Если подстрока needle не найдена, возвращает FALSE.

Внимание

Эта функция может возвращать как логическое значение FALSE, так и не относящееся к логическому типу значение, которое приводится к 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)

Необязательный аргумент offset позволяет указать, с какого по счету символа строки haystack начинать поиск. Отрицательное значение предписывает прекратить поиск при достижении определенной позиции до конца строки.

См. также описание функций strrpos(),
strrchr(),
substr(), stripos() и
stristr().

strrev
strrpos
Функции обработки строк


Возвращает позицию последнего вхождения символа

strripos
strspn
Функции обработки строк
PHP Manual

strrpos

(PHP 4, PHP 5)

strrpos — Возвращает позицию последнего вхождения символа

Описание

int strrpos ( string $haystack , string $needle [, int $offset ] )

Возвращает позицию последнего вхождения needle в строку haystack . В PHP 4 используется только первый символ строки needle .

Если подстрока needle не найдена, возвращает FALSE.

Внимание

Эта функция может возвращать как логическое значение FALSE, так и не относящееся к логическому типу значение, которое приводится к FALSE, например, 0 или "". За более подробной информации обратитесь к разделу Булев тип. Используйте оператор === для проверки значения, возвращаемого этой функцией.

Если needle не является строкой, он приводится к целому и трактуется как код символа.

Замечание: Начиная с PHP 5.0.0, необязательный аргумент offset позволяет указать, с какого по счету символа строки haystack начинать поиск. Отрицательное значение предписывает прекратить поиск при достижении определенной позиции до конца строки.

Замечание: Начиная с PHP 5.0.0 needle используется полностью (а не только первый символ).

См. также описание функций strpos(),
strripos(),
strrchr(),
substr(),
stristr() и
strstr().

strripos
strspn
Функции обработки строк


Возвращает длину участка в начале строки, соответствующего маске

strrpos
strstr
Функции обработки строк
PHP Manual

strspn

(PHP 4, PHP 5)

strspn — Возвращает длину участка в начале строки, соответствующего маске

Description

int strspn ( string $str1 , string $str2 [, int $start [, int $length ]] )

Возвращает длину участка в начале строки str1 , любой символ которого входит в строку str2 .

Строка:

<?php
$var = strspn("42 is the answer, what is the question ...", "1234567890");
?>

присвоит 2 переменной $var, так как "42" - это самый длинный участок строки, состоящий только из символов "1234567890".

Начиная с версии PHP 4.3.0, поддерживаются два необязательных аргумента, задающие начальную позицию и длину участка строки, в котором производится поиск.

<?php
echo strspn("foo", "o", 1, 2); // 2
?>

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

См. также описание функции strcspn().

strrpos
strstr
Функции обработки строк


Находит первое вхождение подстроки

strspn
strtok
Функции обработки строк
PHP Manual

strstr

(PHP 4, PHP 5)

strstr — Находит первое вхождение подстроки

Описание

string strstr ( string $haystack , string $needle )

Возвращает подстроку строки haystack начиная с первого вхождения needle до конца строки.

Если подстрока needle не найдена, возвращает FALSE.

Если needle не является строкой, он приводится к целому и трактуется как код символа.

Замечание: Эта функция учитывает регистр символов. Для поиска без учета регистра используйте stristr().

Пример #1 Пример использования strstr()

<?php
$email = 'user@example.com';
$domain = strstr($email, '@');
echo $domain; // выводит @example.com
?>

Замечание: Если нужно лишь определить, встречается ли подстрока needle в haystack , используйте функцию strpos(), которая работает быстрее и потребляет меньше памяти.

С версии PHP 4.3.0 strstr() безопасна для обработки данных в двоичной форме.

См. также описание функций
ereg(),
preg_match(),
stristr(),
strpos(),
strrchr() и
substr().

strspn
strtok
Функции обработки строк


Разбивает строку

strstr
strtolower
Функции обработки строк
PHP Manual

strtok

(PHP 4, PHP 5)

strtok — Разбивает строку

Описание

string strtok ( string $arg1 , string $arg2 )

strtok() разбивает строку arg1 на подстроки, используя в качесве разделителей символы из arg2 . Например строку "This is an example string" можно разбить на отдельные слова.

Пример #1 Пример использования strtok()

<?php
$string = "This is\tan example\nstring";
/* в качестве разделителей используем пробел, табуляцию и перевод строки */
$tok = strtok($string, " \n\t");
while ($tok) {
    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)

Помните также о том, что может быть возвращена подстрока "0". В логических выражениях это значение может соответствовать FALSE.

См. также описание функций split() и explode().

strstr
strtolower
Функции обработки строк


Преобразует строку в нижний регистр

strtok
strtoupper
Функции обработки строк
PHP Manual

strtolower

(PHP 4, PHP 5)

strtolower — Преобразует строку в нижний регистр

Описание

string strtolower ( string $str )

Возвращает строку string , в которой все буквенные символы переведены в нижний регистр.

Принадлежность того или иного символа к буквенным определяется с учетом текущей локали. Это означает, что, например, в используемой по умолчанию локали "C" locale, символ Ä не будет преобразован.

Пример #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().

strtok
strtoupper
Функции обработки строк


Преобразует строку в верхний регистр

strtolower
strtr
Функции обработки строк
PHP Manual

strtoupper

(PHP 4, PHP 5)

strtoupper — Преобразует строку в верхний регистр

Описание

string strtoupper ( string $string )

Возвращает строку string , в которой все буквенные символы переведены в верхний регистр.

Принадлежность того или иного символа к буквенным определяется с учетом текущей локали. Это означает, что, например, в используемой по умолчанию локали "C" locale, символ Ä не будет преобразован.

Пример #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() and
mb_strtoupper().

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 и to отличаются, "лишние" символы в более длинной строке не используются.

Пример #1 Пример использования strtr()

<?php
$addr = strtr($addr, "дец", "aao");
?>

strtr() может вызываться с двумя аргументами. В этом случае from должен быть массивом, индексы которого трактуются как строки поиска, а соответствующие значения - как строки замены. strtr() в первую очередь заменяет более длинные подстроки, причем одна и та же строка поиска используется только один раз.

Пример #2 Пример использования strtr() с двумя аргументами

<?php
$trans = array("hello" => "hi", "hi" => "hello");
echo strtr("hi all, I said hello", $trans);
?>

Этот код выведет:

hello all, I said hi

Замечание: Аргументы to и from были добавлены в PHP 4.0.0

См. также описание функции ereg_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_sensitivity ]] )

substr_compare() сравнивает строку main_str начиная с символа, номер которого задан аргументом offset , со строкой str . В сравнении участвуют максимум length символов.

Возвращает число < 0 если main_str начиная с символа offset меньше чем str , > 0 если она больше str , и 0 если строки равны. Если length больше или равен длине main_str и offset передан, substr_compare() выводит предупреждение и возвращает FALSE.

Если case_sensitivity имеет значение TRUE, сравнение выполняется с учетом регистра.

Пример #1 Пример использования substr_compare()

<?php
echo substr_compare("abcde", "bc", 1, 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); // warning
?>

strtr
substr_count
Функции обработки строк


Возвращает число вхождений подстроки

substr_compare
substr_replace
Функции обработки строк
PHP Manual

substr_count

(PHP 4, PHP 5)

substr_count — Возвращает число вхождений подстроки

Описание

int substr_count ( string $haystack , string $needle )

substr_count() Возвращает число вхождений подстроки needle в строку haystack . Заметьте, что поиск ведется с учетом регистра символов.

Пример #1 Пример использования substr_count()

<?php
echo substr_count("This is a test", "is"); // 2
?>

См. также описание функций count_chars(),
strpos(), substr()
и strstr().

substr_compare
substr_replace
Функции обработки строк


Заменяет часть строки

substr_count
substr
Функции обработки строк
PHP Manual

substr_replace

(PHP 4, PHP 5)

substr_replace — Заменяет часть строки

Описание

string substr_replace ( string $string , string $replacement , int $start [, int $length ] )

substr_replace() заменяет часть строки string начинающуюся с символа с порядковым номером start и длиной length строкой replacement и возвращает результат.

Если start - положительное число, замена начинается с символа с порядковым номером start .

Если start - отрицательное число, замена начинается с символа с порядковым номером start , считая от конца строки.

Если аргумент length - положительное число, то он определяет длину заменяемой подстроки. Если этот аргумент отрицательный, он определяет количество символов от конца строки, на котором заканчивается замена. Этот аргумент необязателен и по умолчанию равен strlen(string );, т.е. замена до конца строки string .

Пример #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";
?>

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

См. также описание функций 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 ] )

substr() возвращает подстроку строки string длиной length , начинающегося с start символа по счету.

Если start неотрицателен, возвращаемая подстрока начинается в позиции start от начала строки, считая от нуля. Например, в строке 'abcdef', в позиции 0 находится символ 'a', в позиции 2 - символ 'c', и т.д.

Пример #1 Пример использования substr()

<?php
$rest = substr("abcdef", 1);    // возвращает "bcdef"
$rest = substr("abcdef", 1, 3); // возвращает "bcd"
$rest = substr("abcdef", 0, 4); // возвращает "abcd"
$rest = substr("abcdef", 0, 8); // возвращает "abcdef"

// к отдельным символам можно обращаться с помощью фигурных скобок
$string = 'abcdef';
echo $string{0};                // выводит a
echo $string{3};                // выводит d
?>

Если start отрицательный, возвращаемая подстрока начинается с start символа с конца строки string .

Пример #2 Использование отрицательного start

<?php
$rest = substr("abcdef", -1);    // возвращает "f"
$rest = substr("abcdef", -2);    // возвращает "ef"
$rest = substr("abcdef", -3, 1); // возвращает "d"
?>

Если length положительный, возвращаемая строка будет не длиннее length символов. Если длина строки string меньше или равна start символов, возвращается FALSE.

Если length отрицательный, то будет отброшено указанное этим аргументом число символов с конца строки string . Если при этом позиция начала подстроки, определяемая аргументом start , находится в отброшенной части строки, возвращается пустая строка.

Пример #3 Использование отрицательного length

<?php
$rest = substr("abcdef", 0, -1);  // возвращает "abcde"
$rest = substr("abcdef", 2, -1);  // возвращает "cde"
$rest = substr("abcdef", 4, -4);  // возвращает ""
$rest = substr("abcdef", -3, -1); // возвращает "de"
?>

См. также описание функций
strrchr(),
substr_replace(),
ereg(),
trim() и
mb_substr().

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)), вертикальная табуляция.

Можно также задать список символов для удаления с помощью аргумента charlist . С помощью .. можно задать диапазон символов.

Пример #1 Пример использования trim()

<?php

$text = "\t\tЛишь несколько слов :) ...  ";

echo trim($text);           // "Лишь несколько слов :) ..."
echo trim($text, " \t."); // "Лишь несколько слов :)"

// удалить управляющие символы ASCII из начала и конца
// строки $binary (от 0 до 31 включительно)
$clean = trim($binary, "\x00..\x1F");

?>

Замечание: Необязательный аргумент charlist был добавлен в версии 4.1.0

См. также описание функций ltrim() и rtrim().

substr
ucfirst
Функции обработки строк


Преобразует первый символ строки в верхний регистр

trim
ucwords
Функции обработки строк
PHP Manual

ucfirst

(PHP 4, PHP 5)

ucfirst — Преобразует первый символ строки в верхний регистр

Описание

string ucfirst ( string $str )

Возвращает строку string , в которой первый символ переведен в верхний регистр, если этот символ буквенный.

Принадлежность того или иного символа к буквенным определяется с учетом текущей локали. Это означает, что, например, в используемой по умолчанию локали "C" locale, символ Ä не будет преобразован.

Пример #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!
?>

См. также описание функций strtolower(), strtoupper() и ucwords().

trim
ucwords
Функции обработки строк


Преобразует в верхний регистр первый символ каждого слова в строке

ucfirst
vfprintf
Функции обработки строк
PHP Manual

ucwords

(PHP 4, PHP 5)

ucwords — Преобразует в верхний регистр первый символ каждого слова в строке

Описание

string ucwords ( string $str )

Возвращает строку string , в которой первый символ каждого слова переведен в верхний регистр, если этот символ буквенный.

Эта функция считает словами последовательности символов, разделенных пробелом, переводом строки, возвратом каретки, горизонтальной или вертикальной табуляцией.

Пример #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().

ucfirst
vfprintf
Функции обработки строк


Write a formatted string to a stream

ucwords
vprintf
Функции обработки строк
PHP Manual

vfprintf

(PHP 5)

vfprintf — Write a formatted string to a stream

Описание

int vfprintf ( resource $handle , string $format , array $args )

Write a string produced according to format to the stream resource specified by handle .

Operates as fprintf() but accepts an array of arguments, rather than a variable number of arguments.

Список параметров

handle

format

See sprintf() for a description of format .

args

Возвращаемые значения

Returns the length of the outputted string.

Примеры

Пример #1 vfprintf(): zero-padded integers

<?php
if (!($fp = fopen('date.txt', 'w')))
    return;

vfprintf($fp, "%04d-%02d-%02d", array($year, $month, $day));
// will write the formatted ISO date to 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 )

Выводит значения массива args , отформатированные в соответствии с аргументом format , описанном в документации функции sprintf().

Эта функция подобна printf(), но она принимает не переменное число аргументов, а массив.

Возвращает длину выведенной строки

См. также описания функций printf(), sprintf() и vsprintf()

vfprintf
vsprintf
Функции обработки строк


Возвращает отформатированную строку

vprintf
wordwrap
Функции обработки строк
PHP Manual

vsprintf

(PHP 4 >= 4.1.0, PHP 5)

vsprintf — Возвращает отформатированную строку

Описание

string vsprintf ( string $format , array $args )

Выводит значения массива args , отформатированные в соответствии с аргументом format , описанном в документации функции sprintf().

Эта функция подобна sprintf(), но она принимает не переменное число аргументов, а массив.

См. также описания функций sprintf() и vprintf()

vprintf
wordwrap
Функции обработки строк


Выполняет перенос строки на данное количество символов с использованием символа разрыва строки.

vsprintf
Variable and Type Related Extensions
Функции обработки строк
PHP Manual

wordwrap

(PHP 4 >= 4.0.2, PHP 5)

wordwrap — Выполняет перенос строки на данное количество символов с использованием символа разрыва строки.

Описание

string wordwrap ( string $str [, int $width [, string $break [, boolean $cut ]]] )

Возвращает строку str с переносом в столбце с номером, заданном аргументом width . Строка разбивется с помощью аргумента break .

Аргументы width и break необязательны и по умолчанию равны 75 и '\n' соответственно.

Если аргумент cut установлен в 1, разрыв делается точно в заданной колонке. Поэтому если исходная строка содержит слово длиннее, чем заданная длина, то в этом случае слово будет разорвано. (См. второй пример).

Замечание: Необязательный аргумент cut был добавлен в PHP 4.0.3

Пример #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 = "Очень длинное слоооооооооооооооово.";
$newtext = wordwrap($text, 8, "\n", 1);

echo "$newtext\n";
?>

Этот пример выведет:

Очень
длинное
слоооооо
оооооооо
оово.

См. также описание функций nl2br() и chunk_split().

vsprintf
Variable and Type Related Extensions
Функции обработки строк


Variable and Type Related Extensions

  • Массивы — Функции для работы с массивами
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Функции для работы с массивами
  • Классы/Объекты — Функции работы с Классами/Объектами
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • Функции работы с Классами/Объектами
  • Classkit — Функции classkit
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Функции classkit
  • ctype — Функции определения типа символов
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • ctype — Функции определения типа символов
  • Filter — Функции фильтрации данных
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Функции фильтрации данных
  • Управление функциями
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Управление функциями
  • Object Aggregation — Object Aggregation/Composition
    • Введение
    • Примеры
    • Object Aggregation Функции
  • Управление переменными — Функции управления переменными
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Функции для работы с переменными
wordwrap
Массивы
Справочник функций


Функции для работы с массивами

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Функции для работы с массивами
    • array_change_key_case — Возвращает массив, символьные ключи которого преобразованы в верхний или нижний регистр символов
    • array_chunk — Разбить массив на части
    • array_combine — Создать новый массив, используя один массив в качестве ключей, а другой в качестве соответствующих значений
    • array_count_values — Подсчитать количество всех значений массива
    • array_diff_assoc — Вычислить расхождение в массивах с дополнительной проверкой индекса
    • array_diff_key — Вычислить расхождение в массивах, сравнивая ключи
    • array_diff_uassoc — Вычислить расхождение в массивах с дополнительной проверкой индекса, осуществляемой при помощи функции, определённой пользователем
    • array_diff_ukey — Вычислить расхождение в массивах, используя функцию обратного вызова для сравнения ключей
    • array_diff — Вычислить расхождение в массивах
    • array_fill_keys — Создать массив и заполнить его значениями, с определенными ключами
    • array_fill — Заполнить массив определенным значением
    • array_filter — Применяет фильтр к массиву, используя функцию обратного вызова
    • array_flip — Поменять местами значения массива
    • array_intersect_assoc — Вычислить схождение массивов с дополнительной проверкой индекса
    • array_intersect_key — Вычислить пересечение массивов, сравнивая ключи
    • array_intersect_uassoc — Вычислить пересечение массивов с дополнительной проверкой индекса, осуществляемой при помощи функции, определённой пользователем
    • array_intersect_ukey — Вычислить пересечение массивов, используя функцию обратного вызова для сравнения ключей
    • array_intersect — Вычислить схождение массивов
    • array_key_exists — Проверить, присутствует ли в массиве указанный ключ или индекс
    • array_keys — Выбрать все ключи массива
    • array_map — Применить функцию обратного вызова ко всем элементам указанных массивов
    • array_merge_recursive — Рекурсивно слить два или большее количество массивов
    • array_merge — Слить два или большее количество массивов
    • array_multisort — Сортировать несколько массивов или многомерные массивы
    • array_pad — Увеличить размер массива до заданной величины
    • array_pop — Извлечь последний элемент массива
    • array_product — Вычислить произведение значений массива
    • array_push — Добавить один или несколько элеметов в конец массива
    • array_rand — Выбрать одно или несколько случайных значений из массива
    • array_reduce — Итеративно уменьшить массив к единственному значению, используя функцию обратного вызова
    • array_reverse — Возвращает массив с элементами в обратном порядке
    • array_search — Осуществляет поиск данного значения в массиве и возвращает соответствующий ключ в случае удачи
    • array_shift — Извлечь первый элемент массива
    • array_slice — Выбрать срез массива
    • array_splice — Удалить последовательность элементов массива и заменить её другой последовательностью
    • array_sum — Вычислить сумму значений массива
    • array_udiff_assoc — Вычислить расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений функцию обратного вызова
    • array_udiff_uassoc — Вычислить расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений и индексов функцию обратного вызова
    • array_udiff — Вычислить расхождение массивов, используя для сравнения функцию обратного вызова
    • array_uintersect_assoc — Вычислить пересечение массивов с дополнительной проверкой индексов, используя для сравнения значений функцию обратного вызова
    • array_uintersect_uassoc — Вычислить пересечение массивов с дополнительной проверкой индекса, используя для сравнения индексов и значений функцию обратного вызова
    • array_uintersect — Вычислить пересечение массивов, используя для сравнения значений функцию обратного вызова
    • 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 — Отсортировать массив по значениям используя пользовательскую функцию для сравнения элементов
Variable and Type Related Extensions
Введение
Variable and Type Related Extensions


Введение

Эти функции позволят вам различными способами оперировать с массивами. Массивы идеально подходят для хранения, изменения и работы с наборами переменных.

Поддерживаются одно- и многоразмерные массивы, как созданные пользователем, так и возвращенные в качестве результата какой-либо функцией. Существуют специальные функции для работы с базами данных, облегчающие работу с массивами данных, возвращаемых в результате выполнения запросов; также существуют функции, возвращающие массивы в качестве результата.

За дополнительными сведениями о том, каким образом создаются и используются массивы в 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)
Типы ресурсов
Функции для работы с массивами
Массивы


Функции для работы с массивами

Смотрите также

См. также 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 — Вычислить расхождение в массивах с дополнительной проверкой индекса, осуществляемой при помощи функции, определённой пользователем
  • array_diff_ukey — Вычислить расхождение в массивах, используя функцию обратного вызова для сравнения ключей
  • array_diff — Вычислить расхождение в массивах
  • array_fill_keys — Создать массив и заполнить его значениями, с определенными ключами
  • array_fill — Заполнить массив определенным значением
  • array_filter — Применяет фильтр к массиву, используя функцию обратного вызова
  • array_flip — Поменять местами значения массива
  • array_intersect_assoc — Вычислить схождение массивов с дополнительной проверкой индекса
  • array_intersect_key — Вычислить пересечение массивов, сравнивая ключи
  • array_intersect_uassoc — Вычислить пересечение массивов с дополнительной проверкой индекса, осуществляемой при помощи функции, определённой пользователем
  • array_intersect_ukey — Вычислить пересечение массивов, используя функцию обратного вызова для сравнения ключей
  • array_intersect — Вычислить схождение массивов
  • array_key_exists — Проверить, присутствует ли в массиве указанный ключ или индекс
  • array_keys — Выбрать все ключи массива
  • array_map — Применить функцию обратного вызова ко всем элементам указанных массивов
  • array_merge_recursive — Рекурсивно слить два или большее количество массивов
  • array_merge — Слить два или большее количество массивов
  • array_multisort — Сортировать несколько массивов или многомерные массивы
  • array_pad — Увеличить размер массива до заданной величины
  • array_pop — Извлечь последний элемент массива
  • array_product — Вычислить произведение значений массива
  • array_push — Добавить один или несколько элеметов в конец массива
  • array_rand — Выбрать одно или несколько случайных значений из массива
  • array_reduce — Итеративно уменьшить массив к единственному значению, используя функцию обратного вызова
  • array_reverse — Возвращает массив с элементами в обратном порядке
  • array_search — Осуществляет поиск данного значения в массиве и возвращает соответствующий ключ в случае удачи
  • array_shift — Извлечь первый элемент массива
  • array_slice — Выбрать срез массива
  • array_splice — Удалить последовательность элементов массива и заменить её другой последовательностью
  • array_sum — Вычислить сумму значений массива
  • array_udiff_assoc — Вычислить расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений функцию обратного вызова
  • array_udiff_uassoc — Вычислить расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений и индексов функцию обратного вызова
  • array_udiff — Вычислить расхождение массивов, используя для сравнения функцию обратного вызова
  • array_uintersect_assoc — Вычислить пересечение массивов с дополнительной проверкой индексов, используя для сравнения значений функцию обратного вызова
  • array_uintersect_uassoc — Вычислить пересечение массивов с дополнительной проверкой индекса, используя для сравнения индексов и значений функцию обратного вызова
  • array_uintersect — Вычислить пересечение массивов, используя для сравнения значений функцию обратного вызова
  • 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 — Отсортировать массив по значениям используя пользовательскую функцию для сравнения элементов
Предопределенные константы
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 [, integer $case ] )

Функция array_change_key_case() преобразует ключи массива input в верхний или нижний регистр символов. Тип преобразования зависит от последнего опционального параметра case . В качестве этого параметра вы можете передать одну из двух констант: CASE_UPPER и CASE_LOWER. По умолчанию используется CASE_LOWER. Эта функция не изменяет ключи, состоящие из чисел.

Пример #1 Пример использования array_change_key_case()

$input_array = array("FirSt" => 1, "SecOnd" => 4);
print_r(array_change_key_case($input_array, CASE_UPPER));

Результатом выполнения вышеприведенной программы будет:

Array
(
    [FIRST] => 1
    [SECOND] => 2
)

Функции для работы с массивами
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 , integer $size [, bool $preserve_keys ] )

Функция array_chunk() разбивает массив на несколько массивов размером size значений. Последний массив из полученных может содержать меньшее количество значений, чем указано. В качестве результата функция возвращает многомерный массив с индексами, начинающимися с нуля и элементами, которыми являются массивы, полученные в результате разбивки.

Если вы передадите значение TRUE в качестве необязательного параметра preserve_keys , PHP сохранит ключи из исходного массива. Если значение этого параметра равно FALSE, элементы результирующих массивов будут проиндексированы числами, начиная с нуля. По умолчанию используется значение FALSE.

Пример #1 Пример использования array_chunk()

$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 в качестве соответствующих значений.

Возвращает 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() возвращает массив, ключами которого являются значения массива исходный_массив , а значениями - частота повторения этих значений.

Пример #1 Пример использования array_count_values()

$array = array (1, "hello", 1, "world", "hello");
print_r(array_count_values ($array));

Результатом вышеприведенной программы будет:

Array
(
    [1] => 2
    [hello] => 2
    [world] => 1
)

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 $array_1 , array $array_2 [, array $ ... ] )

Функция array_diff_assoc() возвращает массив, состоящий из значений массива array_1 , которые отсутствуют в любом другом массиве, перечисленном в последующих аргументах. Обратите внимание, что ключи возвращаемого расхождения отличны от ключей расхождения, возвращаемого функцией array_diff().

Пример #1 Пример использования array_diff_assoc()

<?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
)

В вышеприведённом примере Вы видите, что пара "a" => "green" содержится в обоих массивах и таким образом её не содержится в выводе функции. Наоборот, пара 0 => "red" содержится в выводе функции, потому что во втором аргументе значению "red" соответствует ключ 1.

Два значения пар key => value считаются равными только, если (string) $elem1 === (string) $elem2 . Другими словами, строгая проверка считает, что строковое представление должно быть идентичным.

Замечание: Обратите внимание, что эта функция обрабатывает только одно измерение 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 $ ... ] )

array_diff_key() возвращает массив, содержащий все значения array1 , имеющие ключи, не содержащиеся в последующих параметрах. Обратите внимание, что ассоциации сохраняются. Эта функция схожа с array_diff() за исключением того, что сравниваются ключи, а не значения.

Пример #1 Пример использования array_diff_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_diff_key($array1, $array2));
?>

Результат выполнения данного примера:

array(2) {
  ["red"]=>
  int(2)
  ["purple"]=>
  int(4)
}

Два ключа пар key => value считаются равными только, если (string) $key1 === (string) $key2 . Другими словами, строгая проверка считает, что строковое представление должно быть идентичным.

Замечание: Обратите внимание, что эта функция обрабатывает только одно измерение n-размерного массива. Естественно, вы можете обрабатывать и более глубокие уровни вложенности, например, используя array_diff_key($array1[0], $array2[0]);.

См. также array_diff(),
array_udiff()
array_diff_assoc(),
array_diff_uassoc(),
array_udiff_assoc(),
array_udiff_uassoc(),
array_diff_ukey(),
array_intersect(),
array_intersect_assoc(),
array_intersect_uassoc(),
array_intersect_key() и
array_intersect_ukey().

array_diff_assoc
array_diff_uassoc
Функции для работы с массивами


Вычислить расхождение в массивах с дополнительной проверкой индекса, осуществляемой при помощи функции, определённой пользователем

array_diff_key
array_diff_ukey
Функции для работы с массивами
PHP Manual

array_diff_uassoc

(PHP 5)

array_diff_uassoc — Вычислить расхождение в массивах с дополнительной проверкой индекса, осуществляемой при помощи функции, определённой пользователем

Описание

array array_diff_uassoc ( array $array1 , array $array2 [, array $... ], callback $key_compare_func )

array_diff_uassoc() возвращает array, содержащий все значения array1 , не содержащиеся в последующих параметрах. Обратите внимание, что в отличие от array_diff(), для сравнения используются ключи.

Для сравнения используется функция, определённая пользователем. Она должна возвращать целое число меньшее, равное или большее нуля, если первый параметр, соответственно, меньше, равен или больше второго. В отличие от array_diff_assoc(), использующей для сравнения встроенную функцию.

Пример #1 Пример использования array_diff_uassoc()

<?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
)

В нашем примере пара "a" => "green" существует в обоих массивах и поэтому не присутствует в выводе функции. Наоборот, пара 0 => "red" присутствует в выводе, потому что во втором аргументе значению "red" соответствует ключ 1.

Равенство двух индексов проверяется при помощи функции, определённой пользователем.

Замечание: Обратите внимание, что эта функция обрабатывает только одно измерение n-размерного массива. Естественно, вы можете обрабатывать и более глубокие уровни вложенности, например, используя array_diff_uassoc($array1[0], $array2[0], "key_compare_func");.

См. также
array_diff(),
array_diff_assoc(),
array_udiff(),
array_udiff_assoc(),
array_udiff_uassoc(),
array_intersect(),
array_intersect_assoc(),
array_uintersect(),
array_uintersect_assoc() и
array_uintersect_uassoc().

array_diff_key
array_diff_ukey
Функции для работы с массивами


Вычислить расхождение в массивах, используя функцию обратного вызова для сравнения ключей

array_diff_uassoc
array_diff
Функции для работы с массивами
PHP Manual

array_diff_ukey

(PHP 5 >= 5.1.0)

array_diff_ukey — Вычислить расхождение в массивах, используя функцию обратного вызова для сравнения ключей

Описание

array array_diff_ukey ( array $array1 , array $array2 [, array $ ... ], callback $key_compare_func )

array_diff_ukey() возвращает массив, содержащий все значения array1 , имеющие ключи, не содержащиеся в последующих параметрах. Обратите внимание, что ассоциации сохраняются. Эта функция схожа с array_diff() за исключением того, что сравниваются ключи, а не значения.

Для сравнения используется функция, определённая пользователем. Она должна возвращать целое число меньшее, равное или большее нуля, если первый ключ, соответственно, меньше, равен или больше второго.

Пример #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()
array_diff_assoc(),
array_diff_uassoc(),
array_udiff_assoc(),
array_udiff_uassoc(),
array_diff_key(),
array_intersect(),
array_intersect_assoc(),
array_intersect_uassoc(),
array_intersect_key() и
array_intersect_ukey().

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 $ ... ] )

Функция array_diff() возвращает массив, состоящий из значений массива array1 , которые отсутствуют в любом другом массиве, перечисленном в последующих аргументах. Обратите внимание, что ключи массивов сохраняются.

Пример #1 Пример использования array_diff()

$array1 = array ("a" => "green", "red", "blue", "red");
$array2 = array ("b" => "green", "yellow", "red");
$result = array_diff ($array1, $array2);

В результате выполнения этой программы переменная $result будет содержать array ("blue");. Повторения одного и того же значения в $array1 обрабатываются как одно значение.

Замечание: Два элемента считаются одинаковыми если и только если (string) $elem1 === (string) $elem2. Другими словами, когда их строковое представление идентично.

Замечание: Обратите внимание, что эта функция обрабатывает только одно измерение n-размерного массива. Естественно, вы можете обрабатывать и более глубокие уровни вложенности, например, используя array_diff($array1[0], $array2[0]);.

Внимание

См.также array_intersect().

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

Массив значений, которые будут использованы в качестве ключей

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
)

Смотрите также

z

  • 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 ( integer $start_index , integer $num , mixed $value )

Функция array_fill() возвращает массив, содержащий num элементов, имеющих значение параметра value . Нумерация ключей элементов массива начинаются со значения параметра start_index parameter.

Пример #1 Пример использования array_fill()

$a = array_fill(5, 6, 'banana');

Переменная $a теперь содержит следующие значения (вывод функции print_r()):

Array
(
    [5]  => banana
    [6]  => banana
    [7]  => banana
    [8]  => banana
    [9]  => banana
    [10] => banana
)

array_fill_keys
array_filter
Функции для работы с массивами


Применяет фильтр к массиву, используя функцию обратного вызова

array_fill
array_flip
Функции для работы с массивами
PHP Manual

array_filter

(PHP 4 >= 4.0.6, PHP 5)

array_filter — Применяет фильтр к массиву, используя функцию обратного вызова

Описание

array array_filter ( array $input [, mixed $callback ] )

Функция array_filter() возвращает массив, содержащий значения массива input , отфильтрованные в соответствии с результатом функции обратного вызова. Если input является ассоциативным массивом, его ключи сохраняются.

Пример #1 Пример использования array_filter()

function odd($var) {
    return ($var % 2 == 1);
}

function even($var) {
    return ($var % 2 == 0);
}

$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
)

Замечание: В качестве аргумента вместо имени функции может быть передан массив, содержащий ссылку на объект и имя метода.

Пользователи не должны изменять массив в результате его обработки функцией обратного вызова, например, добавлять или удалять элемент или обнулять массив, обрабатываемый функцией array_filter(). Если массив подвергается изменениям, поведение этой функции становится неопределенным.

См.также array_map() и array_reduce().

array_fill
array_flip
Функции для работы с массивами


Поменять местами значения массива

array_filter
array_intersect_assoc
Функции для работы с массивами
PHP Manual

array_flip

(PHP 4, PHP 5)

array_flip — Поменять местами значения массива

Описание

array array_flip ( array $input )

Функция array_flip() возвращает array в обратном порядке, то есть ключи массива input становятся значениями, а значения массива input становятся ключами.

Обратите внимание, что значения массива input должны быть корректными ключами, то есть они должны иметь тип integer или string. Если значение имеет неверный тип, будет выдано предупреждение и пара ключ/значение не будет обработана.

Если значение встречается несколько раз, для обработки будет использоваться последний встреченный ключ, а все остальные будут потеряны.

Функция array_flip() возвращает FALSE, если обработка массива вызвала ошибку.

Пример #1 Пример использования array_flip()

$trans = array_flip ($trans);
$original = strtr ($str, $trans);

Пример #2 Пример использования array_flip(): многократное повторение значения

$trans = array ("a" => 1, "b" => 1, "c" => 2);
$trans = array_flip ($trans);
print_r($trans);

теперь $trans содержит:

Array
(
    [1] => b
    [2] => c
)

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 $array_1 , array $array_2 [, array $ ... ] )

Функция array_intersect_assoc() возвращает массив, содержащий значения массива array_1 , которые содержат все перечисленные в аргументах массивы. Обратите внимание, что ключи возвращаемого схождения отличны от ключей схождения, возвращаемого функцией array_intersect().

Пример #1 Пример использования array_intersect_assoc()

<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "yellow", "red");
$result_array = array_intersect_assoc($array1, $array2);
?>

В результате выполнения переменная $result_array будет содержать:

Array
(
    [a] => green
)

В нашем примере Вы видете, что только пара "a" => "green", содержится в обоих массивах и таким образом возвращается. Значение "red" не возвращается, потому что в массиве $array1 его ключ - 0, в то время как ключ значения "red" в массиве $array2 - 1.

Два значения пар key => value считаются равными только, если (string) $elem1 === (string) $elem2 . Другими словами, строгая проверка считает, что строковое представление должно быть идентичным.

См.также array_intersect(),
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 , имеющие ключи, содержащиеся во всех последующих параметрах..

Пример #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()
array_diff_assoc(),
array_diff_uassoc(),
array_udiff_assoc(),
array_udiff_uassoc(),
array_diff_key(),
array_diff_ukey(),
array_intersect(),
array_intersect_assoc(),
array_intersect_uassoc() и
array_intersect_ukey().

array_intersect_assoc
array_intersect_uassoc
Функции для работы с массивами


Вычислить пересечение массивов с дополнительной проверкой индекса, осуществляемой при помощи функции, определённой пользователем

array_intersect_key
array_intersect_ukey
Функции для работы с массивами
PHP Manual

array_intersect_uassoc

(PHP 5)

array_intersect_uassoc — Вычислить пересечение массивов с дополнительной проверкой индекса, осуществляемой при помощи функции, определённой пользователем

Описание

array array_intersect_uassoc ( array $array1 , array $array2 [, array $ ... ], callback $key_compare_func )

array_intersect_uassoc() возвращает массив, содержащий значения array1 , содержащиеся во всех последующих параметрах. Обратите внимание, что в отличие от array_intersect(), для сравнения используются ключи.

Для сравнения используется функция, определённая пользователем. Она должна возвращать целое число меньшее, равное или большее нуля, если первый параметр, соответственно, меньше, равен или больше второго.

Пример #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(),
array_uintersect_uassoc(),
array_intersect_key() и
array_intersect_ukey().

array_intersect_key
array_intersect_ukey
Функции для работы с массивами


Вычислить пересечение массивов, используя функцию обратного вызова для сравнения ключей

array_intersect_uassoc
array_intersect
Функции для работы с массивами
PHP Manual

array_intersect_ukey

(PHP 5 >= 5.1.0)

array_intersect_ukey — Вычислить пересечение массивов, используя функцию обратного вызова для сравнения ключей

Описание

array array_intersect_ukey ( array $array1 , array $array2 [, array $... ], callback $key_compare_func )

array_intersect_ukey() возвращает массив, содержащий значения 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()
array_diff_assoc(),
array_diff_uassoc(),
array_udiff_assoc(),
array_udiff_uassoc(),
array_diff_key(),
array_diff_ukey(),
array_intersect(),
array_intersect_assoc(),
array_intersect_uassoc() и
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 , которые содержат все перечисленные в аргументах массивы. Обратите внимание, что ключи сохраняются.

Пример #1 Пример использования array_intersect()

$array1 = array ("a" => "green", "red", "blue");
$array2 = array ("b" => "green", "yellow", "red");
$result = array_intersect ($array1, $array2);

В результате выполнения переменная $result будет содержать

Array
(
    [a] => green
    [0] => red
)

Замечание: Два элемента считаются одинаковыми тогда и только тогда, когда (string) $elem1 === (string) $elem2. Другими словами, когда их строковые представления идентичны.

См.также array_diff().

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 $input )

Функция array_key_exists() возвращает TRUE, если в массиве присутствует указанное значение ключ . Параметр ключ может быть любым значением, которое подходит для описания индекса массива.

Пример #1 Пример использования array_key_exists()

$search_array = array("first" => 1, "second" => 4);
if (array_key_exists("first", $search_array)) {
    echo "The 'first' element is in the array";
}

Замечание: В PHP версии 4.0.6 название этой функции - key_exists().

См.также isset().

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 ] )

Функция array_keys() возвращает числовые и строковые ключи, содержащиеся в массиве input .

Если указан необязательный параметр search_value , функция возвращает только ключи, совпадающие с этим параметром. В обратном случае, функция возвращает все ключи массива input .

Пример #1 Пример использования array_keys()

$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
)

Замечание: Эта функция появилась в PHP 4. Ниже приведен ее эквивалент для PHP 3.

Пример #2 Эквивалент функции array_keys() в PHP 3

function array_keys ($arr, $term="") {
    $t = array();
    while (list($k,$v) = each($arr)) {
        if ($term && $v != $term) {
            continue;
        }
        $t[] = $k;
    }
    return $t;
}

См.также array_values().

array_key_exists
array_map
Функции для работы с массивами


Применить функцию обратного вызова ко всем элементам указанных массивов

array_keys
array_merge_recursive
Функции для работы с массивами
PHP Manual

array_map

(PHP 4 >= 4.0.6, PHP 5)

array_map — Применить функцию обратного вызова ко всем элементам указанных массивов

Описание

array array_map ( mixed $callback , array $array1 [, array $array2... ] )

Функция array_map() возвращает массив, содержащий элементы всех указанных массивов после их обработки функцией обратного вызова. Количество параметров, передаваемых функции обратного вызова, должно совпадать с количеством массивов, переданным функции array_map().

Пример #1 Пример использования array_map()

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(): обработка нескольких массивов

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);

Результат выполнения:

// printout of $c
Array
(
    [0] => Число 1 по-испански -  uno
    [1] => Число 2 по-испански -  dos
    [2] => Число 3 по-испански -  tres
    [3] => Число 4 по-испански -  cuatro
    [4] => Число 5 по-испански -  cinco
)

// printout of $d
Array
(
    [0] => Array
        (
            [1] => uno
        )

    [1] => Array
        (
            [2] => dos
        )

    [2] => Array
        (
            [3] => tres
        )

    [3] => Array
        (
            [4] => cuatro
        )

    [4] => Array
        (
            [5] => cinco
        )

)

Обычно при обработке двух или более массивов, они имею одинаковую длину, так как функция обратного вызова применяется параллельно к соответствующим элементам массивов. Если массивы имеют различную длину, самый маленький из них дополняется элементами с пустыми значениями.

Интересным эффектом при использовании этой функции является создание массива массивов, что может быть достигнуто путем использования значения NULL в качестве имени функции обратного вызова.

Пример #3 Создание массива массивов

$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
        )

)

См.также array_filter() и array_reduce().

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 $array2 [, array $... ] )

Функция array_merge_recursive() сливает элементы двух или большего количества массивов таким образом, что значения одного массива присоединяются к значениям предыдущего. Результатом работы функции является новый массив.

Если входные массивы имеют одинаковые строковые ключи, тогда значения, соответствующие этим ключам, рекурсивно сливаются в один массив, таким образом, если одно из значений является массивом, функция сливает его с соответствующим значением в другом массиве. Однако, если массивы имеют одинаковые числовые ключи, значение, упомянутое последним, не заменит исходное значение, а будет добавлено в конец массива.

Пример #1 Пример использования array_merge_recursive()

$ar1 = array ("color" => array ("favorite" => "red"), 5);
$ar2 = array (10, "color" => array ("favorite" => "green", "blue"));
$result = array_merge_recursive ($ar1, $ar2);

Переменная $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 $array2 [, array $... ] )

Функция array_merge() сливает элементы двух или большего количества массивов таким образом, что значения одного массива присоединяются к значениям предыдущего. Результатом работы функции является новый массив.

Если входные массивы имеют одинаковые строковые ключи, тогда каждое значение, найденное позднее, будет заменять ранее найденное значение. Однако, если массивы имеют одинаковые числовые ключи, значение, упомянутое последним, не заменит исходное значение, а будет добавлено в конец массива.

Пример #1 Пример использования array_merge()

$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
)

Пример #2 Пример простого использования array_merge()

$array1 = array();
$array2 = array(1 => "data");
$result = array_merge($array1, $array2);

Не забывайте, что числовые ключи будут перенумерованы!

Array
(
    [0] => data
)

Если вы хотите полностью сохранить массивы и просто слить их вместе, используйте оператор +:

$array1 = array();
$array2 = array(1 => "data");
$result = $array1 + $array2;

Числовой ключ будет сохранен, поэтому ассоциация также сохраняется.

Array
(
    [1] => data
)

Замечание: Общие ключи будут перезаписаны по принципу "первый пришел - первый обработан".

Внимание

Поведение функции array_merge() было изменено в PHP 5. В отличие от PHP 4, array_merge() принимает параметры только типа array. Однако вы можете использовать приведение типов. Смотрите следующий пример для уточнения подробностей.

Пример #3 Пример использования 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
)

См.также array_merge_recursive().

array_merge_recursive
array_multisort
Функции для работы с массивами


Сортировать несколько массивов или многомерные массивы

array_merge
array_pad
Функции для работы с массивами
PHP Manual

array_multisort

(PHP 4, PHP 5)

array_multisort — Сортировать несколько массивов или многомерные массивы

Описание

bool array_multisort ( array $ar1 [, mixed $arg [, mixed $... [, array $... ]]] )

Функция array_multisort() может быть использована для сортировки сразу нескольких массивов или одного многомерного массива в соответствии с одной или несколькими размерностями. Эта функция сохраняет соответствие между ключами и соответствующими им значениями.

Входные массивы рассматриваются как столбцы таблицы, которую нужно отсортировать по строкам - такой подход напоминает поведение выражения SQL ORDER BY. Первый массив имеет проиоритет в процессе сортировки.

Структура аргументов этой функции немного необычна, но удобна. Первым аргументом должен быть массив. Последующие аргументы могут быть как массивами, так и значениями, определяющими порядок сортировки, приведенными в нижеследующем списке.

Значения, определяющие порядок сортировки:

  • SORT_ASC - сортировать в возрастающем порядке
  • SORT_DESC - сортировать в убывающем порядке

Sorting type flags:

  • SORT_REGULAR - сравнивать элементы обычным образом
  • SORT_NUMERIC - сравнивать элементы, как если бы они были числами
  • SORT_STRING - сравнивать элементы, как если бы они были строками

Недопустимым является указание двух флагов сортировки одинакового типа после каждого массива. Флаги сортировки, переданные после аргумента ar1 , применяются только к этому аргументу - перед тем, как функция начнет обрабатывать следующий массив, эти флаги снова принимают значения по умолчаниюt SORT_ASC и SORT_REGULAR.

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Пример #1 Сортировка нескольких массивов

$ar1 = array ("10", 100, 100, "a");
$ar2 = array (1, 3, "2", 1);
array_multisort ($ar1, $ar2);

В вышеприведенном примере, после того, как будет осуществлена сортировка, первый массив будет содержать 10, "a", 100, 100. Второй - 1, 1, "2", 3. Элементы второго массива, соответствующие идентичным элементам первого (100 и 100), также будут отсортированы.

Пример #2 Сортировка многомерного массива

$ar = array (array ("10", 100, 100, "a"), array (1, 3, "2", 1));
array_multisort ($ar[0], SORT_ASC, SORT_STRING,
                 $ar[1], SORT_NUMERIC, SORT_DESC);

В вышеприведенном примере, после сортировки, первый массив будет содержать 10, 100, 100, "a" (его элементы были отсортированы в возрастающем порядке так, как если бы они были строками), а второй массив будет содержать 1, 3, "2", 1 (элементы отсортированы как числа, в порядке убывания).

array_merge
array_pad
Функции для работы с массивами


Увеличить размер массива до заданной величины

array_multisort
array_pop
Функции для работы с массивами
PHP Manual

array_pad

(PHP 4, PHP 5)

array_pad — Увеличить размер массива до заданной величины

Описание

array array_pad ( array $input , integer $pad_size , mixed $pad_value )

Функция array_pad() возвращает копию массива input , размер которого был увеличен до значения параметра pad_size элементами со значением pad_value . Если параметр pad_size является положительным числом, то массив увеличивается с конца, если отрицательный - сначала. Если абсолютное значение параметра pad_size меньше или равно размеру массива input , функция не производит никаких операций.

Пример #1 Пример использования array_pad()

$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_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.

Замечание: Эта функция сбрасывает указатель массива после использования.

Пример #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() возвращает произведение значений массива как целое число или число с плавающей точкой.

Пример #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 .

Возвращает новое количество элементов в массиве.

Пример #1 Пример использования array_push()

<?php

$stack = array("orange", "banana");

array_push($stack, "apple", "raspberry");

print_r($stack);

?>

В результате выполнения этого примера, $stack содержит следующие элементы:

Array

(

    [0] => orange

    [1] => banana

    [2] => apple

    [3] => raspberry

)

Замечание: Вместо использования array_push() для добавления в массив одного элемента, лучше использовать $array[] = , потому что в этом случае не происходит вызова функции.

См. также 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 ] )

Использование array_rand() предпочтительно, если вам нужно выбрать одно или несколько случайных значений из массива. Эта функция в качестве параметров берёт массив input и дополнительный аргумент num_req , который определяет количество значений, которое вы хотите выбрать - если не определён, то 1.

Если вы выбираете только одно значение, функция array_rand() возвращает ключ, соответствующий этому значению. В обратном случае, она возвращает массив ключей, соответствующих случайным значениям. Это означает, что вы можете выбрать из массива как случайные значения, так и случайные ключи.

Замечание: Начиная с PHP 4.2.0, больше нет необходимости инициализировать генератор случайных чисел функциями srand() или mt_srand(), поскольку теперь это происходит автоматически.

Пример #1 Пример использования array_rand()

<?php

srand((float) microtime() * 10000000);

$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
Функции для работы с массивами


Итеративно уменьшить массив к единственному значению, используя функцию обратного вызова

array_rand
array_reverse
Функции для работы с массивами
PHP Manual

array_reduce

(PHP 4 >= 4.0.5, PHP 5)

array_reduce — Итеративно уменьшить массив к единственному значению, используя функцию обратного вызова

Описание

mixed array_reduce ( array $input , callback $function [, int $initial ] )

array_reduce() итеративно применяет функцию function к элементам массива input и, таким образом, сводит массив к единственному значению. Если указан дополнительный параметр initial , он будет использован в начале процесса, или в качестве окончательного результата, если массив пуст.

Пример #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", 1);

?>

В результате переменная $b содержит 15, $c содержит 1200 (= 1*2*3*4*5*10), и $d содержит 1.

См. также array_filter(),

array_map(),

array_unique(), и

array_count_values().

array_rand
array_reverse
Функции для работы с массивами


Возвращает массив с элементами в обратном порядке

array_reduce
array_search
Функции для работы с массивами
PHP Manual

array_reverse

(PHP 4, PHP 5)

array_reverse — Возвращает массив с элементами в обратном порядке

Описание

array array_reverse ( array $array [, bool $preserve_keys ] )

Функция array_reverse() берёт массив array и возвращает новый массив, порядок элементов в котором обратный исходному, сохраняя ключи, если параметр preserve_keys равен TRUE.

Пример #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

)

Замечание: Второй аргумент был добавлен в PHP 4.0.3.

См. также array_flip().

array_reduce
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 ] )

Ищет в haystack значение needle и возвращает ключ, если таковое присутствует в массиве, FALSE в противном случае.

Замечание: Если needle является строкой, производится регистро-зависимое сравнение.

Замечание: До PHP 4.2.0, array_search() при неудаче возвращала NULL вместо FALSE.

Если вы передадите значение TRUE в качестве необязательного третьего параметра strict , функция array_search() также проверит тип needle в массиве haystack .

Если needle присутствует в haystack более одного раза, будет возвращён первый найденный ключ. Для того, чтобы возвратить ключи для всех найденных значений, используйте функцию array_keys() с необязательным параметром search_value .

Пример #1 Пример использования array_search()

<?php

$array = array(0 => 'blue', 1 => 'red', 2 => 0x000000, 3 => 'green', 4 => 'red');

$key = array_search('red', $array);         // $key = 1;

$key = array_search('green', $array);       // $key = 2; (0x000000 == 0 == 'green')

$key = array_search('green', $array, true); // $key = 3;

?>

Внимание

Эта функция может возвращать как логическое значение FALSE, так и не относящееся к логическому типу значение, которое приводится к FALSE, например, 0 или "". За более подробной информации обратитесь к разделу Булев тип. Используйте оператор === для проверки значения, возвращаемого этой функцией.

См. также 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.

Замечание: Эта функция сбрасывает указатель массива после использования.

Пример #1 Пример использования array_shift()

<?php

$stack = array("orange", "banana", "apple", "raspberry");

$fruit = array_shift($stack);

print_r($stack);

?>

В результате в массиве $stack останется 3 элемента:

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 ]] )

array_slice() возвращает последовательность элементов массива array , определённую параметрами offset и length .

Если параметр offset положителен, последовательность начнётся на расстоянии offset от начала array . Если offset отрицателен, последовательность начнётся на расстоянии offset от конца array .

Если в эту функцию передан положительный параметр length , последовательность будет включать length элементов. Если в эту функцию передан отрицательный параметр length , в последовательность войдут все элементы исходного массива, начиная с позиции offset и заканчивая позицией, отстоящей на length элементов от конца array . Если этот параметр будет опущен, в последовательность войдут все элементы исходного массива array , начиная с позиции offset .

Обратите внимание, что array_slice() сбрасывает ключи массива. Начиная с PHP 5.0.2 вы можете переопределить это поведение, установив параметр preserve_keys в TRUE.

Пример #1 Пример использования array_slice()

<?php

$input = array("a", "b", "c", "d", "e");

$output = array_slice($input, 2);      // returns "c", "d", and "e"

$output = array_slice($input, -2, 1);  // returns "d"

$output = array_slice($input, 0, 3);   // returns "a", "b", and "c"

// note the differences in the array keys

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 [, array $ replacement ]] )

array_splice() удаляет length элементов, расположенных на растоянии offset от начала массива input , и заменяет их элементами массива replacement , если он передан в качестве параметра. Возвращает массив выбранных элементов.

Если параметр offset положителен, будут удалены элементы, находящиеся на расстоянии offset от начала array . Если offset отрицателен, будут удалены элементы, находящиеся на расстоянии offset от конца array .

Если параметр length опущен, будут удалены все элементы начиная с позиции offset и до конца массива. Если передан положительный параметр length , будет удалено length элементов. Если передан отрицательный параметр length , будут удалены элементы исходного массива, начиная с позиции offset и заканчивая позицией, отстоящей на length элементов от конца array . Совет: для того, чтобы удалить все элементы массива, начиная с позиции offset в то время как указан параметр replacement , используйте count($input) в качестве параметра length .

Если передан массив replacement в качестве аргумента, тогда удалённые элементы будут заменены элементами этого массива. Если параметры offset и length таковы, что из исходного массива не будет ничего удалено, тогда элементы массива replacement будут вставлены на позицию offset . Обратите внимание, что ключи массива replacement не сохраняются. Совет: если вам нужно вставить один элемент в массив, нет необходимости заключать его в вызов функции array(), если только этот элемент не является массивом.

Последующие выражения произведут одинаковые изменения в массиве $input:

Эквиваленты array_splice()
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 // в случае, если key равен offset | array_splice($input, $x, 1, $y)

Возвращает массив, содержащий удалённые элементы.

Пример #1 Примеры использования array_splice()

<?php
$input = array("red", "green", "blue", "yellow");
array_splice($input, 2);
// $input is now array("red", "green")

$input = array("red", "green", "blue", "yellow");
array_splice($input, 1, -1);
// $input is now array("red", "yellow")

$input = array("red", "green", "blue", "yellow");
array_splice($input, 1, count($input), "orange");
// $input is now array("red", "orange")

$input = array("red", "green", "blue", "yellow");
array_splice($input, -1, 1, array("black", "maroon"));
// $input is now array("red", "green",
//          "blue", "black", "maroon")

$input = array("red", "green", "blue", "yellow");
array_splice($input, 3, 0, "purple");
// $input is now array("red", "green",
//          "blue", "purple", "yellow");
?>

См. также 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() возвращает сумму значений массива. Полученный результат будет иметь тип integer или float.

Пример #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

Замечание: PHP более ранних, чем 4.2.1, версий модифицировал переданный в качестве аргумента массив и конвертировал строки в числа (что в большинстве случаев означало конвертирование в 0).

array_splice
array_udiff_assoc
Функции для работы с массивами


Вычислить расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений функцию обратного вызова

array_sum
array_udiff_uassoc
Функции для работы с массивами
PHP Manual

array_udiff_assoc

(PHP 5)

array_udiff_assoc — Вычислить расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений функцию обратного вызова

Описание

array array_udiff_assoc ( array $array1 , array $array2 [, array $ ... ], callback $data_compare_func )

array_udiff_assoc() возвращает array содержащий все значения параметра array1 , отсутствующие в последующих аргументах. Обратите внимание, что для сравнения используются ключи, в отличие от функций array_diff() и array_udiff(). Для сравнения значений массивов используется определённая пользователем функция обратного вызова. В этом смысле поведение array_udiff_assoc() отличается от поведения array_diff_assoc(), которая использует встроенную функцию для сравнения значений.

Пример #1 Пример использования array_udiff_assoc()

<?php
class cr {
    private $priv_member;
    function cr($val)
    {
        $this->priv_member = $val;
    }

    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_udiff_assoc($array1[0], $array2[0], "some_comparison_func");.

См. также
array_diff(),
array_diff_assoc(),
array_diff_uassoc(),
array_udiff(),
array_udiff_uassoc(),
array_intersect(),
array_intersect_assoc(),
array_uintersect(),
array_uintersect_assoc() и
array_uintersect_uassoc().

array_sum
array_udiff_uassoc
Функции для работы с массивами


Вычислить расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений и индексов функцию обратного вызова

array_udiff_assoc
array_udiff
Функции для работы с массивами
PHP Manual

array_udiff_uassoc

(PHP 5)

array_udiff_uassoc — Вычислить расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений и индексов функцию обратного вызова

Описание

array array_udiff_uassoc ( array $array1 , array $array2 [, array $ ... ], callback $data_compare_func , callback $key_compare_func )

array_udiff_uassoc() возвращает array, все значения параметра array1 , отсутствующие в последующих аргументах. Обратите внимание, что для сравнения используются ключи, в отличие от array_diff() и array_udiff(). Сравнение значений массива происходит при помощи определённой пользователем функции обратного вызова: data_compare_func . В этом смысле поведение отличается от поведения array_diff_assoc(), использующей для сравнения внутреннюю функцию. Сравнение ключей (индексов) происходит также при помощи определённой пользователем функции обратного вызова key_compare_func . Это поведение отлично от поведения array_udiff_assoc(), которая использует для сравнения ключей встроенную функцию.

Пример #1 Пример использованияarray_udiff_uassoc()

<?php
class cr {
    private $priv_member;
    function cr($val)
    {
        $this->priv_member = $val;
    }

    function comp_func_cr($a, $b)
    {
        if ($a->priv_member === $b->priv_member) return 0;
        return ($a->priv_member > $b->priv_member)? 1:-1;
    }

    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_diff_uassoc(),
array_udiff(),
array_udiff_assoc(),
array_intersect(),
array_intersect_assoc(),
array_uintersect(),
array_uintersect_assoc() и
array_uintersect_uassoc().

array_udiff_assoc
array_udiff
Функции для работы с массивами


Вычислить расхождение массивов, используя для сравнения функцию обратного вызова

array_udiff_uassoc
array_uintersect_assoc
Функции для работы с массивами
PHP Manual

array_udiff

(PHP 5)

array_udiff — Вычислить расхождение массивов, используя для сравнения функцию обратного вызова

Описание

array array_udiff ( array $array1 , array $array2 [, array $ ... ], callback $data_compare_func )

array_udiff() возвращает массив, содержащий все значения параметра array1 , отсутствующие в последующих аргументах. Обратите внимание, что ключи сохраняются. Для сравнения значений используется функция data_compare_func . Она должна возвращать целое число меньшее, равное или большее нуля, если первый параметр, соответственно, должен считаться меньше, равен или больше второго. Обратите внимание на отличие от array_diff(), которая использует встроенную функцию для сравнения значений массивов.

Пример #1 Пример использования array_udiff()

<?php
class cr {
    private $priv_member;
    function cr($val)
    {
        $this->priv_member = $val;
    }

    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(),
array_udiff_assoc(),
array_udiff_uassoc(),
array_intersect(),
array_intersect_assoc(),
array_uintersect(),
array_uintersect_assoc() и
array_uintersect_uassoc().

array_udiff_uassoc
array_uintersect_assoc
Функции для работы с массивами


Вычислить пересечение массивов с дополнительной проверкой индексов, используя для сравнения значений функцию обратного вызова

array_udiff
array_uintersect_uassoc
Функции для работы с массивами
PHP Manual

array_uintersect_assoc

(PHP 5)

array_uintersect_assoc — Вычислить пересечение массивов с дополнительной проверкой индексов, используя для сравнения значений функцию обратного вызова

Описание

array array_uintersect_assoc ( array $array1 , array $array2 [, array $ ... ], callback $data_compare_func )

array_uintersect_assoc() возвращает массив, содержащий все значения array1 присутствующие во всех последующих аргументах. Обратите внимание, что при сравнении используются ключи в отличие от array_uintersect(). Значения сравниваются при помощи функции обратного вызова.

Пример #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(),
array_intersect_assoc(),
array_intersect_uassoc() и
array_uintersect_uassoc().

array_udiff
array_uintersect_uassoc
Функции для работы с массивами


Вычислить пересечение массивов с дополнительной проверкой индекса, используя для сравнения индексов и значений функцию обратного вызова

array_uintersect_assoc
array_uintersect
Функции для работы с массивами
PHP Manual

array_uintersect_uassoc

(PHP 5)

array_uintersect_uassoc — Вычислить пересечение массивов с дополнительной проверкой индекса, используя для сравнения индексов и значений функцию обратного вызова

Описание

array array_uintersect_uassoc ( array $array1 , array $array2 [, array $ ... ], callback $data_compare_func , callback $key_compare_func )

array_uintersect_uassoc() возвращает массив, содержащий все значения параметра array1 , содержащиеся во всех последующих аргументах. Обратите внимание, что в отличие от array_uintersect() в сравнении используются и ключи. Для сравнения и ключей, и значений используется функция обратного вызова.

Пример #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(),
array_intersect_assoc(),
array_intersect_uassoc() и
array_uintersect_assoc().

array_uintersect_assoc
array_uintersect
Функции для работы с массивами


Вычислить пересечение массивов, используя для сравнения значений функцию обратного вызова

array_uintersect_uassoc
array_unique
Функции для работы с массивами
PHP Manual

array_uintersect

(PHP 5)

array_uintersect — Вычислить пересечение массивов, используя для сравнения значений функцию обратного вызова

Описание

array array_uintersect ( array $array1 , array $array2 [, array $ ... ], callback $data_compare_func )

array_uintersect() возвращает массив, содержащий все значения параметра 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_uintersect_assoc(),
array_intersect_uassoc() и
array_uintersect_uassoc().

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 )

array_unique() берёт в качестве параметра array и возвращает новый массив без повторяющихся значений.

Обратите внимание, что ключи сохранятся. array_unique() сначала сортирует значения как строки, сохраняет первый встреченный ключ для каждого значения и игнорирует все последующие ключи. Это не означает, что первый ключ каждого значения неотсортированного array будет сохранён.

Замечание: Два элемента считаются одинаковыми в том и только в том случае, если (string) $elem1 === (string) $elem2. Другими словами: если у них одинаковое строковое представление. Будет использован первый элемент.

Пример #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_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 .

Пример #1 Пример использования array_unshift()

<?php

$queue = array("orange", "banana");

array_unshift($queue, "apple", "raspberry");

?>

В результате массив $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() возвращает индексный массив, содержащий все значения массива 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 . Эта функция обрабатывает каждый элемент многомерного массива. Обычно у функции funcname два параметра. Значение массива array в качестве первого параметра, и ключ/индекс в качестве второго. Если указан дополнительный параметр userdata , он будет передан в качестве третьего параметра в функцию обратного вызова funcname .

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Замечание: Если требуется, чтобы функция funcname изменила значения в массиве, определите первый параметр funcname как ссылку. Тогда все изменения будут применены к элементам массива.

Пример #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().

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 ] )

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Применяет пользовательскую функцию funcname к каждому элементу массива array . Обычно у функции funcname два параметра. Значение массива array в качестве первого параметра, и ключ/индекс в качестве второго. Если указан дополнительный параметр userdata , он будет передан в качестве третьего параметра в функцию обратного вызова funcname .

Если в функцию funcname должно быть передано больше параметров, чем передано на самом деле, ошибка уровня E_WARNING будет генерироваться каждый раз как array_walk() будет вызывать funcname . Эти предупреждения могут быть подавлены добавлением оператора управления ошибками PHP @ в вызов array_walk(), или использованием error_reporting().

Замечание: Если требуется, чтобы функция funcname изменила значения в массиве, определите первый параметр funcname как ссылку. Тогда все изменения будут применены к элементам массива.

Замечание: Передача в funcname параметров key и userdata была добавлена в версии 4.0.0

array_walk() не изменяет внутренний указатель массива array . array_walk() обойдёт все элементы массива независимо от позиции указателя. Для того чтобы сбросить указатель, используйте функцию reset(). В PHP 3 array_walk() сбрасывает указатель.

Вы не сможете изменить непосредственно массив при помощи функции обратного вызова, то есть добавить и удалить элементы, уничтожить значения элементов и т.д. Если массив, к которому применяется array_walk(), изменится, то поведение этой функции станет неопределённым и непредсказуемым.

Пример #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 "Before ...:\n";

array_walk($fruits, 'test_print');

array_walk($fruits, 'test_alter', 'fruit');

echo "... and after:\n";

array_walk($fruits, 'test_print');

?>

Вывод вышеприведённой программы:

Before ...:

d. lemon

a. orange

b. banana

c. apple

... and after:

d. fruit: lemon

a. fruit: orange

b. fruit: banana

c. fruit: apple

См. также array_walk_recursive(),

create_function(),

list(),

foreach,

each(),

call_user_func_array() и

array_map().

array_walk_recursive
array
Функции для работы с массивами


Создать массив

array_walk
arsort
Функции для работы с массивами
PHP Manual

array

(PHP 4, PHP 5)

array — Создать массив

Описание

array array ([ mixed $... ] )

Возвратить массив параметров. Параметры могут быть заданы с индексом при помощи оператора =>. См. раздел руководства array type для ознакомления с понятием массив.

Замечание: array() - это языковая конструкция для представления массивов, а не функция.

Синтакс "index => values", разделённые запятыми, определяет индексы и их значения. Индекс может быть строкой или целым числом. Если индекс опущен, будет автоматически сгенерирован числовой индекс, начиная с 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_pad(),

list(),

count(),

foreach и

range().

array_walk
arsort
Функции для работы с массивами


Отсортировать массив в обратном порядке, сохраняя ключи

array
asort
Функции для работы с массивами
PHP Manual

arsort

(PHP 4, PHP 5)

arsort — Отсортировать массив в обратном порядке, сохраняя ключи

Описание

bool arsort ( array &$array [, int $sort_flags ] )

Эта функция сортирует массив в обратном порядке таким образом, что сохраняются отношения между ключами и значениями. Она полезна, в основном, при сортировке ассаоциативных массивов, когда важно сохранить отношение ключ => значение.

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Пример #1 Пример использования arsort()

<?php

$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");

arsort($fruits);

reset($fruits);

while (list($key, $val) = each($fruits)) {

    echo "$key = $val\n";

}

?>

Результат выполнения данного примера:

a = orange

d = lemon

b = banana

c = apple

Названия фруктов были отсортированы в обратном порядке и отношения ключ/значение были сохранены.

Вы можете изменить поведение сортировки, используя дополнительный параметр sort_flags , подробнее см. sort().

См. также asort(), rsort(), ksort() и sort().

array
asort
Функции для работы с массивами


Отсортировать массив, сохраняя ключи

arsort
compact
Функции для работы с массивами
PHP Manual

asort

(PHP 4, PHP 5)

asort — Отсортировать массив, сохраняя ключи

Описание

bool asort ( array &$array [, int $sort_flags ] )

Эта функция сортирует массив таким образом, что сохраняются отношения между ключами и значениями. Она полезна, в основном, при сортировке ассоциативных массивов, когда важно сохранить отношение ключ => значение.

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Пример #1 Пример использования asort()

<?php

$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");

asort($fruits);

reset($fruits);

while (list($key, $val) = each($fruits)) {

    echo "$key = $val\n";

}

?>

Результат выполнения данного примера:

c = apple

b = banana

d = lemon

a = orange

Названия фруктов были отсортированы и отношения ключ/значение были сохранены.

Вы можете изменить поведение сортировки, используя дополнительный параметр sort_flags , подробнее см. sort().

См. также arsort(), rsort(), ksort() и sort().

arsort
compact
Функции для работы с массивами


Создать массив, содержащий названия переменных и их значения

asort
count
Функции для работы с массивами
PHP Manual

compact

(PHP 4, PHP 5)

compact — Создать массив, содержащий названия переменных и их значения

Описание

array compact ( mixed $varname [, mixed $... ] )

compact() принимает переменное число параметров. Любой из параметров может быть либо строкой, содержащей название переменной либо массивом названий переменных. Массив может содержать вложенные массивы названий переменных; функция compact() обрабатывает их рекурсивно.

Для каждого из параметров, compact() смотрит, существует ли переменная с таким именем в текущей символьной таблице и добавляет в результирующий массив элемент, ключ которого содержит название переменной, а значение, соответствующее этому ключу, значение переменной. Коротко говоря, действия этой функции противоположны действиям функции extract(). Она возвращает результирующий массив со всеми переменными, добавленными туда.

Если переменной, с именем, соответствующем переданной строке не существует, такая строка будет просто проигнорирована.

Пример #1 Пример использования compact()

<?php

$city  = "San Francisco";

$state = "CA";

$event = "SIGGRAPH";

$location_vars = array("city", "state");

$result = compact("event", "nothing_here", $location_vars);

?>

После этого значение $result будет:

Array

(

    [event] => SIGGRAPH

    [city] => San Francisco

    [state] => CA

)

См. также extract().

asort
count
Функции для работы с массивами


Посчитать количество элементов массива или количество свойств объекта

compact
current
Функции для работы с массивами
PHP Manual

count

(PHP 4, PHP 5)

count — Посчитать количество элементов массива или количество свойств объекта

Описание

int count ( mixed $var [, int $mode ] )

Возвратить количество элементов переменной var , которая обычно является array, или любым другим объектом, который может содержать хотя бы один элемент.

Для объектов count() возвращает количество нестатических свойств, не принимая во внимание видимость. Если у вас включена поддержка SPL, вы можете перехватить count(), реализуя интерфейс Countable. Этот интерфейс имеет только один метод, count(), который возвращает значение функции count().

Если var не является массивом или объектом, реализующим интерфейс Countable, будет возвращена 1. За одним исключением: если var - NULL, то будет возвращён 0.

Замечание: Дополнительный параметр mode был добавлен начиная с PHP 4.2.0.

Если дополнительный параметр mode установлен в COUNT_RECURSIVE (или 1), count() будет считать количество элементов массива рекурсивно. Это особенно полезно для подсчёта всех элементов многомерных массивов. Предустановленное значение параметра mode - 0. count() не обнаруживает бесконечную рекурсию.

Предостережение

count() может возвратить 0 для переменных, которые не установлены, но также может возвратить 0 для переменных, которые инициализированы пустым массивом. Используйте функцию isset() для того, чтобы протестировать, установлена ли переменная.

Пожалуйста, см. раздел этого руководства Array для того, чтобы получить детальное представление о реализации и использовании массивов в PHP.

Пример #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 >= 4.2.0)

<?php
$food = array('fruits' => array('orange', 'banana', 'apple'),
              'veggie' => array('carrot', 'collard', 'pea'));

// рекурсивный count
echo count($food, COUNT_RECURSIVE);  // output 8

// обычный count
echo count($food);                  // output 2

?>

См. также is_array(),
isset() и
strlen().

compact
current
Функции для работы с массивами


Возвратить текущий элемент массива

count
each
Функции для работы с массивами
PHP Manual

current

(PHP 4, PHP 5)

current — Возвратить текущий элемент массива

Описание

mixed current ( array &$array )

У каждого массива имеется внутренний указатель на его "текущий" элемент, который инициализирован первым элементом, добавленным в массив.

Функция current() просто возвращает значение элемента массива, на который указывает его внутренний указатель. Она не перемещает указатель куда бы то ни было. Если внутренний указатель за пределами списка элементов, current() возвращает FALSE.

Внимание

Если массив содержит пустые элементы (0 или "", пустая строка), эта функция возвратит FALSE для этих элементов. Это делает невозможным установить в действительности ли достигнут конец списка элементов массива при помощи функции current(). Для того, чтобы правильно просматривать массивы, содержащие пустые элементы, используйте функцию each().

Пример #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';

?>

См. также end(), key(),

next(), prev() и

reset().

count
each
Функции для работы с массивами


Возвратить текущую пару ключ/значение из массива и сместить его указатель

current
end
Функции для работы с массивами
PHP Manual

each

(PHP 4, PHP 5)

each — Возвратить текущую пару ключ/значение из массива и сместить его указатель

Описание

array each ( array &$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

";

}

?>

Результат выполнения данного примера:

a => apple

b => banana

c => cranberry

После выполнения each(), указатель массива перемещается к следующему его элементу, пока не будет достигнут конец массива. Вы можете использовать функцию reset() для повторного обхода массива при помощи each.

Предостережение

Посколько добавление элемента в массив сбрасывает указатель, вышеприведённый пример может привести бесконечному циклу, если мы будем присваивать $fruit другие значения внутри цикла.

См. также 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 на последний элемент и возвращает его значение.

Пример #1 Простой пример использования end()

<?php

$fruits = array('apple', 'banana', 'cranberry');

echo end($fruits); // cranberry

?>

См. также current(),

each(),

prev(),

next() и

reset().

each
extract
Функции для работы с массивами


Импортировать переменные из массива в текущую символьную таблицу.

end
in_array
Функции для работы с массивами
PHP Manual

extract

(PHP 4, PHP 5)

extract — Импортировать переменные из массива в текущую символьную таблицу.

Описание

int extract ( array $var_array [, int $extract_type [, string $prefix ]] )

Эта функция используется для импорта переменных из массива в текущую символьную таблицу. Она берёт ассоциативный массив в качестве параметра var_array и трактует его ключи как имена переменных и значения как значения переменных. Для каждой пары ключ/значение будет создана переменная в текущей символьной таблице, согласно параметрам extract_type и prefix .

Замечание: Начиная с версии 4.0.5, эта функция возвращает количество извлечённых переменных.

Замечание: EXTR_IF_EXISTS и EXTR_PREFIX_IF_EXISTS были добавлены в версии 4.2.0.

Замечание: EXTR_REFS был добавлен в версии 4.3.0.

extract() проверяет каждый ключ на соответствие приемлемости в качестве имени переменной. Эта функция также обрабатывает коллизии имён, если ключ совпадает с именем переменной, уже существующей в текущей символьной таблице. Способ обработки неприемлемых/числовых ключей и коллизий имён устанавливает параметр extract_type . Он может принимать одно из следующих значений:

EXTR_OVERWRITE
Если переменная с таким именем существует, она будет переназначена.
EXTR_SKIP
Если переменная с таким именем существует, будет сохранено её прежнее значение.
EXTR_PREFIX_SAME
Если переменная с таким именем существует, к её имени будет добавлен префикс, определённый параметром prefix .
EXTR_PREFIX_ALL
Добавить префикс prefix ко всем именам переменных. Начиная с PHP 4.0.5, также включает числовые имена.
EXTR_PREFIX_INVALID
Добавить префикс prefix только к неприемлемым/числовым именам переменных. Этот флаг был добавлен в PHP 4.0.5.
EXTR_IF_EXISTS
Переназначить только переменные, уже имеющиеся в текущей символьной таблице, в противном случае ничего не делать. Данная возможность полезна для определения списка приемлемых переменных и для извлечения только тех переменных, которые вы уже определили из массивов типа $_REQUEST, например. Этот флаг был добавлен в PHP 4.2.0.
EXTR_PREFIX_IF_EXISTS
Создать переменные, имена которых начинаются с prefix только если переменная с названием, которому не предшествует prefix , определена в текущей символьной таблице. Этот флаг был добавлен в PHP 4.2.0.
EXTR_REFS
Извлечь переменные как ссылки. Это означает, что значения таких переменных будут всё ещё ссылаться на значения массива var_array . Вы можете использовать этот флаг отдельно или комбинировать его с другими, используя OR. Этот флаг был добавлен в PHP 4.3.0.

Если extract_type не определён, он трактуется как EXTR_OVERWRITE.

Обратите внимание, что prefix имеет значение, только если extract_type установлен в EXTR_PREFIX_SAME, EXTR_PREFIX_ALL, EXTR_PREFIX_INVALID или EXTR_PREFIX_IF_EXISTS. Если в результате добавления префикса, не будет получено допустимое имя для переменной, она не будет импортирована в текущую символьную таблицу.

extract() возвращает количество переменных, успешно импортированных в символьную таблицу.

Внимание

Не используйте функцию extract() для непроверенных данных, таких как пользовательский ввод ($_GET, ...). Если вы сделаете это, например, для того, что бы временно запустить старый код, использующий register_globals, используйте соответствующий флаг extract_type для того, что бы не переназначить уже установленные переменные, такой как EXTR_SKIP и удостоверьтесь, что вы извлекаете содержимое массивов $_SERVER, $_SESSION, $_COOKIE, $_POST и $_GET в этом порядке.

Функцию extract() также можно использовать для импорта в текущую символьную таблицу переменных, содержащихся в ассоциативном массиве, возвращённом функцией wddx_deserialize().

Пример #1 Пример использования extract()

<?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

";

?>

Результат выполнения данного примера:

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.

Вы должны использовать ассоциативный массив, использование числовых массивов не приведёт ни к каким результатам, если вы не использууете EXTR_PREFIX_ALL и EXTR_PREFIX_INVALID.

См. также 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 ] )

Ищет в haystack значение needle и возвращает TRUE в случае удачи, FALSE в противном случае.

Если третий параметр strict установлен в TRUE тогда функция in_array() также проверит соответствие types параметра needle и соответствующего значения массива haystack .

Замечание: Если needle - строка, сравнение будет регистрозависмым.

Замечание: В PHP версий, более ранних, чем 4.2.0 параметр needle не может быть массивом.

Пример #1 Пример использования in_array()

<?php

$os = array("Mac", "NT", "Irix", "Linux");

if (in_array("Irix", $os)) {

    echo "Got Irix";

}

if (in_array("mac", $os)) {

    echo "Got mac";

}

?>

Второго совпадения не будет, потому что in_array() регистрозависима, таким образом, программа выведет:

Got Irix

Пример #2 Пример использования in_array() с параметром strict

<?php

$a = array('1.10', 12.4, 1.13);

if (in_array('12.4', $a, true)) {

    echo "'12.4' found with strict check

";

}

if (in_array(1.13, $a, true)) {

    echo "1.13 found with strict check

";

}

?>

Результат выполнения данного примера:

1.13 found with strict check

Пример #3 Пример использования in_array() с массивом в качестве параметра needle

<?php

$a = array(array('p', 'h'), array('p', 'r'), 'o');

if (in_array(array('p', 'h'), $a)) {

    echo "'ph' найдено

";

}

if (in_array(array('f', 'i'), $a)) {

    echo "'fi' найдено

";

}

if (in_array('o', $a)) {

    echo "'o' найдено

";

}

?>

Результат выполнения данного примера:

  'ph' найдено

  'o' найдено

См. также array_search(),

array_key_exists() и

isset().

extract
key
Функции для работы с массивами


Выбрать ключ из ассоциативного массива

in_array
krsort
Функции для работы с массивами
PHP Manual

key

(PHP 4, PHP 5)

key — Выбрать ключ из ассоциативного массива

Описание

mixed key ( array &$array )

key() возвращает индекс текущего элемента массива.

Пример #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);

}

?>

См. также current() и next().

in_array
krsort
Функции для работы с массивами


Отсортировать массив по ключам в обратном порядке

key
ksort
Функции для работы с массивами
PHP Manual

krsort

(PHP 4, PHP 5)

krsort — Отсортировать массив по ключам в обратном порядке

Описание

bool krsort ( array &$array [, int $sort_flags ] )

Сортирует массив по ключам в обратном порядке, сохраняя отношения между ключами и значениями. Функция полезна, в основном, для работы с ассоциативными массивами.

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Пример #1 Пример использования krsort()

<?php

$fruits = array("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");

krsort($fruits);

reset($fruits);

while (list($key, $val) = each($fruits)) {

    echo "$key = $val

";

}

?>

Результат выполнения данного примера:

d = lemon

c = apple

b = banana

a = orange

Вы можете изменить поведение сортировки, используя дополнительный параметр sort_flags , подробнее см. sort().

См. также asort(), arsort(),

ksort(), sort(),

natsort() и rsort().

key
ksort
Функции для работы с массивами


Отсортировать массив по ключам

krsort
list
Функции для работы с массивами
PHP Manual

ksort

(PHP 4, PHP 5)

ksort — Отсортировать массив по ключам

Описание

bool ksort ( array &$array [, int $sort_flags ] )

Сортирует массив по ключам, сохраняя отношения между ключами и значениями. Функция полезна, в основном, для работы с ассоциативными массивами.

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Пример #1 Пример использования ksort()

<?php

$fruits = array("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");

ksort($fruits);

reset($fruits);

while (list($key, $val) = each($fruits)) {

    echo "$key = $val

";

}

?>

Результат выполнения данного примера:

a = orange

b = banana

c = apple

d = lemon

Вы можете изменить поведение сортировки, используя дополнительный параметр sort_flags , подробнее см. sort().

См. также asort(), arsort(),

krsort(), uksort(),

sort(), natsort() и

rsort().

Замечание: Второй параметр был добавлен в PHP 4.

krsort
list
Функции для работы с массивами


Присвоить переменным из списка значения подобно массиву

ksort
natcasesort
Функции для работы с массивами
PHP Manual

list

(PHP 4, PHP 5)

list — Присвоить переменным из списка значения подобно массиву

Описание

void list ( mixed $varname , mixed $... )

Подобно array(), это не функция, а языковая конструкция. list() используется для того, чтобы присвоить списку переменных значения за одну операцию.

Замечание: list() работает только с массивами, индексами которых являются числа и нумерация которых начинается с 0.

Пример #1 Примеры использования list()

<?php

$info = array('coffee', 'brown', 'caffeine');

// Составить список всех переменных

list($drink, $color, $power) = $info;

echo "$drink is $color and $power makes it special.

";

// Составить список только некоторых из них

list($drink, , $power) = $info;

echo "$drink has $power.

";

// Или только третья

list( , , $power) = $info;

echo "I need $power!

";

?>

Пример #2 Пример использования list()

<table>

 <tr>

  <th>Employee name</th>

  <th>Salary</th>

 </tr>

<?php

$result = mysql_query("SELECT id, name, salary FROM employees", $conn);

while (list($id, $name, $salary) = mysql_fetch_row($result)) {

    echo " <tr>

" .

          "  <td><a href=\"info.php?id=$id\">$name</a></td>

" .

          "  <td>$salary</td>

" .

          " </tr>

";

}

?>

</table>

Внимание

list() присваивает значения начиная с крайнего правого параметра. Если вы используете простые переменные, можете не беспокоиться об этом. Но если вы используете индексные массивы, вы можете ожидать, что в результате выполнения функции list() вы получите тот же порядок элементов, что и в исходном массиве: слева направо; однако это не так. Они будут присвоены в обратном порядке.

Пример #3 Использование list() с индексами массивов

<?php

$info = array('coffee', 'brown', 'caffeine');

list($a[0], $a[1], $a[2]) = $info;

var_dump($a);

?>

Выведет (сравните порядок исходных элементов с порядком, в в котором они были перезаписаны функцией list()):

array(3) {

  [2]=>

  string(8) "caffeine"

  [1]=>

  string(5) "brown"

  [0]=>

  string(6) "coffee"

}

См. также each(), array() и extract().

ksort
natcasesort
Функции для работы с массивами


Отсортировать массив, используя алгоритм "natural order" не принимая во внимание регистр символов

list
natsort
Функции для работы с массивами
PHP Manual

natcasesort

(PHP 4, PHP 5)

natcasesort — Отсортировать массив, используя алгоритм "natural order" не принимая во внимание регистр символов

Описание

void natcasesort ( array &$array )

Эта функция реализует алгоритм сортировки, при котором порядок буквенно-цифровых строк будет привычным для человека. Такой алгоритм называется "natural ordering".

natcasesort() - это регистронезависимый аналог natsort().

Пример #1 Пример использования natcasesort()

<?php

$array1 = $array2 = array('IMG0.png', 'img12.png', 'img10.png', 'img2.png', 'img1.png', 'IMG3.png');

sort($array1);

echo "Обычная сортировка

";

print_r($array1);

natcasesort($array2);

echo "

Natural order сортировка (регистронезависимая)

";

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's » Natural Order String Comparison.

См. также sort(),

natsort(),

strnatcmp() и

strnatcasecmp().

list
natsort
Функции для работы с массивами


Отсортировать массив, используя алгоритм "natural order"

natcasesort
next
Функции для работы с массивами
PHP Manual

natsort

(PHP 4, PHP 5)

natsort — Отсортировать массив, используя алгоритм "natural order"

Описание

void natsort ( array &$array )

Эта функция реализует алгоритм сортировки, при котором порядок буквенно-цифровых строк будет привычным для человека. Такой алгоритм называется "natural ordering". Отличие алгоритма "natural ordering" от обычных алгоритмов сортировки, применяемых, например, функцией sort() показывает нижеприведённый пример:

Пример #1 Пример использования natsort()

<?php

$array1 = $array2 = array("img12.png", "img10.png", "img2.png", "img1.png");

sort($array1);

echo "Обычная сортировка

";

print_r($array1);

natsort($array2);

echo "

Natural order сортировка

";

print_r($array2);

?>

Результат выполнения данного примера:

Обычная сортировка

Array

(

    [0] => img1.png

    [1] => img10.png

    [2] => img12.png

    [3] => img2.png

)

Natural order сортировка

Array

(

    [3] => img1.png

    [2] => img2.png

    [1] => img10.png

    [0] => img12.png

)

Подробнее см. Martin Pool's » Natural Order String Comparison.

См. также natcasesort(),

strnatcmp() и

strnatcasecmp().

natcasesort
next
Функции для работы с массивами


Передвинуть внутренний указатель массива на одну позицию вперёд

natsort
pos
Функции для работы с массивами
PHP Manual

next

(PHP 4, PHP 5)

next — Передвинуть внутренний указатель массива на одну позицию вперёд

Описание

mixed next ( array &$array )

Возвращает значение элемента массива, находящегося на позиции, следующей за позицией, в которой находится его внутренний указатель или FALSE, если достигнут конец массива.

next() ведёт себя подобно current(), но с одним отличием. Перед тем, как возвратить значение элемента массива, эта функция передвигает его внутренний указатель на одну позицию вперёд. Другими словами, она возвращает следующий элемент массива и сдвигает его внутренний указатель на одну позицию. Если при продвижении внутренний указатель массива выйдет за предел списка элементов, next() возвратит FALSE.

Внимание

Если массив содержит пустые или равные 0 элементы, функция возвратит FALSE для этих элементов. Для того, чтобы правильно просматривать массивы, содержащие пустые элементы, используйте функцию each().

Пример #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';
?>

См. также current(), end(), prev() и reset().

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 )

Возвращает значение элемента массива, находящегося на позиции, предыдущей по отношению к позиции, в которой находится его внутренний указатель или FALSE, если достигнут конец массива.

Внимание

Если массив содержит пустые или равные 0 элементы, функция возвратит FALSE для этих элементов. Для того, чтобы правильно просматривать массивы, содержащие пустые элементы, используйте функцию each().

prev() ведёт себя подобно next(), за исключением того, что она передвигает внутренний указатель массива на одну позицию назад, а не вперёд.

Пример #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';
?>

См. также current(), end(), next() и reset().

pos
range
Функции для работы с массивами


Создать массив, содержащий диапазон элементов

prev
reset
Функции для работы с массивами
PHP Manual

range

(PHP 4, PHP 5)

range — Создать массив, содержащий диапазон элементов

Описание

array range ( number $low , number $high [, number $step ] )

range() возвращает массив элементов с low по high , включительно. Если low > high, последовательность будет убывающей.

Замечание: New parameter
Дополнительный параметр step был добавлен в PHP 5.0.0.

Если указан параметр step , он будет использоваться как инкремент между элементами последовательности. step должен быть положительным числом. Если step не указан, он принимает значение по умолчанию 1.

Пример #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;
}
?>

Замечание: До появления PHP 4.1.0, range() создавала только массивы, содержащие диапазон чисел в порядке возрастания. Поддержка последовательностей знаков и создания диапазона в порядке убывания была добавлена в версии 4.1.0. Диапазон знаков можно задать только при помощи строки из одного знака. Если длина такой строки будет более одного знака, будет использован первый знак.

Предостережение

В PHP версий с 4.1.0 по 4.3.2, range() рассматривал числовые строки именно как строки, а не числа. Вместо них использовалась последовательность знаков. Например, "4242" трактовалось "4".

См. также shuffle(), array_fill() и foreach.

prev
reset
Функции для работы с массивами


Установить внутренний указатель массива на его первый элемент

range
rsort
Функции для работы с массивами
PHP Manual

reset

(PHP 4, PHP 5)

reset — Установить внутренний указатель массива на его первый элемент

Описание

mixed reset ( array &$array )

reset() перемещает внутренний указатель array к его первому элементу и возвращает значение первого элемента массива или FALSE если массив пуст.

Пример #1 Пример использования reset()

<?php

$array = array('step one', 'step two', 'step three', 'step four');

// первоначально указатель указывает на первый элемент

echo current($array) . "<br />

"; // "шаг один"

// пропускаем два шага

next($array);

next($array);

echo current($array) . "<br />

"; // "шаг три"

// сбрасываем указатель, тем самым возвращаемся к первому шагу

reset($array);

echo current($array) . "<br />

"; // "шаг один"

?>

См. также current(),

each(), next()

и prev().

range
rsort
Функции для работы с массивами


Отсортировать массив в обратном порядке

reset
shuffle
Функции для работы с массивами
PHP Manual

rsort

(PHP 4, PHP 5)

rsort — Отсортировать массив в обратном порядке

Описание

bool rsort ( array &$array [, int $sort_flags ] )

Эта функция сортирует массив в обратном порядке (от большего к меньшему).

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Пример #1 Пример использования rsort()

<?php

$fruits = array("lemon", "orange", "banana", "apple");

rsort($fruits);

reset($fruits);

while (list($key, $val) = each($fruits)) {

    echo "$key = $val

";

}

?>

Результат выполнения данного примера:

0 = orange

1 = lemon

2 = banana

3 = apple

Названия фруктов были отсортированы по алфавиту в обратном порядке.

Вы можете изменить поведение сортировки, используя дополнительный параметр sort_flags , подробнее см. sort().

См. также arsort(),

asort(), ksort(),

sort() и usort().

reset
shuffle
Функции для работы с массивами


Перемешать массив

rsort
sizeof
Функции для работы с массивами
PHP Manual

shuffle

(PHP 4, PHP 5)

shuffle — Перемешать массив

Описание

bool shuffle ( array &$array )

Эта функция перемещает элементы массива в случайном порядке.

Пример #1 Пример использования shuffle()

<?php

$numbers = range(1, 20);

srand((float)microtime() * 1000000);

shuffle($numbers);

while (list(, $number) = each($numbers)) {

    echo "$number ";

}

?>

Замечание: Начиная с PHP 4.2.0, больше нет необходимости инициализировать генератор случайных чисел функциями srand() или mt_srand(), поскольку теперь это происходит автоматически.

См. также arsort(), asort(),

ksort(), rsort(),

sort() и usort().

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 ] )

Эта функция сортирует массив. После завершения работы функции элементы массива будут расположены в порядке возрастания.

Замечание: Эта функция назначает новые ключи для элементов array . Все ранее назначенные значения ключей будут удалены, вернее переназначены.

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Пример #1 Пример использования sort()

<?php

$fruits = array("lemon", "orange", "banana", "apple");
sort($fruits);
reset($fruits);
while (list($key, $val) = each($fruits)) {
    echo "fruits[" . $key . "] = " . $val . "\n";
}

?>

Результат выполнения данного примера:

fruits[0] = apple
fruits[1] = banana
fruits[2] = lemon
fruits[3] = orange

Фрукты отсортированы в алфавитном порядке.

Дополнительный второй параметр sort_flags можно использовать для изменения поведения сортировки, используя следующие значения:

Флаги сортировки:

  • SORT_REGULAR - сравнивать элементы нормально (не изменять типы)
  • SORT_NUMERIC - сравнивать элементы в числовом отношении
  • SORT_STRING - сравнивать элементы как строки
  • SORT_LOCALE_STRING - сравнивать элементы как строки, основываясь на текущей локали. Добавлено в PHP 5.0.2

Замечание: Второй параметр был добавлен в PHP 4.

Внимание

Будьте осторожны при сортировке массивов, содержащих элементы разных типов, так как в этом случае результат работы функции sort() может быть непредсказуемым.

См. также arsort(),
asort(), ksort(),
natsort(), natcasesort(),
rsort(), usort(),
array_multisort() и
uksort().

sizeof
uasort
Функции для работы с массивами


Отсортировать массив, используя пользовательскую функцию для сравнения элементов с сохранением ключей

sort
uksort
Функции для работы с массивами
PHP Manual

uasort

(PHP 4, PHP 5)

uasort — Отсортировать массив, используя пользовательскую функцию для сравнения элементов с сохранением ключей

Описание

bool uasort ( array &$array , callback $cmp_function )

Функция сортирует массив таким образом, что его индексы сохраняют отношения с элементами, с которыми ранее были ассоциированы. Это особенно полезно при сортировке ассоциативных массивов, актуальный порядок элементов которых значим. Для сравнения используется функция, определённая пользователем.

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Замечание: Пожалуйста, смотрите примеры пользовательских функций в описании usort() и uksort().

См. также usort(), uksort(),
sort(), asort(),
arsort(), ksort()
и rsort().

sort
uksort
Функции для работы с массивами


Отсортировать массив по ключам, используя пользовательскую функцию для сравнения ключей

uasort
usort
Функции для работы с массивами
PHP Manual

uksort

(PHP 4, PHP 5)

uksort — Отсортировать массив по ключам, используя пользовательскую функцию для сравнения ключей

Описание

bool uksort ( array &$array , callback $cmp_function )

uksort() отсортирует массив, используя для сравнения его ключей функцию, определённую пользователем. Если массив должен быть отсортирован по какому-либо необычному признаку, вы должны использовать эту функцию.

Функция cmp_function должна принимать два параметра, которым будут присвоены значения двух ключей array . Функция, используемая для сравнения, должна возвращать целое число, меньшее, равное или большее нуля, если первый параметр считается меньше, равен или больше второго.

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Пример #1 Пример использования uksort()

<?php
function cmp($a, $b)
{
    if ($a == $b) {
        return 0;
    }
    return ($a > $b) ? -1 : 1;
}

$a = array(4 => "four", 3 => "three", 20 => "twenty", 10 => "ten");

uksort($a, "cmp");

while (list($key, $value) = each($a)) {
    echo "$key: $value\n";
}
?>

Результат выполнения данного примера:

20: twenty
10: ten
4: four
3: three

См. также usort(), uasort(),
sort(), asort(),
arsort(), ksort(),
natsort() и rsort().

uasort
usort
Функции для работы с массивами


Отсортировать массив по значениям используя пользовательскую функцию для сравнения элементов

uksort
Классы/Объекты
Функции для работы с массивами
PHP Manual

usort

(PHP 4, PHP 5)

usort — Отсортировать массив по значениям используя пользовательскую функцию для сравнения элементов

Описание

bool usort ( array &$array , callback $cmp_function )

Эта функция сортирует элементы массива, используя для сравнения значений пользовательскую функцию. Если вам нужно отсортировать массив по необычному критерию, вы должны использовать эту функцию.

Функция, используемая для сравнения, должна возвращать целое число, меньшее, равное или большее нуля, если первый аргумент соответственно меньше, равен или больше второго.

Замечание: Если два элемента исходного массива равны, их порядок в отсортированном массиве неопределён. До PHP 4.0.6 пользовательские функции сохраняли для таких элеменов порядок в оригинальном массиве, но новый алгоритм сортировки, появившейся в версии 4.1.0 больше не использует это решение и не имеет другого эффективного.

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Пример #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");

while (list($key, $value) = each($a)) {
    echo "$key: $value
";
}
?>

Результат выполнения данного примера:

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"] . "
";
}
?>

При сортировке многомерного массива переменные $a и $b содержат ссылки на первые два индекса массива.

Результат выполнения данного примера:

$fruits[0]: apples
$fruits[1]: grapes
$fruits[2]: lemons

Пример #3 Пример использования usort() с методом класса

<?php
class TestObj {
    var $name;

    function TestObj($name)
    {
        $this->name = $name;
    }

    /* This is the static comparing function: */
    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 . "
";
}
?>

Результат выполнения данного примера:

b
c
d

См. также uasort(),
uksort(), sort(),
asort(),
arsort(),ksort(),
natsort() и rsort().

uksort
Классы/Объекты
Функции для работы с массивами


Функции работы с Классами/Объектами

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
  • Функции работы с Классами/Объектами
    • call_user_method_array — Вызываем метод объекта с массивом параметров [устаревшее]
    • call_user_method — Вызывает метод указанного объекта [устаревшее]
    • class_exists — Проверяет был ли объявлен класс
    • get_called_class — the "Late Static Binding" class name
    • get_class_methods — Возвращает массив имен методов класса
    • get_class_vars — Возвращает массив свойств класса с их инициализационными значенями
    • get_class — Возвращает имя класса к которому принадлежит объект
    • get_declared_classes — Возвращает массив с именами объявленных классов
    • get_declared_interfaces — Возвращает массив всех объявленных в текущей итерации интерфейсов.
    • get_object_vars — Возвращает ассоциативный массив свойств и значений объекта
    • get_parent_class — Возвращает имя класса базового для объекта или класса
    • interface_exists — Проверяет, определен ли интерфейс
    • is_a — Возвращает TRUE если объект принадлежит классу или является одним из его наследователей.
    • is_subclass_of — Возвращает TRUE если объект является экземпляром класса, наследующего данный.
    • method_exists — Проверяет, существует ли метод в данном классе
    • property_exists — Проверяет, содержит ли объект или класс указанный атрибут
usort
Введение
Variable and Type Related Extensions


Введение

Нижеописанные функции позволят вам получить информацию о классах и экземплярах объектов. Вы можете получить имя класса из экземпляра объекта равно как и все его свойства и методы. Используя эти функции, вы сможете установить не только принадлежность объекта к конкретному классу, но и определить порядок наследования (к примеру, какой класс наследует класс данного объекта).

Классы/Объекты
Установка и настройка
Классы/Объекты


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Классы/Объекты


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Примеры
Классы/Объекты


Примеры

В приведённом ниже примере, мы сначала определим базовый класс и класс его наследующий. Базовый класс описывает овощ: съедобен ли и какого внешне цвета. Дочерний класс 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

Предопределенные константы
Функции работы с Классами/Объектами
Классы/Объекты


Функции работы с Классами/Объектами

Содержание

  • call_user_method_array — Вызываем метод объекта с массивом параметров [устаревшее]
  • call_user_method — Вызывает метод указанного объекта [устаревшее]
  • class_exists — Проверяет был ли объявлен класс
  • get_called_class — the "Late Static Binding" class name
  • get_class_methods — Возвращает массив имен методов класса
  • get_class_vars — Возвращает массив свойств класса с их инициализационными значенями
  • get_class — Возвращает имя класса к которому принадлежит объект
  • get_declared_classes — Возвращает массив с именами объявленных классов
  • get_declared_interfaces — Возвращает массив всех объявленных в текущей итерации интерфейсов.
  • get_object_vars — Возвращает ассоциативный массив свойств и значений объекта
  • get_parent_class — Возвращает имя класса базового для объекта или класса
  • interface_exists — Проверяет, определен ли интерфейс
  • is_a — Возвращает TRUE если объект принадлежит классу или является одним из его наследователей.
  • is_subclass_of — Возвращает TRUE если объект является экземпляром класса, наследующего данный.
  • method_exists — Проверяет, существует ли метод в данном классе
  • property_exists — Проверяет, содержит ли объект или класс указанный атрибут
Примеры
call_user_method_array
Классы/Объекты


Вызываем метод объекта с массивом параметров [устаревшее]

Функции работы с Классами/Объектами
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 $paramarr ] )
Внимание

Функция call_user_method_array() устарела с выходом
4.1.0: используйте функцию call_user_func_array() с
array(&$obj, "method_name") в качестве параметра
имени функции.

Вызывает метод method_name объекта obj , с параметрами содержащимися в массиве paramarr .

См. также: call_user_func_array() и call_user_func().

Функции работы с Классами/Объектами
call_user_method
Функции работы с Классами/Объектами


Вызывает метод указанного объекта [устаревшее]

call_user_method_array
class_exists
Функции работы с Классами/Объектами
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: используйте функцию call_user_func() с
array(&$obj, "method_name") в качестве параметра
имени функции.

Вызываем метод method_name объекта obj . Ниже приведен пример использования функции, в которой мы определяем класс, создаём его объект и используем call_user_method() для вызова метода print_info.

<?php
class Country {
    var $NAME;
    var $TLD;

    function Country($name, $tld)
    {
        $this->NAME = $name;
        $this->TLD = $tld;
    }

    function print_info($prestr = "")
    {
        echo $prestr . "Country: " . $this->NAME . "\n";
        echo $prestr . "Top Level Domain: " . $this->TLD . "\n";
    }
}

$cntry = new Country("Peru", "pe");

echo "* Calling the object method directly\n";
$cntry->print_info();

echo "\n* Calling the same method indirectly\n";
call_user_method("print_info", $cntry, "\t");
?>

См. также call_user_func_array() и call_user_func().

call_user_method_array
class_exists
Функции работы с Классами/Объектами


Проверяет был ли объявлен класс

call_user_method
get_called_class
Функции работы с Классами/Объектами
PHP Manual

class_exists

(PHP 4, PHP 5)

class_exists — Проверяет был ли объявлен класс

Описание

bool class_exists ( string $class_name )

Функция возвращает TRUE если классclass_name был объявлен. В противном случае функция возвращает FALSE.

См. также get_declared_classes().

call_user_method
get_called_class
Функции работы с Классами/Объектами


the "Late Static Binding" class name

class_exists
get_class_methods
Функции работы с Классами/Объектами
PHP Manual

get_called_class

(PHP 5 >= 5.3.0)

get_called_class — the "Late Static Binding" class name

Описание

string get_called_class ( void )

Gets the name of the class the static method is called in.

Возвращаемые значения

Returns the class name. Returns FALSE if called from outside a class.

Примеры

Пример #1 Using 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() - Возвращает TRUE если объект является экземпляром класса, наследующего данный.

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 .

Замечание: Начиная с PHP 4.0.6, вы можете передать функции объект вместо указания имени класса class_name . К примеру:

<?php
$class_methods = get_class_methods($my_class); // ниже приведен полный пример
?>

Пример #1 Пример использования get_class_methods()

<?php

class myclass {
    // конструктор
    function myclass()
    {
        return(true);
    }

    // метод 1
    function myfunc1()
    {
        return(true);
    }

    // метод 2
    function myfunc2()
    {
        return(true);
    }
}

$my_object = new myclass();

$class_methods = get_class_methods(get_class($my_object));

foreach ($class_methods as $method_name) {
    echo "$method_name\n";
}

?>

выведет:

myclass
myfunc1
myfunc2

См. также 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 )

Функция возвращает ассоциативный массив свойств класса и их значения по-умолчанию (инициализационные значения). Массив имеет формат свойство => инициализационное значение .

Замечание: До PHP 4.2.0 неинициализируемые переменные класса не будут возвращены функцией get_class_vars().

Пример #1 Пример использования get_class_vars()

<?php

class myclass {

    var $var1; // переменная не имеет начального значения...
    var $var2 = "xyz";
    var $var3 = 100;

    // конструктор
    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

См. также 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 — Возвращает имя класса к которому принадлежит объект

Description

string get_class ( object $obj )

Функция возвращает имя класса экземпляром которого является объект obj . Если obj не является объектом, функция вернет FALSE

Замечание: Внутренние классы PHP, объявленные в расширениях возвращаются в оригинальном регистре. В PHP 4, функция get_class() возвращает имя класса в нижнем регистре, однако в PHP 5 имя также возвращается в оригинальном регистре, аналогично классам расширений.

Пример #1 Использование get_class()

<?php

class foo {
    function 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

См. также 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 4.0.1pl2, три дополнительных класса добавляются в начало списка: stdClass (объявленный в Zend/zend.c), OverloadedTestClass (объявленный в ext/standard/basic_functions.c) и Directory (объявленный в ext/standard/dir.c).
Учтите также, что в зависимости от набора библиотек, собранных с PHP, может варьироваться число дополнительных классов: дополнительные расширения могут объявлять свои классы. Это означает, что вы не сможете использовать имена их классов для своих. Список классов в расширениях находится в разделе Predefined Classes дополнения.

Пример #1 Пример использования get_declared_classes()

<?php
print_r(get_declared_classes());
?>

Пример выведет что-нибудь близкое к:

Array
(
    [0] => stdClass
    [1] => __PHP_Incomplete_Class
    [2] => Directory
)

См. также class_exists().

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
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 $obj )

Функция возвращает ассоциативный массив объявленных свойств класса и их текущих значений для объекта obj .

Замечание: В версиях PHP вплоть до 4.2.0 в случае если свойству не было присвоено значения, оно не возвращалось в массиве. Начиная с PHP 4.2.0, свойству присваивается значение NULL.

Пример #1 Пример использования get_object_vars()

<?php
class Point2D {
    var $x, $y;
    var $label;

    function Point2D($x, $y)
    {
        $this->x = $x;
        $this->y = $y;
    }

    function setLabel($label)
    {
        $this->label = $label;
    }

    function getPoint()
    {
        return array("x" => $this->x,
                     "y" => $this->y,
                     "label" => $this->label);
    }
}

// "$label" объявлена, но не установлена
$p1 = new Point2D(1.233, 3.445);
print_r(get_object_vars($p1));

$p1->setLabel("point #1");
print_r(get_object_vars($p1));

?>

The printout of the above program will be:

 Array
 (
     [x] => 1.233
     [y] => 3.445
     [label] =>
 )

 Array
 (
     [x] => 1.233
     [y] => 3.445
     [label] => point #1
 )

См. также 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 $obj )

Если obj , функция возвращает имя класса базового для класса, экземпляром которого является obj .

Если obj является строкой, функция возвращает имя класса базового для класса с этим именем. Эта возможность была добавлена в PHP 4.0.5.

Пример #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 ] )

Проверяет, определен ли указанный интерфейс.

Список параметров

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
Функции работы с Классами/Объектами


Возвращает TRUE если объект принадлежит классу или является одним из его наследователей.

interface_exists
is_subclass_of
Функции работы с Классами/Объектами
PHP Manual

is_a

(PHP 4 >= 4.2.0, PHP 5)

is_a — Возвращает TRUE если объект принадлежит классу или является одним из его наследователей.

Описание

bool is_a ( object $object , string $class_name )

Функция возвращает TRUE если объект принадлежит классу или является одним из его наследователей. В противном случае возвращается FALSE

Пример #1 Пример использования is_a()

<?php
// объявление класса
class WidgetFactory
{
  var $oink = 'moo';
}

// создание нового объекта
$WF = new WidgetFactory();

if (is_a($WF, 'WidgetFactory')) {
  echo "yes, \$WF is still a WidgetFactory\n";
}
?>

См. также get_class(),
get_parent_class() и
is_subclass_of().

interface_exists
is_subclass_of
Функции работы с Классами/Объектами


Возвращает TRUE если объект является экземпляром класса, наследующего данный.

is_a
method_exists
Функции работы с Классами/Объектами
PHP Manual

is_subclass_of

(PHP 4, PHP 5)

is_subclass_of — Возвращает TRUE если объект является экземпляром класса, наследующего данный.

Описание

bool is_subclass_of ( object $object , string $class_name )

Возвращает TRUE если объект object является экземпляром класса, наследующего class_name . В противном случае возвращается FALSE

См. также 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 ( object $object , string $method_name )

Функция возвращает TRUE, если метод method_name был объявлен для object . В противном случае функция возвращает FALSE.

Пример #1 Пример использования method_exists()

<?php
$directory = new Directory('.');
var_dump(method_exists($directory,'read'));
?>

выведет:

bool(true)

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 в случае ошибки.

Примеры

Пример #1 Пример использования property_exists()

<?php

class myClass {
    public $mine;
    private $xpto;

    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'));   //false, свойство не public
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
Введение
Variable and Type Related Extensions


Введение

Эти функции позволяют управлять классами PHP.

Замечание: Этот модуль был заменен модулем runkit, который не ограничивается управлением классами, а умеет управлять так же и функциями.

Classkit
Установка и настройка
Classkit


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Classkit


Установка

Это расширение » PECL не поставляется вместе с PHP.

Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, могут быть найдены здесь: » http://pecl.php.net/package/classkit.

Вы можете скачать DLL этого расширения PECL со страницы » PHP Downloads или » http://snaps.php.net/.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение подгружается во время выполнения.

CLASSKIT_ACC_PRIVATE (int)
Помечает метод, как private
CLASSKIT_ACC_PROTECTED (int)
Помечает метод, как protected
CLASSKIT_ACC_PUBLIC (int)
Помечает метод, как public

Типы ресурсов
Функции classkit
Classkit


Функции classkit

Содержание

  • classkit_import — Импортирует определения методов нового класса из файла
  • classkit_method_add — Динамически добавляет новый метод в заданный класс
  • classkit_method_copy — Копирует метод из одного класса в другой
  • classkit_method_redefine — Динамически меняет код заданного метода
  • classkit_method_remove — Динамически удаляет заданный метод
  • classkit_method_rename — Динамически меняет имя заданного метода
Предопределенные константы
classkit_import
Classkit


Импортирует определения методов нового класса из файла

Функции 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 ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях 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() - Создаёт анонимную (lambda-style) функцию

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 ] )

Замечание: Эта функция не может быть использована для влияния на работающие в данный момент (или цепные) методы.

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях 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
Введение
Variable and Type Related Extensions


Введение

Функции представленные этим расширением, позволяют проверить принадлежность символа или строки определенному классу символов, принимая во внимание текущие региональные установки (см. также функцию setlocale()).

Будучи вызванными с целочисленным аргументом, эти функции полностью аналогичны своим эквивалентам в языке C (из ctype.h). Это означает, что если вы передаёте целое значение менее 256, функции проверяют соответствует ли это значение ASCII указанному классу символов (цифры находятся в диапазоне 0x30-0x39). Если число находится в пределах от -128 до -1 включительно, то к его значению будет прибавлено 256 и сравнение будет проводиться с использованием результата сложения.

Если аргументом выступает строка, то функции будут проверять каждый символ в этой строке и вернут TRUE только если каждый символ удовлятворяет требуемуму условию. При вызове с пустой строкой в качестве аргумента, функции всегда возвращают TRUE в PHP < 5.1 и FALSE после 5.1.

При передачи данных других типов (кроме целого или строки) функции возвращают FALSE.

Следует обратить внимание на то, что данные функции работают значительно быстрее, чем регулярные выражения и даже эквивалентиные str_* и is_* функции, поэтому на сходных задачах они наиболее предпочтительны.

ctype
Установка и настройка
ctype


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
ctype


Требования

Стандартная библиотека C всегда доступна, поэтому дополнительных требования нет.

Установка и настройка
Установка
Установка и настройка


Установка

Начиная с PHP 4.2.0 эти функции включены по умолчанию. В предыдущих версиях вы должны сконфигурировать и откомпилировать PHP с --enable-ctype. Запретить поддержку ctype можно с помощью --disable-ctype.

Версия PHP для Windows имеет встроенную поддержку данного расширения. Это означает, что для использования данных функций не требуется загрузка никаких дополнительных расширений.

Замечание: Встроенная поддержка ctype доступна с PHP 4.3.0.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
ctype
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


Проверяет, является ли указанный символ буквенно-цифровым

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 не состоит только из букв и цифр.

Смотрите также

  • 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 не состоит только из букв.

Смотрите также

  • 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' не состоит только из управляющих символов.

Смотрите также

  • 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 в противном случае.

Примеры

Пример #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 не состоит только из цифр.

Смотрите также

  • ctype_alnum() - Проверяет, является ли указанный символ буквенно-цифровым
  • ctype_xdigit() - Проверяет, является ли указанный символ шестнадцатеричной цифрой

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' состоит только из (видимых) печатаемых символов.

Смотрите также

  • 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 не состоит только из букв в нижнем регистре.

Смотрите также

  • 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' состоит только из печатаемых символов.

Смотрите также

  • 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!@!$# не состоит только из символов пунктуации.
Строка !@ # $ не состоит только из символов пунктуации.
Строка *&$() состоит только из символов пунктуации.

Смотрите также

  • 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' не состоит только из пробельных символов.

Смотрите также

  • 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 не состоит только из букв в верхнем регистре.

Смотрите также

  • 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 состоит из шестнадцатеричных цифр.

Смотрите также

  • ctype_digit() - Проверяет, является ли символ цифрой

ctype_upper
Filter
ctype


Функции фильтрации данных

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Функции фильтрации данных
    • filter_has_var — Проверяет существование переменной указанного типа
    • filter_id — Возвращает ID фильтра, принадлежащий именованному фильтру
    • filter_input_array — Принимает несколько переменных извне PHP и, при необходимости, фильтрует их
    • filter_input — Принимает переменную извне PHP и, при необходимости, фильтрует ее
    • filter_list — Возвращает список всех поддерживаемых фильтров
    • filter_var_array — Принимает несколько переменных и, при необходимости, фильтрует их
    • filter_var — Фильтрует переменную с помощью определенного фильтра
ctype_xdigit
Введение
Variable and Type Related Extensions


Введение

Данное расширение помогает проверить и отфильтровать данные, пришедшие из разных ненадежных источников, таких, как пользовательский ввод данных.

Нижеперечисленные фильтры существуют в настоящее время; убедитесь, что Вы прочитали раздел Filter Constants с информацией, описывающей действие каждой константы:

Существующие фильтры
ID | Имя | Параметры | Флаги | Описание
FILTER_VALIDATE_INT | "int" | min_range , max_range | FILTER_FLAG_ALLOW_OCTAL, FILTER_FLAG_ALLOW_HEX | Проверяет значение, как целое, при указанных параматрах проверка производится в указанном диапазоне.
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_FLOAT | "float" | decimal | FILTER_FLAG_ALLOW_THOUSAND | Проверяет значение, как число с плавающей точкой.
FILTER_VALIDATE_REGEXP | "validate_regexp" | regexp |  | Проверяет значение на соответствие regexp , Perl-совместитому регулярному выражению.
FILTER_VALIDATE_URL | "validate_url" |  | FILTER_FLAG_PATH_REQUIRED, FILTER_FLAG_QUERY_REQUIRED | Проверяет значение, как URL, при указанных флагах проверяется наличие требуемых компонентов.
FILTER_VALIDATE_EMAIL | "validate_email" |  |  | Проверяет значение, как e-mail.
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_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_ENCODED | "encoded" |  | FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH | URL-кодирует строку, при указанных флагах удаляет или кодирует специальные симолы.
FILTER_SANITIZE_SPECIAL_CHARS | "special_chars" |  | FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_HIGH | Экранирует HTML-символы '"<>& и символы с ASCII кодом, меньшим 32, при указанных флагах удаляет или кодирует остальные специальные симолы.
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 | Бездействует, при указанных флагах удаляет или кодирует специальные симолы.
FILTER_SANITIZE_EMAIL | "email" |  |  | Удаляет все символы, кроме букв, цифр и !#$%&'*+-/=?^_`{|}~@.[].
FILTER_SANITIZE_URL | "url" |  |  | Удаляет все символы, кроме букв, цифр и $-_.+!*'(),{}|\\^~[]`<>#%";/?:@&=.
FILTER_SANITIZE_NUMBER_INT | "number_int" |  |  | Удаляет все символы, кроме цифр и знаков "+" и "-".
FILTER_SANITIZE_NUMBER_FLOAT | "number_float" |  | FILTER_FLAG_ALLOW_FRACTION, FILTER_FLAG_ALLOW_THOUSAND, FILTER_FLAG_ALLOW_SCIENTIFIC | Удаляет все символы, кроме цифр, +- и, при установленных флагах, .,eE.
FILTER_SANITIZE_MAGIC_QUOTES | "magic_quotes" |  |  | Применяется функция addslashes().
FILTER_CALLBACK | "callback" | callback функция или метод |  | Вызывается пользовательская функция для фильтрации данных.

Filter
Установка и настройка
Filter


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Filter


Установка

Короткий комментарий к установке: просто наберите

$ pecl install filter
в консоли.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Параметры конфигурации Filter
Имя | Значение по умолчанию | Область изменения | Changelog
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_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

filter.default string

Фильтрует все $_GET, $_POST, $_COOKIE и $_REQUEST данные этим фильтром. Исходные данные могут быть получены с помощью filter_input().

Принимает имя указанного фильтра как значение по умолчанию. См. список существующих фильтров для получения списка имен фильтров.

filter.default_flags integer

Флаги по умолчанию

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если 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)
ID фильтра "int".
FILTER_VALIDATE_BOOLEAN (integer)
ID фильтра "boolean".
FILTER_VALIDATE_FLOAT (integer)
ID фильтра "float".
FILTER_VALIDATE_REGEXP (integer)
ID фильтра "validate_regexp".
FILTER_VALIDATE_URL (integer)
ID фильтра "validate_url".
FILTER_VALIDATE_EMAIL (integer)
ID фильтра "validate_email".
FILTER_VALIDATE_IP (integer)
ID фильтра "validate_ip".
FILTER_DEFAULT (integer)
ID фильтра по умолчанию ("string").
FILTER_UNSAFE_RAW (integer)
ID фильтра "unsafe_raw".
FILTER_SANITIZE_STRING (integer)
ID фильтра "string".
FILTER_SANITIZE_STRIPPED (integer)
ID фильтра "stripped".
FILTER_SANITIZE_ENCODED (integer)
ID фильтра "encoded".
FILTER_SANITIZE_SPECIAL_CHARS (integer)
ID фильтра "special_chars".
FILTER_SANITIZE_EMAIL (integer)
ID фильтра "email".
FILTER_SANITIZE_URL (integer)
ID фильтра "url".
FILTER_SANITIZE_NUMBER_INT (integer)
ID фильтра "number_int".
FILTER_SANITIZE_NUMBER_FLOAT (integer)
ID фильтра "number_float".
FILTER_SANITIZE_MAGIC_QUOTES (integer)
ID фильтра "magic_quotes".
FILTER_CALLBACK (integer)
ID фильтра "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_SCHEME_REQUIRED (integer)
Требовать наличие составляющей "схема" в фильтре "validate_url".
FILTER_FLAG_HOST_REQUIRED (integer)
Требовать наличие составляющей "хост" в фильтре "validate_url".
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


Функции фильтрации данных

Содержание

  • filter_has_var — Проверяет существование переменной указанного типа
  • filter_id — Возвращает ID фильтра, принадлежащий именованному фильтру
  • filter_input_array — Принимает несколько переменных извне PHP и, при необходимости, фильтрует их
  • filter_input — Принимает переменную извне PHP и, при необходимости, фильтрует ее
  • filter_list — Возвращает список всех поддерживаемых фильтров
  • filter_var_array — Принимает несколько переменных и, при необходимости, фильтрует их
  • filter_var — Фильтрует переменную с помощью определенного фильтра
Предопределенные константы
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
Функции фильтрации данных


Возвращает ID фильтра, принадлежащий именованному фильтру

filter_has_var
filter_input_array
Функции фильтрации данных
PHP Manual

filter_id

(PHP 5 >= 5.2.0)

filter_id — Возвращает ID фильтра, принадлежащий именованному фильтру

Описание

int filter_id ( string $filtername )

Список параметров

filtername

Имя фильтра.

Возвращаемые значения

ID фильтра в случае успеха или NULL, если фильтр не существует.

Смотрите также

  • 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, INPUT_SESSION, или INPUT_REQUEST.

definition

Массив, определяющий аргументы. Допустимый ключ - строка string, содержащая имя переменной, и допустимое значение - или тип фильтра, или массив 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)
  }
}

Смотрите также

  • filter_input() - Принимает переменную извне PHP и, при необходимости, фильтрует ее
  • filter_var_array() - Принимает несколько переменных и, при необходимости, фильтрует их

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 [, mixed $options ]] )

Список параметров

type

Один из INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER, INPUT_ENV, INPUT_SESSION (не реализовано) и INPUT_REQUEST (не реализовано).

variable_name

Имя переменной.

filter

Применяемый фильтр. По умолчанию FILTER_DEFAULT.

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() - Принимает несколько переменных и, при необходимости, фильтрует их

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 и, при необходимости, фильтрует ее

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 [, mixed $options ]] )

Список параметров

variable

Значение переменной для фильтрации.

filter

ID используеиого фильтра. По умолчанию FILTER_SANITIZE_STRING.

options

Ассоциативный массив параметров либо логическое ИЛИ флагов. Если фильтр принимает параметры, флаги могут быть указаны в элементе массива "flags". Для фильтра "callback" должен быть указан тип callback.

Возвращаемые значения

Возвращает отфильтрованные данные или FALSE, если фильтрация завершилась неудачей.

Примеры

Пример #1 Пример использования filter_var()

<?php
var_dump(filter_var('bob@example.com', FILTER_VALIDATE_EMAIL));
var_dump(filter_var('example.com', FILTER_VALIDATE_URL, FILTER_FLAG_SCHEME_REQUIRED));
?>

Результат выполнения данного примера:

string(15) "bob@example.com"
bool(false)

Смотрите также

  • filter_var_array() - Принимает несколько переменных и, при необходимости, фильтрует их
  • filter_input() - Принимает переменную извне PHP и, при необходимости, фильтрует ее
  • filter_input_array() - Принимает несколько переменных извне PHP и, при необходимости, фильтрует их
  • информация о типе callback

filter_var_array
Управление функциями
Функции фильтрации данных


Управление функциями

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Управление функциями
    • call_user_func_array — Вызывает пользовательскую функцию с массивом параметров
    • call_user_func — Вызывает пользовательскую функцию
    • create_function — Создаёт анонимную (lambda-style) функцию
    • 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
Введение
Variable and Type Related Extensions


Введение

Эти функции позволяют вам различными способами оперировать функциями.

Управление функциями
Установка и настройка
Управление функциями


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Управление функциями


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Управление функциями
Управление функциями


Управление функциями
PHP Manual

Управление функциями

Содержание

  • call_user_func_array — Вызывает пользовательскую функцию с массивом параметров
  • call_user_func — Вызывает пользовательскую функцию
  • create_function — Создаёт анонимную (lambda-style) функцию
  • 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 . Например:

Пример #1 Использование call_user_func_array()

<?php

function debug($var, $val)

{

    echo "***DEBUGGING\nVARIABLE: $var\nVALUE:";

    if (is_array($val) || is_object($val) || is_resource($val)) {

        print_r($val);

    } else {

        echo "\n$val\n";

    }

    echo "***\n";

}

$c = mysql_connect();

$host = $_SERVER["SERVER_NAME"];

call_user_func_array('debug', array("host", $host));

call_user_func_array('debug', array("c", $c));

call_user_func_array('debug', array("_POST", $_POST));

?>

См. также call_user_func().

Управление функциями
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 со следующими параметрами:

<?php

function barber($type)

{

    echo "You wanted a $type haircut, no problem";

}

call_user_func('barber', "mushroom");

call_user_func('barber', "shave");

?>

Методы класса также могут быть вызваны статически при передаче array($classname, $methodname) в качестве параметра function .

<?php

class myclass {

  function say_hello()

  {

    echo "Hello!\n";

  }

}

$classname = "myclass";

call_user_func(array($classname, 'say_hello'));

?>

Замечание: Обратите внимание, что параметры для call_user_func() не могут передаваться по ссылке.

<?php

function increment(&$var)

{

    $var++;

}

$a = 0;

call_user_func('increment', $a);

echo $a; // 0

call_user_func_array('increment', array(&$a)); // You can use this instead

echo $a; // 1

?>

См. также: is_callable(), и call_user_func_array()

call_user_func_array
create_function
Управление функциями


Создаёт анонимную (lambda-style) функцию

call_user_func
func_get_arg
Управление функциями
PHP Manual

create_function

(PHP 4 >= 4.0.1, PHP 5)

create_function — Создаёт анонимную (lambda-style) функцию

Описание

string create_function ( string $args , string $code )

Создаёт анонимную функцию из переданных параметров и возвращает её уникальное имя. Обычно args передаются строкой в апострофах, что также рекомендуется для параметра code . Основанием для использования строк в апострофах является защита имён переменных от обработки, другими словами, если вы будете использовать кавычки, вам будет нужно экранировать все имена переменных вот так: \$avar.

Вы можете использовать эту функцию (к примеру) для создания функций на основании информации, полученной во время выполнения программы:

Пример #1 Создание анонимной функции с помощью create_function()

<?php

$newfunc = create_function('$a,$b', 'return "ln($a) + ln($b) = " . log($a * $b);');

echo "New anonymous function: $newfunc\n";

echo $newfunc(2, M_E) . "\n";

// outputs

// New anonymous function: lambda_1

// ln(2) + ln(2.718281828459) = 1.6931471805599

?>

Или, возможно, чтобы иметь общий обработчик для применения набора функций к списку параметров:

Пример #2 Создание функции-обработчика с помощью create_function()

<?php

function process($var1, $var2, $farr)

{

    for ($f=0; $f < count($farr); $f++) {

        echo $farr[$f]($var1, $var2) . "\n";

    }

}

// create a bunch of math functions

$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 "some trig: ".(sin($x) + $x*cos($y));'),

    create_function('$x,$y', 'return "a hypotenuse: ".sqrt($x*$x + $y*$y);'),

    create_function('$a,$b', $f1),

    create_function('$a,$b', $f2),

    create_function('$a,$b', $f3)

    );

echo "\nUsing the first array of anonymous functions\n";

echo "parameters: 2.3445, M_PI\n";

process(2.3445, M_PI, $farr);

// now make a bunch of string processing functions

$garr = array(

    create_function('$b,$a', 'if (strncmp($a, $b, 3) == 0) return "** \"$a\" '.

    'and \"$b\"\n** Look the same to me! (looking at the first 3 chars)";'),

    create_function('$a,$b', '; return "CRCs: " . crc32($a) . " , ".crc32(b);'),

    create_function('$a,$b', '; return "similar(a,b) = " . similar_text($a, $b, &$p) . "($p%)";')

    );

echo "\nUsing the second array of anonymous functions\n";

process("Twas brilling and the slithy toves", "Twas the night", $garr);

?>

Вышеприведённый код выводит следующее:

Using the first array of anonymous functions

parameters: 2.3445, M_PI

some trig: -1.6291725057799

a hypotenuse: 3.9199852871011

b*a^2 = 4.8103313314525

min(b^2+a, a^2,b) = 8.6382729035898

ln(a/b) = 0.27122299212594

Using the second array of anonymous functions

** "Twas the night" and "Twas brilling and the slithy toves"

** Look the same to me! (looking at the first 3 chars)

CRCs: -725381282 , 1908338681

similar(a,b) = 11(45.833333333333%)

Однако, вероятно, наиболее обоснованное использование lambda-style (анонимных) функций - это создание функций-обработчиков, например, при использовании array_walk() или usort()

Пример #3 Использование анонимной функции как функции-обработчика

<?php

$av = array("the ", "a ", "that ", "this ");

array_walk($av, create_function('&$v,$k', '$v = $v . "mango";'));

print_r($av);

?>

выводит:

Array

(

  [0] => the mango

  [1] => a mango

  [2] => that mango

  [3] => this mango

)

Сортировка строк по их длине

<?php

$sv = array("small", "larger", "a big string", "it is a string thing");

print_r($sv);

?>

результат:

Array

(

  [0] => small

  [1] => larger

  [2] => a big string

  [3] => it is a string thing

)

Теперь отсортируем их в обратном порядке:

<?php

usort($sv, create_function('$a,$b','return strlen($b) - strlen($a);'));

print_r($sv);

?>

результат:

Array

(

  [0] => it is a string thing

  [1] => a big string

  [2] => larger

  [3] => small

)

call_user_func
func_get_arg
Управление функциями


Возвращает элемент из списка аргументов

create_function
func_get_args
Управление функциями
PHP Manual

func_get_arg

(PHP 4, PHP 5)

func_get_arg — Возвращает элемент из списка аргументов

Описание

mixed func_get_arg ( int $arg_num )

Возвращает arg_num -ый аргумент из списка аргументов пользовательской функции. Нумерация аргументов функции начинается с нуля. func_get_arg() генерирует предупреждение при вызове вне определения функции.

Если arg_num больше количества переданных аргументов, будет сгенерировано предупреждение и func_get_arg() вернет FALSE.

<?php

function foo()

{

     $numargs = func_num_args();

     echo "Number of arguments: $numargs<br />\n";

     if ($numargs >= 2) {

     echo "Second argument is: " . func_get_arg(1) . "<br />\n";

     }

}

foo (1, 2, 3);

?>

func_get_arg() может быть использована совместно с func_num_args() и func_get_args() для создания функций с переменным количеством аргументов.

create_function
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_get_args() генерирует предупреждение при вызове вне определения функции.

<?php

function foo()

{

    $numargs = func_num_args();

    echo "Number of arguments: $numargs<br />\n";

    if ($numargs >= 2) {

        echo "Second argument is: " . func_get_arg(1) . "<br />\n";

    }

    $arg_list = func_get_args();

    for ($i = 0; $i < $numargs; $i++) {

        echo "Argument $i is: " . $arg_list[$i] . "<br />\n";

    }

}

foo(1, 2, 3);

?>

func_get_args() может быть использована совместно с func_num_args() и func_get_arg() для создания функций с переменным количеством аргументов.

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_num_args() генерирует предупреждение при вызове вне определения функции.

<?php

function foo()

{

    $numargs = func_num_args();

    echo "Number of arguments: $numargs\n";

}

foo(1, 2, 3);    // Prints 'Number of arguments: 3'

?>

func_num_args() может быть использована совместно с with 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 . Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

<?php

if (function_exists('imap_open')) {

    echo "IMAP functions are available.<br />\n";

} else {

    echo "IMAP functions are not available.<br />\n";

}

?>

Обратите внимание, что название функции может присутствовать, даже если саму функцию невозможно использовать из-за настроек конфигурации или опций компиляции (например, как для image функций). Также заметьте, что function_exists() возвращает FALSE для таких конструкций, как include_once() и echo().

См. также method_exists() и get_defined_functions().

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"] (см. пример ниже).

<?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(),

get_defined_vars() и

get_defined_constants().

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 )

Регистрирует функцию function , которая выполнится после завершения работы скрипта.

Возможна регистрация нескольких подобных функций с помощью register_shutdown_function(), при этом функции будут выполняться в том порядке, в каком они были зарегистрированы. Если вы вызовете exit() в одной из зарегистрированных register_shutdown_function() функций, процесс будет остановлен окончательно и последующие зарегистрированные с помощью register_shutdown_function() функции не будут вызваны.

Зарегистрированные register_shutdown_function() функции будут вызваны после того, как запрос выполнен окончательно (включая отсылку любых буферов вывода), соответственно вы не сможете из этих функций вывести что-либо в броузер, используя echo() или print(), или возвратить содержимое какого-либо буфера вывода, используя ob_get_contents().

Замечание: Обычно неопределённые функции вызывают фатальные ошибки в PHP, но когда function , вызванная при помощи register_shutdown_function(), неопределена, уровень ошибки изменяется на E_WARNING. Также, из-за внутренних причин, эта ошибка будет ссылаться на Unknown() at line #0.

См. также auto_append_file, exit() и секцию connection handling.

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 — Регистрирует функцию для выполнения при каждом тике

Описание

void register_tick_function ( callback $function [, mixed $arg [, mixed $... ]] )

Регистрирует функцию func , которая должна вызываться при каждом тике (см. tick). Также, вы можете передать в качестве параметра func массив, состоящий из объекта и метода.

Пример #1 Использование register_tick_function()

<?php

// 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);

?>

См. также 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).

См. также declare() и register_tick_function().

register_tick_function
Object Aggregation
Управление функциями


Object Aggregation/Composition

  • Введение
  • Примеры
    • 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
Введение
Variable and Type Related Extensions


Введение

Внимание

Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, включая имена его функций и относящуюся к нему документацию, может измениться в последующих версиях 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 ] )

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, which is the default value), 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 ] )

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, which is the default value), 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 ] )

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, which is the default value), 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 ] )

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, which is the default value), 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
Управление переменными
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
Управление переменными
Object Aggregation Функции


Функции управления переменными

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Функции для работы с переменными
    • 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_binary — Проверяет, является ли переменная бинарной строкой
    • is_bool — Проверяет, является ли переменная булевой
    • is_buffer — Проверяет, является ли переменная бинарной строкой или строкой UTF-16
    • 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 — Проверяет, является ли переменная строкой
    • is_unicode — Проверяет, является ли переменная строкой UTF-16
    • isset — Устанавливает, определена ли переменная
    • print_r — Выводит удобочитаемую информацию о переменной
    • serialize — Генерирует пригодное для хранения представление переменной
    • settype — Присваивает переменной новый тип
    • strval — Возвращает строковое значение переменной
    • unserialize — Создает значение PHP из хранимого представления
    • unset — Удаляет данную переменную
    • var_dump — Выводит информацию о переменной
    • var_export — Выводит в браузер или возвращает интерпретируемое строковое представление переменной
deaggregate
Введение
Variable and Type Related Extensions


Введение

Для более подробной информации о поведении и работе с переменными см. раздел Переменные секции Справочник языка руководства.

Управление переменными
Установка и настройка
Управление переменными


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Управление переменными


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Параметры конфигурации Variables
Имя | Значение по умолчанию | Область изменения | Changelog
unserialize_callback_func | NULL | PHP_INI_ALL | Доступна с PHP 4.2.0.

Для подробного описания констант PHP_INI_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

unserialize_callback_func string

Функция обратного вызова для unserialize() будет вызвана (с неопределенным именем класса в качестве параметра), если в процессе рассериализации будет обнаружен неопределенный класс, который должен быть проинициализирован. Если указанная функция не определена или если она не подключает/реализовывает отсутствующий класс. Поэтому устанавливайте это значение только в том случае, если Вы действительно хотите реализовать подобную функцию обратного вызова.

См. также unserialize().

Установка
Типы ресурсов
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Функции для работы с переменными
Управление переменными


Функции для работы с переменными

Содержание

  • 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_binary — Проверяет, является ли переменная бинарной строкой
  • is_bool — Проверяет, является ли переменная булевой
  • is_buffer — Проверяет, является ли переменная бинарной строкой или строкой UTF-16
  • 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 — Проверяет, является ли переменная строкой
  • is_unicode — Проверяет, является ли переменная строкой UTF-16
  • isset — Устанавливает, определена ли переменная
  • print_r — Выводит удобочитаемую информацию о переменной
  • serialize — Генерирует пригодное для хранения представление переменной
  • settype — Присваивает переменной новый тип
  • strval — Возвращает строковое значение переменной
  • unserialize — Создает значение PHP из хранимого представления
  • unset — Удаляет данную переменную
  • var_dump — Выводит информацию о переменной
  • var_export — Выводит в браузер или возвращает интерпретируемое строковое представление переменной
Предопределенные константы
debug_zval_dump
Управление переменными


Выводит на печать строковое представление внутреннего значения 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
  • Ссылки. Разъяснения
  • » Ссылки. Разъяснения (by 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 | Начиная с PHP 5, объекты без свойств более не считаются пустыми.
PHP 4 | Начиная PHP 4, строковое значение "0" считается пустым.

Примеры

Пример #1 Простое сравнение empty() / isset().

<?php
$var = 0;

// Принимает значение true, потому что $var пусто
if (empty($var)) {
    echo '$var или 0, или пусто, или вобще не определена';
}

// Принимает значение true, потому что $var определена
if (isset($var)) {
    echo '$var определена, даже если она пустая';
}
?>

Примечания

Замечание: Поскольку это языковая конструкция, а не функция, она не может вызываться при помощи переменных функций

Смотрите также

  • isset() - Устанавливает, определена ли переменная
  • unset() - Удаляет данную переменную
  • array_key_exists() - Проверить, присутствует ли в массиве указанный ключ или индекс
  • count() - Посчитать количество элементов массива или количество свойств объекта
  • strlen() - Возвращает длину строки
  • Таблица сравнения типов в PHP

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() к массивам или объектам.

Возвращаемые значения

Значение заданной переменной в виде числа с плавающей точкой.

Примеры

Пример #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() - Устанавливает, определена ли переменная
  • 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" (по историческим причинам "double" возвращается в случае типа float, а не просто "float")
  • "string"
  • "array"
  • "object"
  • "resource"
  • "NULL"
  • "unknown type"

Смотрите также

  • settype() - Присваивает переменной новый тип
  • 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 ] )

Возвращает целое значение переменной var , используя указанное основание системы исчисления base для преобразования (основание по умолчанию 10).

Список параметров

var

Скалярное значение для конвертации в целое

base

Основание системы исчисления для преобразования (по умолчанию 10)

Возвращаемые значения

Целое значение переменной 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
?>

Примечания

Замечание: Параметр base не имеет эффекта в случае, если параметр var является строкой.

Смотрите также

  • floatval() - Возвращает значение переменной в виде числа с плавающей точкой
  • strval() - Возвращает строковое значение переменной
  • settype() - Присваивает переменной новый тип
  • is_numeric() - Проверяет, является ли переменная числом или числовой строкой
  • Манипуляции с типами
  • BCMath Arbitrary Precision Mathematics Functions

import_request_variables
is_array
Функции для работы с переменными


Определяет, является ли переменная массивом

intval
is_binary
Функции для работы с переменными
PHP Manual

is_array

(PHP 4, PHP 5)

is_array — Определяет, является ли переменная массивом

Описание

bool is_array ( mixed $var )

Определяет, является ли данная переменная массивом.

Список параметров

var

Переменная для проверки.

Возвращаемые значения

Возвращает TRUE, если переменная var является массивом array, FALSE в противном случае.

Примеры

Пример #1 Проверить, является ли переменная массивом

<?php
$yes = array('this', 'is', 'an array');

echo is_array($yes) ? 'Массив' : 'не Массив';
echo "\n";

$no = 'this is a string';

echo is_array($no) ? 'Массив' : 'не Массив';
?>

Результат выполнения данного примера:

Массив
не Массив

Смотрите также

  • is_float() - Проверяет, является ли переменная числом с плавающей точкой
  • is_int() - Проверяет, является ли переменная целого типа
  • is_string() - Проверяет, является ли переменная строкой
  • is_object() - Проверяет, является ли переменная объектом

intval
is_binary
Функции для работы с переменными


Проверяет, является ли переменная бинарной строкой

is_array
is_bool
Функции для работы с переменными
PHP Manual

is_binary

(PHP 6 >= 6.0.0)

is_binary — Проверяет, является ли переменная бинарной строкой

Описание

bool is_binary ( mixed $var )

Проверяет, является ли данная переменная бинарной строкой.

Список параметров

var

Проверяемая переменная.

Возвращаемые значения

Возвращает TRUE, если var является бинарной строкой, FALSE в противном случае.

Смотрите также

  • is_buffer() - Проверяет, является ли переменная бинарной строкой или строкой UTF-16
  • is_string() - Проверяет, является ли переменная строкой
  • is_unicode() - Проверяет, является ли переменная строкой UTF-16

is_array
is_bool
Функции для работы с переменными


Проверяет, является ли переменная булевой

is_binary
is_buffer
Функции для работы с переменными
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 является булевой, условие выполняется
if (is_bool($a)) {
    echo "Yes, this is a boolean";
}

// Если $b не является булевой, условие не выполняется
if (is_bool($b)) {
    echo "Yes, this is a boolean";
}
?>

Смотрите также

  • is_float() - Проверяет, является ли переменная числом с плавающей точкой
  • is_int() - Проверяет, является ли переменная целого типа
  • is_string() - Проверяет, является ли переменная строкой
  • is_object() - Проверяет, является ли переменная объектом
  • is_array() - Определяет, является ли переменная массивом

is_binary
is_buffer
Функции для работы с переменными


Проверяет, является ли переменная бинарной строкой или строкой UTF-16

is_bool
is_callable
Функции для работы с переменными
PHP Manual

is_buffer

(PHP 6 >= 6.0.0)

is_buffer — Проверяет, является ли переменная бинарной строкой или строкой UTF-16

Описание

bool is_buffer ( mixed $var )

Проверяет, является ли данная переменная строкой UTF-16 или бинарной строкой.

Список параметров

var

Проверяемая строка.

Возвращаемые значения

Возвращает TRUE, если var является строкой UTF-16 или бинарной строкой, FALSE в противном случае.

Смотрите также

  • is_binary() - Проверяет, является ли переменная бинарной строкой
  • is_string() - Проверяет, является ли переменная строкой
  • is_unicode() - Проверяет, является ли переменная строкой UTF-16

is_bool
is_callable
Функции для работы с переменными


Проверяет, может ли содержимое переменной быть вызвано как функция

is_buffer
is_double
Функции для работы с переменными
PHP Manual

is_callable

(PHP 4 >= 4.0.6, PHP 5)

is_callable — Проверяет, может ли содержимое переменной быть вызвано как функция

Описание

bool is_callable ( mixed $var [, bool $syntax_only [, string &$callable_name ]] )

Проверяет, может ли содержимое переменной быть вызвано как функция. С помощью функции можно проверить, что простая переменная содержит имя верной функции, или что массив содержит правильно кодированный объект и имя функции.

Список параметров

var

Может быть как именем функции, хранимым в строковой переменной, так и объектом и именем метода объекта, например:

array($SomeObject, 'MethodName')

syntax_only

Если равен TRUE, функция только проверяет, что var может быть функцией или методом. В этом случае будут игнорироваться переменные, не являющиеся строкой или массивом, который имеет неправильную структуру для использования в обратном вызове. Правильная структура предполагает наличие только 2 элементов, первый из которых - объект или строка, и второй - строка.

callable_name

Получает "имя для вызова". В примере ниже это "someClass::someMethod". Следует иметь ввиду, что хотя запись someClass::SomeMethod() означает вызываемый статический метод, в данном случае это не так.

Возвращаемые значения

Возвращает TRUE, если var может быть вызвана, 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_buffer
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 "действительное число\n";
}else {
 echo "не действительное число\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));
?>

Результат выполнения данного примера:

действительное число
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 в противном случае.

Смотрите также

  • Тип NULL
  • isset() - Устанавливает, определена ли переменная
  • 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 в противном случае.

Смотрите также

  • 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 в противном случае.

Примечания

Замечание: Функция вернет 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('Can\'t connect : ' . 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
is_unicode
Функции для работы с переменными
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
is_unicode
Функции для работы с переменными


Проверяет, является ли переменная строкой UTF-16

is_string
isset
Функции для работы с переменными
PHP Manual

is_unicode

(PHP 6 >= 6.0.0)

is_unicode — Проверяет, является ли переменная строкой UTF-16

Описание

bool is_unicode ( mixed $var )

Проверяет, является ли данная переменная строкой UTF-16.

Список параметров

var

Проверяемая переменная.

Возвращаемые значения

Возвращает TRUE, если var является строкой UTF-16, FALSE в противном случае.

Смотрите также

  • is_binary() - Проверяет, является ли переменная бинарной строкой
  • is_buffer() - Проверяет, является ли переменная бинарной строкой или строкой UTF-16
  • is_string() - Проверяет, является ли переменная строкой
  • unicode_encode() - Convert a unicode string in any encoding

is_string
isset
Функции для работы с переменными


Устанавливает, определена ли переменная

is_unicode
print_r
Функции для работы с переменными
PHP Manual

isset

(PHP 4, PHP 5)

isset — Устанавливает, определена ли переменная

Описание

bool isset ( mixed $var [, mixed $var [, $... ]] )

Устанавливает, определена ли переменная.

Если переменная была удалена с помощью unset(), то она больше не является определенной. isset() вернет FALSE если проверяемой переменной присвоено значение NULL. Следует помнить, что NULL-байт ("\0") не является эквивалентом константе PHP NULL.

Если были переданы несколько параметров, то isset() вернет TRUE только в том случае, если все параметры определены. Проверка происходит слева направо и заканчивается, как только будет встречена неопределенная переменная.

Список параметров

var

Проверяемая переменная.

var

Другая переменная ..

...

Возвращаемые значения

Возвращает TRUE, если var определена; FALSE в противном случае.

Примеры

Пример #1 Пример использования isset()

<?php

$var = '';

// Проверка вернет TRUE, поэтому текст будет напечатан.
if (isset($var)) {
    echo "This var is set so I will print.";
}

// В следующем примере мы используем 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);

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

?>

Примечания

Внимание

isset() работает только с переменными, поэтому передача в качестве параметров любых других значений приведет к ошибке парсинга. Для проверки определения констант используйте функцию defined().

Замечание: Поскольку это языковая конструкция, а не функция, она не может вызываться при помощи переменных функций

Смотрите также

  • empty() - Проверяет переменную на пустоту
  • unset() - Удаляет данную переменную
  • defined() - Checks whether a given named constant exists
  • Таблица сравнения типов в PHP
  • array_key_exists() - Проверить, присутствует ли в массиве указанный ключ или индекс
  • is_null() - Проверяет, является ли значение переменной равным NULL
  • Оператор управления ошибками @

is_unicode
print_r
Функции для работы с переменными


Выводит удобочитаемую информацию о переменной

isset
serialize
Функции для работы с переменными
PHP Manual

print_r

(PHP 4, PHP 5)

print_r — Выводит удобочитаемую информацию о переменной

Описание

mixed print_r ( mixed $expression [, bool $return ] )

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, значениия будут напечатаны в формате, показывающем ключи и елементы массива. Аналогичный формат вывода используется для объектов.

Примечания

Замечание: This function uses internal output buffering with this parameter so it can not be used inside an ob_start() callback function.

Список изменений

Версия | Описание
4.3.0 | Добавлен параметр return . Если Вам необходимо перехватить вывод print_r() в ранних версиях PHP, используйте output-control функции.
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() - Turn on output buffering
  • 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.

Возвращаемые значения

Возвращает строку, содержащую потоковое представление переменной 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 | Был исправлен процесс сериализации объектов.
4.0.0 | При сериализации объекта методы теперь не теряются. См. Serializing Objects для более подробной информации.

Примечания

Замечание: Невозможно сериализовать встроенные объекты PHP.

Смотрите также

  • unserialize() - Создает значение PHP из хранимого представления
  • Serializing Objects

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" (возможно только для 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 для более подробной информации о преобразовании в строки.

Список параметров

var

Переменная, которую необходимо преобразовать в строку.

var может быть любого скалярного типа. Вы не сможете применить функцию strval() к массиву или объекту.

Возвращаемые значения

Строковое значение параметра var .

Смотрите также

  • floatval() - Возвращает значение переменной в виде числа с плавающей точкой
  • intval() - Возвращает целое значение переменной
  • settype() - Присваивает переменной новый тип
  • Манипуляции с типами

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
Существует возможность указать функцию обратного вызова, которая будет вызвана, если в процессе десериализации должен быть проинициализирован неопределенный класс. (для предотвращения получения неполного объекта "__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.
4.0.0 | При сериализации объекта методы больше не теряются. См. Serializing Objects для более подробной информации.

Примеры

Пример #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() - Генерирует пригодное для хранения представление переменной

strval
unset
Функции для работы с переменными


Удаляет данную переменную

unserialize
var_dump
Функции для работы с переменными
PHP Manual

unset

(PHP 4, PHP 5)

unset — Удаляет данную переменную

Описание

void unset ( mixed $var [, 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

Переменная, которую необходимо удалить.

var

Другая переменная ..

...

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Список изменений

Версия | Описание
4.0.0 | unset() становится выражением. (В PHP 3 unset() всегда возвращала 1).

Примеры

Пример #1 Пример использования unset()

<?php
// удалить одну переменную
unset($foo);

// удалить один элемент массива
unset($bar['quux']);

// удалить несколько переменных
unset($foo1, $foo2, $foo3);
?>

Пример #2 Использование преобразования типа (unset)

<?php
$name = 'Felipe';

var_dump((unset) $name);
?>

Примечания

Замечание: Поскольку это языковая конструкция, а не функция, она не может вызываться при помощи переменных функций

Замечание: Существует возможность удалить даже аттрибуты объекта, видимые в текущем контексте.

Замечание: Невозможно удалить $this внутри метода объекта, начиная с PHP 5.

Смотрите также

  • isset() - Устанавливает, определена ли переменная
  • empty() - Проверяет переменную на пустоту
  • array_splice() - Удалить последовательность элементов массива и заменить её другой последовательностью

unserialize
var_dump
Функции для работы с переменными


Выводит информацию о переменной

unset
var_export
Функции для работы с переменными
PHP Manual

var_dump

(PHP 4, PHP 5)

var_dump — Выводит информацию о переменной

Описание

void var_dump ( mixed $expression [, mixed $expression [, $... ]] )

Функция отображает структурированную информацию об одном или нескольких выражениях, которая включает в себя их тип и значение. Массивы и объекты анализируются рекурсивно с разным отступом у значений для визуального отображения структуры.

В 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
Web Services
Функции для работы с переменными
PHP Manual

var_export

(PHP 4 >= 4.2.0, PHP 5)

var_export — Выводит в браузер или возвращает интерпретируемое строковое представление переменной

Описание

mixed var_export ( mixed $expression [, bool $return ] )

var_export() возвращает структурированную информацию о данной переменной. Функция аналогична var_dump() за одним исключением: возвращаемое представление является полноценным PHP кодом.

Список параметров

expression

Переменная, которую необходимо экспортировать.

return

Если используется и значение равно TRUE, var_export() вернет представление переменной вместо его вывода.

Замечание: This function uses internal output buffering with this parameter so it can not be used inside an ob_start() callback function.

Возвращаемые значения

Возвращает представление переменной, если параметр return используется и приравнивается к TRUE. В противном случае функция возвращает NULL.

Список изменений

Версия | Описание
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
Web Services
Функции для работы с переменными


Web Services

  • OAuth
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • OAuth Функции
    • OAuth — The OAuth 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

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • OAuth Функции
    • oauth_get_sbs — Generate a Signature Base String
    • oauth_urlencode — Encode a URI to RFC3686
  • OAuth — The OAuth class
    • OAuth::__construct — Create a new OAuth object
    • OAuth::disableDebug — Turn off verbose debugging
    • OAuth::disableSSLChecks — Turn off SSL checks
    • OAuth::enableDebug — Turn on verbose debugging
    • OAuth::enableSSLChecks — Turn on SSL checks
    • OAuth::fetch — Fetch an OAuth protected resource
    • OAuth::getAccessToken — The getAccessToken purpose
    • OAuth::getLastResponse — Get the last response
    • OAuth::getLastResponseInfo — Get HTTP information about the last response
    • OAuth::getRequestToken — Fetch a request token
    • OAuth::setAuthType — The setAuthType purpose
    • OAuth::setNonce — Set the nonce for subsequent requests
    • OAuth::setToken — Sets the token and secret
    • OAuth::setVersion — Set the OAuth version
  • OAuthException — OAuthException class
Web Services
Введение
Web Services


Введение

This extension provides OAuth consumer 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 libcurl with HTTPS support.

Установка и настройка
Установка
Установка и настройка


Установка

Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, могут быть найдены здесь: » http://pear.php.net/package/oauth

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение подгружается во время выполнения.

OAUTH_SIG_METHOD_HMACSHA1 (string)

OAuth HMAC-SHA1 signature method

OAUTH_AUTH_TYPE_AUTHORIZATION (string)

This constant represents putting OAuth parameters in the Authorization header.

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 Функции
OAuth


OAuth Функции

Содержание

  • oauth_get_sbs — Generate a Signature Base String
  • oauth_urlencode — Encode a URI to RFC3686
Предопределенные константы
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 RFC3686

oauth_get_sbs
OAuth
OAuth Функции
PHP Manual

oauth_urlencode

(PECL OAuth >=0.99.2)

oauth_urlencode — Encode a URI to RFC3686

Описание

string oauth_urlencode ( string $uri )

Encodes a URI to » RFC3686.

Список параметров

uri

URI to encode.

Возвращаемые значения

Returns an » RFC3686 encoded string.

oauth_get_sbs
OAuth
OAuth Функции


The OAuth class

Введение

The OAuth extension provides a simple interface to interact with data providers using the OAuth HTTP specification to protect private resources.

Class synopsis

OAuth
OAuth {
/* Methods */
__construct ( string $consumer_key , string $consumer_secret [, string $signature_method [, string $auth_type ]] )
public bool disableDebug ( void )
public bool disableSSLChecks ( void )
public bool enableDebug ( void )
public bool enableSSLChecks ( void )
public bool fetch ( string $protected_resource_url [, array $extra_parameters [, int $http_method [, array $http_headers ]]] )
public array getAccessToken ( string $access_token_url [, string $auth_session_handle [, string $verifier_token ]] )
public string getLastResponse ( void )
public array getLastResponseInfo ( void )
public array getRequestToken ( string $request_token_url , string $callback_url )
public bool setAuthType ( string $auth_type )
public bool setNonce ( string $nonce )
public bool setToken ( string $token , string $token_secret )
public bool setVersion ( string $version )
}

Содержание

  • OAuth::__construct — Create a new OAuth object
  • OAuth::disableDebug — Turn off verbose debugging
  • OAuth::disableSSLChecks — Turn off SSL checks
  • OAuth::enableDebug — Turn on verbose debugging
  • OAuth::enableSSLChecks — Turn on SSL checks
  • OAuth::fetch — Fetch an OAuth protected resource
  • OAuth::getAccessToken — The getAccessToken purpose
  • OAuth::getLastResponse — Get the last response
  • OAuth::getLastResponseInfo — Get HTTP information about the last response
  • OAuth::getRequestToken — Fetch a request token
  • OAuth::setAuthType — The setAuthType purpose
  • OAuth::setNonce — Set the nonce for subsequent requests
  • 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::disableDebug
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 [, string $auth_type ]] )

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::disableDebug
OAuth


Turn off verbose debugging

OAuth::__construct
OAuth::disableSSLChecks
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 member can be set to a FALSE value to turn debug off.

Список параметров

This function has no parameters.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
0.99.8 | The debug member was added

Смотрите также

  • OAuth::enableDebug - Turn on verbose debugging

OAuth::__construct
OAuth::disableSSLChecks
OAuth


Turn off SSL checks

OAuth::disableDebug
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.

Список параметров

This function has no parameters.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
0.99.8 | The sslChecks member was added

Смотрите также

  • OAuth::enableSSLChecks - Turn on SSL checks

OAuth::disableDebug
OAuth::enableDebug
OAuth


Turn on verbose debugging

OAuth::disableSSLChecks
OAuth::enableSSLChecks
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.

Список параметров

This function has no parameters.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
0.99.8 | The debug and debugInfo members were added

Смотрите также

  • OAuth::disableDebug - Turn off verbose debugging

OAuth::disableSSLChecks
OAuth::enableSSLChecks
OAuth


Turn on SSL checks

OAuth::enableDebug
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.

Список параметров

This function has no parameters.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
0.99.8 | The sslChecks member was added

Смотрите также

  • OAuth::disableSSLChecks - Turn off SSL checks

OAuth::enableDebug
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 bool OAuth::fetch ( string $protected_resource_url [, array $extra_parameters [, int $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

http_method can be one of the following:

OAUTH_HTTP_METHOD_GET
Set the request method to GET.
OAUTH_HTTP_METHOD_POST
Set the request method to POST.
OAUTH_HTTP_METHOD_PUT
Set the request method to PUT.
OAUTH_HTTP_METHOD_HEAD
Set the request method to HEAD, this 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 в случае возникновения ошибки.

Список изменений

Версия | Описание
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


The getAccessToken purpose

OAuth::fetch
OAuth::getLastResponse
OAuth
PHP Manual

OAuth::getAccessToken

(PECL OAuth >= 0.99.1)

OAuth::getAccessToken — The getAccessToken purpose

Описание

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 NULL on failure.

Список изменений

Версия | Описание
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->getRequestToken("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::getLastResponse
OAuth


Get the last response

OAuth::getAccessToken
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.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns a string containing the last response.

Смотрите также

  • OAuth::getLastResponseInfo - Get HTTP information about the last response
  • OAuth::fetch - Fetch an OAuth protected resource

OAuth::getAccessToken
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.

Список параметров

This function has no parameters.

Возвращаемые значения

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 NULL on failure.

Список изменений

Версия | Описание
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


The setAuthType purpose

OAuth::getRequestToken
OAuth::setNonce
OAuth
PHP Manual

OAuth::setAuthType

(PECL OAuth >= 0.99.1)

OAuth::setAuthType — The setAuthType purpose

Описание

public bool OAuth::setAuthType ( string $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.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

OAuth::getRequestToken
OAuth::setNonce
OAuth


Set the nonce for subsequent requests

OAuth::setAuthType
OAuth::setToken
OAuth
PHP Manual

OAuth::setNonce

(PECL OAuth >= 0.99.1)

OAuth::setNonce — Set the nonce for subsequent requests

Описание

public bool OAuth::setNonce ( string $nonce )

Sets the nonce for all subsequent requests.

Список параметров

nonce

The value for oauth_nonce.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • OAuth::setToken - Sets the token and secret
  • OAuth::setAuthType - The setAuthType purpose
  • OAuth::setVersion - Set the OAuth version

OAuth::setAuthType
OAuth::setToken
OAuth


Sets the token and secret

OAuth::setNonce
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 в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 OAuth::setToken() example

<?php
$oauth = new OAuth(OAUTH_CONSUMER_KEY,OAUTH_CONSUMER_SECRET);
$oauth->setToken("token","token-secret");
?>

OAuth::setNonce
OAuth::setVersion
OAuth


Set the OAuth version

OAuth::setToken
OAuthException
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
OAuthException
OAuth


OAuthException class

Введение

This exception is thrown when exceptional errors occur while using the OAuth extension and contains useful debugging information.

Class synopsis

OAuthException
OAuthException extends Exception {
/* Properties */
public $lastResponse ;
/* Inherited methods */
final public string Exception::getMessage ( void )
final public int 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

OAuth::setVersion
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
Введение
Web Services


Введение

Внимание

Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, включая имена его функций и относящуюся к нему документацию, может измениться в последующих версиях 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

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Примеры
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 that 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:

$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.

Errors/Exceptions

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.

Errors/Exceptions

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.

Errors/Exceptions

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 — Calls a SOAP function (deprecated)
    • SoapClient::__construct — SoapClient constructor
    • 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 — Calls a SOAP function
    • SoapClient::SoapClient — SoapClient constructor
  • 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 — Sets the class which handles SOAP requests
    • 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
Введение
Web Services


Введение

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


Требования

This extension makes use of the » GNOME xml library. Download and install this library. It requires at least libxml-2.5.4.

Установка и настройка
Установка
Установка и настройка


Установка

This extension is only available if PHP was configured with --enable-soap.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

SOAP Опции настройки
Имя | По умолчанию | Меняемо | Changelog
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_1_1 (integer)
SOAP_1_2 (integer)
SOAP_PERSISTENCE_SESSION (integer)
SOAP_PERSISTENCE_REQUEST (integer)
SOAP_FUNCTIONS_ALL (integer)
SOAP_ENCODED (integer)
SOAP_LITERAL (integer)
SOAP_RPC (integer)
SOAP_DOCUMENT (integer)
SOAP_ACTOR_NEXT (integer)
SOAP_ACTOR_NONE (integer)
SOAP_ACTOR_UNLIMATERECEIVER (integer)
SOAP_COMPRESSION_ACCEPT (integer)
SOAP_COMPRESSION_GZIP (integer)
SOAP_COMPRESSION_DEFLATE (integer)
SOAP_AUTHENTICATION_BASIC (integer)
SOAP_AUTHENTICATION_DIGEST (integer)
UNKNOWN_TYPE (integer)
XSD_STRING (integer)
XSD_BOOLEAN (integer)
XSD_DECIMAL (integer)
XSD_FLOAT (integer)
XSD_DOUBLE (integer)
XSD_DURATION (integer)
XSD_DATETIME (integer)
XSD_TIME (integer)
XSD_DATE (integer)
XSD_GYEARMONTH (integer)
XSD_GYEAR (integer)
XSD_GMONTHDAY (integer)
XSD_GDAY (integer)
XSD_GMONTH (integer)
XSD_HEXBINARY (integer)
XSD_BASE64BINARY (integer)
XSD_ANYURI (integer)
XSD_QNAME (integer)
XSD_NOTATION (integer)
XSD_NORMALIZEDSTRING (integer)
XSD_TOKEN (integer)
XSD_LANGUAGE (integer)
XSD_NMTOKEN (integer)
XSD_NAME (integer)
XSD_NCNAME (integer)
XSD_ID (integer)
XSD_IDREF (integer)
XSD_IDREFS (integer)
XSD_ENTITY (integer)
XSD_ENTITIES (integer)
XSD_INTEGER (integer)
XSD_NONPOSITIVEINTEGER (integer)
XSD_NEGATIVEINTEGER (integer)
XSD_LONG (integer)
XSD_INT (integer)
XSD_SHORT (integer)
XSD_BYTE (integer)
XSD_NONNEGATIVEINTEGER (integer)
XSD_UNSIGNEDLONG (integer)
XSD_UNSIGNEDINT (integer)
XSD_UNSIGNEDSHORT (integer)
XSD_UNSIGNEDBYTE (integer)
XSD_POSITIVEINTEGER (integer)
XSD_NMTOKENS (integer)
XSD_ANYTYPE (integer)
XSD_ANYXML (integer)
APACHE_MAP (integer)
SOAP_ENC_OBJECT (integer)
SOAP_ENC_ARRAY (integer)
XSD_1999_TIMEINSTANT (integer)
XSD_NAMESPACE (string)
XSD_1999_NAMESPACE (string)
SOAP_SINGLE_ELEMENT_ARRAYS (integer)
SOAP_WAIT_ONE_WAY_CALLS (integer)
SOAP_USE_XSI_ARRAY_TYPE (integer)
WSDL_CACHE_NONE (integer)
WSDL_CACHE_DISK (integer)
WSDL_CACHE_MEMORY (integer)
WSDL_CACHE_BOTH (integer)

Типы ресурсов
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 constructor
  • 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 ] )

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.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • 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

Введение

The SoapClient class provides a client for » SOAP 1.1, » SOAP 1.2 servers. It can be used in WSDL or non-WSDL mode.

Class synopsis

SoapClient
SoapClient {
/* Methods */
public void __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 void __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 — Calls a SOAP function (deprecated)
  • SoapClient::__construct — SoapClient constructor
  • 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 — Calls a SOAP function
  • SoapClient::SoapClient — SoapClient constructor
use_soap_error_handler
SoapClient::__call
SOAP


Calls a SOAP function (deprecated)

SoapClient
SoapClient::__construct
SoapClient
PHP Manual

SoapClient::__call

(PHP 5 >= 5.0.1)

SoapClient::__call — Calls a SOAP function (deprecated)

Описание

public void SoapClient::__call ( string $function_name , string $arguments )

This method is deprecated. Use SoapClient::__soapCall instead of it.

SoapClient
SoapClient::__construct
SoapClient


SoapClient constructor

SoapClient::__call
SoapClient::__doRequest
SoapClient
PHP Manual

SoapClient::__construct

(PHP 5 >= 5.0.1)

SoapClient::__construct — SoapClient constructor

Описание

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) {
    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 void SoapClient::__getFunctions ( void )

Returns a list of available SOAP functions.

This function only works in WSDL mode.

Список параметров

This function has no parameters.

Возвращаемые значения

The list of SOAP functions.

Примеры

Пример #1 SoapClient::__getFunctions() example

<?php
$client = new SoapClient('some.wsdl');
var_dump($client->__getFunctions());
?>

Смотрите также

  • SoapClient::SoapClient - SoapClient constructor

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.

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Список параметров

This function has no parameters.

Возвращаемые значения

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 sent in the last SOAP response.

Замечание: This method works only if the SoapClient object was created with the trace option set to TRUE.

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Список параметров

This function has no parameters.

Возвращаемые значения

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.

Замечание: This function only works in WSDL mode.

Список параметров

This function has no parameters.

Возвращаемые значения

An array of SOAP types.

Примеры

Пример #1 SoapClient::__getTypes() example

<?php
$client = new SoapClient("some.wsdl");
var_dump($client->__getTypes());
?>

Смотрите также

  • SoapClient::SoapClient - SoapClient constructor

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 constructor

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. If not specified, 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


Calls a SOAP function

SoapClient::__setSoapHeaders
SoapClient::SoapClient
SoapClient
PHP Manual

SoapClient::__soapCall

(PHP 5 >= 5.0.1)

SoapClient::__soapCall — Calls a SOAP function

Описание

public mixed SoapClient::__soapCall ( string $function_name , array $arguments [, array $options [, mixed $input_headers [, array &$output_headers ]]] )

This is a low level API function that is used to make a SOAP call. Usually, in WSDL mode, SOAP functions can be called as methods of the SoapClient object. This method is useful in non-WSDL mode when soapaction is unknown, uri differs from the default or when sending and/or receiving SOAP Headers.

On error, a call to a SOAP function can cause PHP to throw exceptions or return a SoapFault object if exceptions are disabled. To check if the function call failed to catch the SoapFault exceptions, check the result with is_soap_fault().

Список параметров

function_name

The name of the SOAP function to call.

arguments

An array of the arguments to pass to the function. This can be either an ordered or an associative array.

options

An associative array of options to pass to the client.

The location option is the URL of the remote Web service.

The uri option is the target namespace of the SOAP service.

The soapaction option is the action to call.

input_headers

An array of headers to be sent along with the SOAP request.

output_headers

If supplied, this array will be filled with the headers from the SOAP response.

Возвращаемые значения

SOAP functions may return one, or multiple values. If only one value is returned by the SOAP function, the return value of __soapCall will be a simple value (e.g. an integer, a string, etc). If multiple values are returned, __soapCall will return an associative array of named output parameters.

On error, if the SoapClient object was constructed with the trace option set to FALSE, a SoapFault object will be returned.

Примеры

Пример #1 SoapClient::__soapCall() example

<?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 constructor
  • 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 constructor

SoapClient::__soapCall
SoapServer
SoapClient
PHP Manual

SoapClient::SoapClient

(PHP 5 >= 5.0.1)

SoapClient::SoapClient — SoapClient constructor

Описание

SoapClient::SoapClient ( mixed $wsdl [, array $options ] )

This constructor creates SoapClient objects in WSDL or non-WSDL mode.

Список параметров

wsdl

URI of the WSDL file or NULL if working in non-WSDL mode.

Замечание: During development, WSDL caching may be disabled by the use of the soap.wsdl_cache_ttl php.ini setting otherwise changes made to the WSDL file will have no effect until soap.wsdl_cache_ttl is expired.

options

An array of options. If working in WSDL mode, this parameter is optional. If working in non-WSDL mode, the locationand uri options must be set, where location is the URL to request and uri is the target namespace of the SOAP service.

The style and use options only work in non-WSDL mode. In WSDL mode, they come from the WSDL file.

The soap_version option specifies whether to use SOAP 1.1, or SOAP 1.2 client.

For HTTP authentication, the login and password options can be used to supply credentials. For making an HTTP connection through a proxy server, the options proxy_host, proxy_port, proxy_login and proxy_password are also available. For HTTPS client certificate authentication use local_cert and passphrase options.

The compression option allows to use compression of HTTP SOAP requests and responses.

The encoding option defines internal character encoding. This option does not change the encoding of SOAP requests (it is always utf-8), but converts strings into it.

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.

Setting the boolean trace option enables use of the
methods
SoapClient->__getLastRequest,

SoapClient->__getLastRequestHeaders,

SoapClient->__getLastResponse and

SoapClient->__getLastResponseHeaders.

The exceptions option is a boolean value defining whether soap errors throw exceptions of type SoapFault.

The connection_timeout option defines a timeout in seconds for the connection to the SOAP service. This option does not define a timeout for services with slow responses. To limit the time to wait for calls to finish the default_socket_timeout setting is available.

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.

The user_agent option specifies string to use in User-Agent header.

The stream_context option is a resource for context.

The features option is a bitmask of SOAP_SINGLE_ELEMENT_ARRAYS, SOAP_USE_XSI_ARRAY_TYPE, SOAP_WAIT_ONE_WAY_CALLS.

Примеры

Пример #1 SoapClient::SoapClient() example

<?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

Введение

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.

Class synopsis

SoapServer
SoapServer {
/* Methods */
public void addFunction ( string $functions )
public void addSoapHeader ( string $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 [, string $args ] )
public void setObject ( string $object )
public void setPersistence ( string $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 — Sets the class which handles SOAP requests
  • 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 ( string $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 - Sets the class which handles SOAP requests

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 ( string $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.

Список параметров

This function has no parameters.

Возвращаемые значения

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 - Sets the class which handles SOAP requests

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


Sets the class which handles SOAP requests

SoapServer::handle
SoapServer::setObject
SoapServer
PHP Manual

SoapServer::setClass

(PHP 5 >= 5.0.1)

SoapServer::setClass — Sets the class which handles SOAP requests

Описание

public void SoapServer::setClass ( string $class_name [, string $args ] )

Exports all methods from specified class.

The object can be made persistent across request for a given PHP session with the SoapServer::setPersistence method.

Список параметров

class_name

The name of the exported class.

args

These optional parameters will be passed to the default class constructor during object creation.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • 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 ( string $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 - Sets the class which handles SOAP requests

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 ( string $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 - Sets the class which handles SOAP requests
  • 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.

Примеры

Пример #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 constructor

SoapServer::setPersistence
SoapFault
SoapServer


The SoapFault class

Введение

Represents a SOAP fault.

Class synopsis

SoapFault
SoapFault extends Exception {
/* Properties */
/* Methods */
__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 void __toString ( void )
/* Inherited methods */
final public string Exception::getMessage ( void )
final public int 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 details 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 void SoapFault::__toString ( void )

Returns a string representation of the SoapFault.

Список параметров

This function has no parameters.

Возвращаемые значения

A string describing the SoapFault.

SoapFault::SoapFault
SoapHeader
SoapFault


The SoapHeader class

Введение

Represents a SOAP header.

Class synopsis

SoapHeader
SoapHeader {
/* Methods */
__construct ( string $namespace , string $name [, mixed $data [, bool $mustunderstand [, string $actor ]]] )
SoapHeader ( string $namespace , string $name [, mixed $data [, bool $mustunderstand [, 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 [, 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 - Calls a SOAP function
  • SoapVar::SoapVar - SoapVar constructor
  • SoapParam::SoapParam - SoapParam constructor

SoapHeader::__construct
SoapParam
SoapHeader


The SoapParam class

Введение

Represents parameter to a SOAP call.

Class synopsis

SoapParam
SoapParam {
/* Methods */
__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 - Calls a SOAP function
  • SoapVar::SoapVar - SoapVar constructor

SoapParam::__construct
SoapVar
SoapParam


The SoapVar class

Введение

A class representing a variable or object for use with SOAP services.

Class synopsis

SoapVar
SoapVar {
/* Methods */
__construct ( string $data , string $encoding [, string $type_name [, string $type_namespace [, string $node_name [, string $node_namespace ]]]] )
SoapVar ( string $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 ( string $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 - Calls a SOAP function
  • SoapParam::SoapParam - SoapParam constructor

SoapVar::__construct
XML-RPC
SoapVar


XML-RPC

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • XML-RPC Функции
    • xmlrpc_decode_request — Decodes XML into native PHP types
    • xmlrpc_decode — Decodes XML into native PHP types
    • xmlrpc_encode_request — Generates XML for a method request
    • xmlrpc_encode — Generates XML for a PHP value
    • xmlrpc_get_type — Gets xmlrpc type for a PHP value
    • xmlrpc_is_fault — Determines if an array value represents an XMLRPC fault
    • xmlrpc_parse_method_descriptions — Decodes XML into a list of method descriptions
    • xmlrpc_server_add_introspection_data — Adds introspection documentation
    • xmlrpc_server_call_method — Parses XML requests and call methods
    • xmlrpc_server_create — Creates an xmlrpc server
    • xmlrpc_server_destroy — Destroys server resources
    • xmlrpc_server_register_introspection_callback — Register a PHP function to generate documentation
    • xmlrpc_server_register_method — Register a PHP function to resource method matching method_name
    • xmlrpc_set_type — Sets xmlrpc type, base64 or datetime, for a PHP string value
SoapVar::SoapVar
Введение
Web Services


Введение

These functions can be used to write XML-RPC servers and clients. You can find more information about XML-RPC at » http://www.xmlrpc.com/, and more documentation on this extension and its functions at » http://xmlrpc-epi.sourceforge.net/.

Внимание

Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, включая имена его функций и относящуюся к нему документацию, может измениться в последующих версиях PHP без уведомления. Используйте это расширение на свой страх и риск.

XML-RPC
Установка и настройка
XML-RPC


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
XML-RPC


Установка

XML-RPC support in PHP is not enabled by default. You will need to use the --with-xmlrpc[=DIR] configuration option when compiling PHP to enable XML-RPC support. This extension is bundled into PHP as of 4.1.0.

Требования
Настройка во время выполнения
Установка и настройка


Типы ресурсов

This extension defines a XML-RPC server resource returned by xmlrpc_server_create().

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
XML-RPC Функции
XML-RPC


XML-RPC Функции

Содержание

  • xmlrpc_decode_request — Decodes XML into native PHP types
  • xmlrpc_decode — Decodes XML into native PHP types
  • xmlrpc_encode_request — Generates XML for a method request
  • xmlrpc_encode — Generates XML for a PHP value
  • xmlrpc_get_type — Gets xmlrpc type for a PHP value
  • xmlrpc_is_fault — Determines if an array value represents an XMLRPC fault
  • xmlrpc_parse_method_descriptions — Decodes XML into a list of method descriptions
  • xmlrpc_server_add_introspection_data — Adds introspection documentation
  • xmlrpc_server_call_method — Parses XML requests and call methods
  • xmlrpc_server_create — Creates an xmlrpc server
  • xmlrpc_server_destroy — Destroys server resources
  • xmlrpc_server_register_introspection_callback — Register a PHP function to generate documentation
  • xmlrpc_server_register_method — Register a PHP function to resource method matching method_name
  • xmlrpc_set_type — Sets xmlrpc type, base64 or datetime, for a PHP string value
Предопределенные константы
xmlrpc_decode_request
XML-RPC


Decodes XML into native PHP types

XML-RPC Функции
xmlrpc_decode
XML-RPC Функции
PHP Manual

xmlrpc_decode_request

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_decode_request — Decodes XML into native PHP types

Описание

mixed xmlrpc_decode_request ( string $xml , string &$method [, string $encoding ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

XML-RPC Функции
xmlrpc_decode
XML-RPC Функции


Decodes XML into native PHP types

xmlrpc_decode_request
xmlrpc_encode_request
XML-RPC Функции
PHP Manual

xmlrpc_decode

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_decode — Decodes XML into native PHP types

Описание

mixed xmlrpc_decode ( string $xml [, string $encoding ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Список параметров

xml

XML response returned by XMLRPC method.

encoding

Input encoding supported by iconv (defaults to "iso-8859-1").

Возвращаемые значения

Returns either an array, or an integer, or a string, or a boolean according to the response returned by the XMLRPC method.

Примеры

See example by xmlrpc_encode_request().

Смотрите также

  • xmlrpc_encode_request() - Generates XML for a method request
  • xmlrpc_is_fault() - Determines if an array value represents an XMLRPC fault

xmlrpc_decode_request
xmlrpc_encode_request
XML-RPC Функции


Generates XML for a method request

xmlrpc_decode
xmlrpc_encode
XML-RPC Функции
PHP Manual

xmlrpc_encode_request

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_encode_request — Generates XML for a method request

Описание

string xmlrpc_encode_request ( string $method , mixed $params [, array $output_options ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Список параметров

method

Name of the method to call.

params

Method parameters compatible with method signature.

output_options

Array specifying output options may contain (default values are emphasised):

  • output_type: php, xml

  • verbosity: no_white_space, newlines_only, pretty

  • escaping: cdata, non-ascii, non-print, markup (may be a string with one value or an array with multiple values)

  • version: simple, xmlrpc, soap 1.1, auto

  • encoding: iso-8859-1, other character set supported by iconv

Возвращаемые значения

Returns a string containing the XML representation of the request.

Примеры

Пример #1 XMLRPC client functions example

<?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 (xmlrpc_is_fault($response)) {
    trigger_error("xmlrpc: $response[faultString] ($response[faultCode])");
} else {
    print_r($response);
}
?>

Смотрите также

  • stream_context_create() - Create a streams context
  • file_get_contents() - Получить содержимое файла в виде одной строки
  • xmlrpc_decode() - Decodes XML into native PHP types

xmlrpc_decode
xmlrpc_encode
XML-RPC Функции


Generates XML for a PHP value

xmlrpc_encode_request
xmlrpc_get_type
XML-RPC Функции
PHP Manual

xmlrpc_encode

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_encode — Generates XML for a PHP value

Описание

string xmlrpc_encode ( mixed $value )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

xmlrpc_encode_request
xmlrpc_get_type
XML-RPC Функции


Gets xmlrpc type for a PHP value

xmlrpc_encode
xmlrpc_is_fault
XML-RPC Функции
PHP Manual

xmlrpc_get_type

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_get_type — Gets xmlrpc type for a PHP value

Описание

string xmlrpc_get_type ( mixed $value )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

This function is especially useful for base64 and datetime strings.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

xmlrpc_encode
xmlrpc_is_fault
XML-RPC Функции


Determines if an array value represents an XMLRPC fault

xmlrpc_get_type
xmlrpc_parse_method_descriptions
XML-RPC Функции
PHP Manual

xmlrpc_is_fault

(PHP 4 >= 4.3.0, PHP 5)

xmlrpc_is_fault — Determines if an array value represents an XMLRPC fault

Описание

bool xmlrpc_is_fault ( array $arg )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Список параметров

arg

Array returned by xmlrpc_decode().

Возвращаемые значения

Returns TRUE if the argument means fault, FALSE otherwise. Fault description is available in $arg["faultString"], fault code is in $arg["faultCode"].

Примеры

See example by xmlrpc_encode_request().

Смотрите также

  • xmlrpc_decode() - Decodes XML into native PHP types

xmlrpc_get_type
xmlrpc_parse_method_descriptions
XML-RPC Функции


Decodes XML into a list of method descriptions

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 — Decodes XML into a list of method descriptions

Описание

array xmlrpc_parse_method_descriptions ( string $xml )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

xmlrpc_is_fault
xmlrpc_server_add_introspection_data
XML-RPC Функции


Adds introspection documentation

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 — Adds introspection documentation

Описание

int xmlrpc_server_add_introspection_data ( resource $server , array $desc )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

xmlrpc_parse_method_descriptions
xmlrpc_server_call_method
XML-RPC Функции


Parses XML requests and call methods

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 — Parses XML requests and call methods

Описание

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 Функции


Creates an xmlrpc server

xmlrpc_server_call_method
xmlrpc_server_destroy
XML-RPC Функции
PHP Manual

xmlrpc_server_create

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_server_create — Creates an xmlrpc server

Описание

resource xmlrpc_server_create ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

xmlrpc_server_call_method
xmlrpc_server_destroy
XML-RPC Функции


Destroys server resources

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 — Destroys server resources

Описание

int xmlrpc_server_destroy ( resource $server )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

xmlrpc_server_create
xmlrpc_server_register_introspection_callback
XML-RPC Функции


Register a PHP function to generate documentation

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 — Register a PHP function to generate documentation

Описание

bool xmlrpc_server_register_introspection_callback ( resource $server , string $function )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

xmlrpc_server_destroy
xmlrpc_server_register_method
XML-RPC Функции


Register a PHP function to resource method matching 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 — Register a PHP function to resource method matching 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 Функции


Sets xmlrpc type, base64 or datetime, for a PHP string value

xmlrpc_server_register_method
Windows Only Extensions
XML-RPC Функции
PHP Manual

xmlrpc_set_type

(PHP 4 >= 4.1.0, PHP 5)

xmlrpc_set_type — Sets xmlrpc type, base64 or datetime, for a PHP string value

Описание

bool xmlrpc_set_type ( string &$value , string $type )

Sets xmlrpc type, base64 or datetime, for a PHP string value.

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Список параметров

value

Value to set the type

type

'base64' or 'datetime'

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. If successful, value is converted to an object.

Примеры

Пример #1 A xmlrpc_set_type() example

<?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>

Errors/Exceptions

Issues E_WARNING with type unsupported by XMLRPC.

xmlrpc_server_register_method
Windows Only Extensions
XML-RPC Функции


Windows Only Extensions

  • .NET
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • .NET Функции
  • COM — COM and .Net (Windows)
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Errors and error handling
    • Примеры
    • COM Функции
  • Printer
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Printer Функции
  • W32api
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • W32api Функции
  • win32ps
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • win32ps Функции
  • win32service
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • win32service Функции
xmlrpc_set_type
.NET
Справочник функций


.NET

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • .NET Функции
    • dotnet_load — Loads a DOTNET module
Windows Only Extensions
Введение
Windows Only Extensions


Введение

Внимание

Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, включая имена его функций и относящуюся к нему документацию, может измениться в последующих версиях PHP без уведомления. Используйте это расширение на свой страх и риск.

.NET
Установка и настройка
.NET


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
.NET


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
.NET Функции
.NET


.NET Функции

Содержание

  • dotnet_load — Loads a DOTNET module
Предопределенные константы
dotnet_load
.NET


Loads a DOTNET module

.NET Функции
COM
.NET Функции
PHP Manual

dotnet_load

(PHP 4 >= 4.0.0)

dotnet_load — Loads a DOTNET module

Описание

int dotnet_load ( string $assembly_name [, string $datatype_name [, int $codepage ]] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Список изменений

Версия | Описание
4.1.0 | The codepage parameter was added

.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 Only Extensions


Введение

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_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных директив.

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 был собран с поддержкой этого расширения или же в том случае, если данное расширение подгружается во время выполнения.

CLSCTX_INPROC_SERVER (integer)
CLSCTX_INPROC_HANDLER (integer)
CLSCTX_LOCAL_SERVER (integer)
CLSCTX_REMOTE_SERVER (integer)
CLSCTX_SERVER (integer)
CLSCTX_ALL (integer)
VT_NULL (integer)
VT_EMPTY (integer)
VT_UI1 (integer)
VT_I2 (integer)
VT_I4 (integer)
VT_R4 (integer)
VT_R8 (integer)
VT_BOOL (integer)
VT_ERROR (integer)
VT_CY (integer)
VT_DATE (integer)
VT_BSTR (integer)
VT_DECIMAL (integer)
VT_UNKNOWN (integer)
VT_DISPATCH (integer)
VT_VARIANT (integer)
VT_I1 (integer)
VT_UI2 (integer)
VT_UI4 (integer)
VT_INT (integer)
VT_UINT (integer)
VT_ARRAY (integer)
VT_BYREF (integer)
CP_ACP (integer)
CP_MACCP (integer)
CP_OEMCP (integer)
CP_UTF7 (integer)
CP_UTF8 (integer)
CP_SYMBOL (integer)
CP_THREAD_ACP (integer)
VARCMP_LT (integer)
VARCMP_EQ (integer)
VARCMP_GT (integer)
VARCMP_NULL (integer)
NORM_IGNORECASE (integer)
NORM_IGNORENONSPACE (integer)
NORM_IGNORESYMBOLS (integer)
NORM_IGNOREWIDTH (integer)
NORM_IGNOREKANATYPE (integer)
NORM_IGNOREKASHIDA (integer)
DISP_E_DIVBYZERO (integer)
DISP_E_OVERFLOW (integer)
MK_E_UNAVAILABLE (integer)
Типы ресурсов
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.

Errors/Exceptions

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');
?>

Примечания

Замечание: This function does not exist in PHP 5; instead, you should use the regular and more natural OO syntax to access properties or call methods.

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);
?>

Замечание: This function does not exist in PHP 5; instead, you should use the regular and more natural OO syntax to access properties or call methods.

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 ] )

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);
?>

Примечания

Замечание: This function does not exist in PHP 5; instead, you should use the regular and more natural OO syntax to access properties or call methods.

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 ] )

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 ]] )

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().

Замечание: This function does not exist in PHP 5; instead, you should use the regular and more natural OO syntax to access properties or call methods.

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().

Замечание: This function does not exist in PHP 5; instead, you should use the regular and more natural OO syntax to access properties or call methods.

com_propget
com_propset
COM Функции


Псевдоним com_set

com_propput
com_release
COM Функции
PHP Manual

com_propset

(PHP 4)

com_propset — Псевдоним com_set()

Описание

Эта функция является псевдонимом com_set().

Замечание: This function does not exist in PHP 5; instead, you should use the regular and more natural OO syntax to access properties or call methods.

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);
?>

Примечания

Замечание: This function does not exist in PHP 5; instead, you should use the regular and more natural OO syntax to access properties or call methods.

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.

Замечание: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.
The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Возвращаемые значения

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.

Замечание: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.
The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Возвращаемые значения

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.

Замечание: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.
The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Возвращаемые значения

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.

Замечание: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.
The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Возвращаемые значения

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

Замечание: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.
The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Возвращаемые значения

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() - Возвращает метку времени для заданной даты
  • time() - Возвращает текущую метку времени

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.

Замечание: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.
The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Возвращаемые значения

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.

Замечание: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.
The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Возвращаемые значения

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.

Замечание: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.
The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Возвращаемые значения

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.

Замечание: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.
The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Возвращаемые значения

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.

Замечание: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.
The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Возвращаемые значения

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.

Замечание: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.
The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Возвращаемые значения

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.

Замечание: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.
The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Возвращаемые значения

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.

Замечание: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.
The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Возвращаемые значения

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.

Замечание: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.
The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Возвращаемые значения

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.

Замечание: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.
The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Возвращаемые значения

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.

Замечание: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.
The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Возвращаемые значения

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.

Замечание: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.
The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Возвращаемые значения

Returns the result of left to the power of right .

Смотрите также

  • pow() - Exponential expression

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.

Замечание: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.
The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Возвращаемые значения

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.

Замечание: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.
The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Возвращаемые значения

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
Printer
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.

Замечание: As with all the variant arithmetic functions, the parameters for this function can be either a PHP native type (integer, string, floating point, boolean or NULL), or an instance of a COM, VARIANT or DOTNET class. PHP native types will be converted to variants using the same rules as found in the constructor for the VARIANT class. COM and DOTNET objects will have the value of their default property taken and used as the variant value.
The variant arithmetic functions are wrappers around the similarly named functions in the COM library; for more information on these functions, consult the MSDN library. The PHP functions are named slightly differently; for example variant_add() in PHP corresponds to VarAdd() in the MSDN documentation.

Возвращаемые значения

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
Printer
COM Функции


Printer

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Printer Функции
    • printer_abort — Deletes the printer's spool file
    • printer_close — Close an open printer connection
    • printer_create_brush — Create a new brush
    • printer_create_dc — Create a new device context
    • printer_create_font — Create a new font
    • printer_create_pen — Create a new pen
    • printer_delete_brush — Delete a brush
    • printer_delete_dc — Delete a device context
    • printer_delete_font — Delete a font
    • printer_delete_pen — Delete a pen
    • printer_draw_bmp — Draw a bmp
    • printer_draw_chord — Draw a chord
    • printer_draw_elipse — Draw an ellipse
    • printer_draw_line — Draw a line
    • printer_draw_pie — Draw a pie
    • printer_draw_rectangle — Draw a rectangle
    • printer_draw_roundrect — Draw a rectangle with rounded corners
    • printer_draw_text — Draw text
    • printer_end_doc — Close document
    • printer_end_page — Close active page
    • printer_get_option — Retrieve printer configuration data
    • printer_list — Return an array of printers attached to the server
    • printer_logical_fontheight — Get logical font height
    • printer_open — Opens a connection to a printer
    • printer_select_brush — Select a brush
    • printer_select_font — Select a font
    • printer_select_pen — Select a pen
    • printer_set_option — Configure the printer connection
    • printer_start_doc — Start a new document
    • printer_start_page — Start a new page
    • printer_write — Write data to the printer
variant_xor
Введение
Windows Only Extensions


Введение

These functions are only available under Windows 9.x, ME, NT4 and 2000. They have been added in PHP 4.0.4.

Printer
Установка и настройка
Printer


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
Printer


Установка

This » PECL extension is not bundled with PHP.

Windows users must enable php_printer.dll inside of php.ini in order to use these functions. Вы можете получить не встроенное расширение PECL с различных страниц снимков PECL (выберите соответствующий репозиторий для вашей версии PHP): » PECL для PHP 4.3.x, » PECL для PHP 5.0.x или » PECL Нестабильные.

Требования
Настройка во время выполнения
Установка и настройка


Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Printer configuration options
Name | Default | Changeable | Changelog
printer.default_printer | "" | PHP_INI_ALL | Available since PHP 4.0.6. Removed in PHP 4.1.1.

Для подробного описания констант PHP_INI_*, обратитесь к документации функции ini_set().

Установка
Типы ресурсов
Установка и настройка


Типы ресурсов

This extension defines handles to a printer connection, to a brush, to a font and to a pen.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если 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)
Типы ресурсов
Printer Функции
Printer


Printer Функции

Содержание

  • printer_abort — Deletes the printer's spool file
  • printer_close — Close an open printer connection
  • printer_create_brush — Create a new brush
  • printer_create_dc — Create a new device context
  • printer_create_font — Create a new font
  • printer_create_pen — Create a new pen
  • printer_delete_brush — Delete a brush
  • printer_delete_dc — Delete a device context
  • printer_delete_font — Delete a font
  • printer_delete_pen — Delete a pen
  • printer_draw_bmp — Draw a bmp
  • printer_draw_chord — Draw a chord
  • printer_draw_elipse — Draw an ellipse
  • printer_draw_line — Draw a line
  • printer_draw_pie — Draw a pie
  • printer_draw_rectangle — Draw a rectangle
  • printer_draw_roundrect — Draw a rectangle with rounded corners
  • printer_draw_text — Draw text
  • printer_end_doc — Close document
  • printer_end_page — Close active page
  • printer_get_option — Retrieve printer configuration data
  • printer_list — Return an array of printers attached to the server
  • printer_logical_fontheight — Get logical font height
  • printer_open — Opens a connection to a printer
  • printer_select_brush — Select a brush
  • printer_select_font — Select a font
  • printer_select_pen — Select a pen
  • printer_set_option — Configure the printer connection
  • printer_start_doc — Start a new document
  • printer_start_page — Start a new page
  • printer_write — Write data to the printer
Предопределенные константы
printer_abort
Printer


Deletes the printer's spool file

Printer Функции
printer_close
Printer Функции
PHP Manual

printer_abort

(PECL printer CVS)

printer_abort — Deletes the printer's spool file

Описание

void printer_abort ( resource $printer_handle )

This function deletes the printers spool file.

Список параметров

printer_handle

printer_handle must be a valid handle to a printer.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 printer_abort() example

<?php
$handle = printer_open();
printer_abort($handle);
printer_close($handle);
?>

Printer Функции
printer_close
Printer Функции


Close an open printer connection

printer_abort
printer_create_brush
Printer Функции
PHP Manual

printer_close

(PECL printer CVS)

printer_close — Close an open printer connection

Описание

void printer_close ( resource $printer_handle )

This function closes the printer connection. printer_close() also closes the active device context.

Список параметров

printer_handle

printer_handle must be a valid handle to a printer.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 printer_close() example

<?php
$handle = printer_open();
printer_close($handle);
?>

printer_abort
printer_create_brush
Printer Функции


Create a new brush

printer_close
printer_create_dc
Printer Функции
PHP Manual

printer_create_brush

(PECL printer CVS)

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 a new device context

printer_create_brush
printer_create_font
Printer Функции
PHP Manual

printer_create_dc

(PECL printer CVS)

printer_create_dc — Create a new device context

Описание

void printer_create_dc ( resource $printer_handle )

The function creates a new device context. A device context is used to customize the graphic objects of the document.

Список параметров

printer_handle

printer_handle must be a valid printer handle.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 printer_create_dc() example

<?php
$handle = printer_open();
printer_start_doc($handle);
printer_start_page($handle);

printer_create_dc($handle);
/* do some stuff with the dc */
printer_set_option($handle, PRINTER_TEXT_COLOR, "333333");
printer_draw_text($handle, 1, 1, "text");
printer_delete_dc($handle);

/* create another dc */
printer_create_dc($handle);
printer_set_option($handle, PRINTER_TEXT_COLOR, "000000");
printer_draw_text($handle, 1, 1, "text");
/* do some stuff with the dc */

printer_delete_dc($handle);

printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
?>

printer_create_brush
printer_create_font
Printer Функции


Create a new font

printer_create_dc
printer_create_pen
Printer Функции
PHP Manual

printer_create_font

(PECL printer CVS)

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
Printer Функции


Create a new pen

printer_create_font
printer_delete_brush
Printer Функции
PHP Manual

printer_create_pen

(PECL printer CVS)

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 Функции


Delete a brush

printer_create_pen
printer_delete_dc
Printer Функции
PHP Manual

printer_delete_brush

(PECL printer CVS)

printer_delete_brush — Delete a brush

Описание

void printer_delete_brush ( resource $brush_handle )

The function deletes the selected brush. For an example see printer_select_brush().

Список параметров

brush_handle

brush_handle must be a valid handle to a brush.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

printer_create_pen
printer_delete_dc
Printer Функции


Delete a device context

printer_delete_brush
printer_delete_font
Printer Функции
PHP Manual

printer_delete_dc

(PECL printer CVS)

printer_delete_dc — Delete a device context

Описание

bool printer_delete_dc ( resource $printer_handle )

The function deletes the device context. For an example see printer_create_dc().

Список параметров

printer_handle

printer_handle must be a valid printer handle.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

printer_delete_brush
printer_delete_font
Printer Функции


Delete a font

printer_delete_dc
printer_delete_pen
Printer Функции
PHP Manual

printer_delete_font

(PECL printer CVS)

printer_delete_font — Delete a font

Описание

void printer_delete_font ( resource $font_handle )

The function deletes the selected font. For an example see printer_select_font().

Список параметров

font_handle

font_handle must be a valid handle to a font.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

printer_delete_dc
printer_delete_pen
Printer Функции


Delete a pen

printer_delete_font
printer_draw_bmp
Printer Функции
PHP Manual

printer_delete_pen

(PECL printer CVS)

printer_delete_pen — Delete a pen

Описание

void printer_delete_pen ( resource $pen_handle )

The function deletes the selected pen. For an example see printer_select_pen().

Список параметров

pen_handle

pen_handle must be a valid pen handle.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

printer_delete_font
printer_draw_bmp
Printer Функции


Draw a bmp

printer_delete_pen
printer_draw_chord
Printer Функции
PHP Manual

printer_draw_bmp

(PECL printer CVS)

printer_draw_bmp — Draw a bmp

Описание

bool printer_draw_bmp ( resource $printer_handle , string $filename , int $x , int $y [, int $width ], int $height )

The function draws an bmp.

Список параметров

printer_handle

printer_handle must be a valid printer handle.

filename

Path to the bitmap.

x

x is the upper left x coordinate of the bitmap.

y

y is the upper left y coordinate of the bitmap.

width

The bitmap width.

height

The bitmap height.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 printer_draw_bmp() example

<?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 a chord

printer_draw_bmp
printer_draw_elipse
Printer Функции
PHP Manual

printer_draw_chord

(PECL printer CVS)

printer_draw_chord — Draw a 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 )

The function simply draws an chord.

Список параметров

printer_handle

printer_handle must be a valid printer handle.

rec_x

rec_x is the upper left x coordinate of the bounding rectangle.

rec_y

rec_y is the upper left y coordinate of the bounding rectangle.

rec_x1

rec_x1 is the lower right x coordinate of the bounding rectangle.

rec_y1

rec_y1 is the lower right y coordinate of the bounding rectangle.

rad_x

rad_x is x coordinate of the radial defining the beginning of the chord.

rad_y

rad_y is y coordinate of the radial defining the beginning of the chord.

rad_x1

rad_x1 is x coordinate of the radial defining the end of the chord.

rad_y1

rad_y1 is y coordinate of the radial defining the end of the chord.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 printer_draw_chord() example

<?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 an ellipse

printer_draw_chord
printer_draw_line
Printer Функции
PHP Manual

printer_draw_elipse

(PECL printer CVS)

printer_draw_elipse — Draw an ellipse

Описание

void printer_draw_elipse ( resource $printer_handle , int $ul_x , int $ul_y , int $lr_x , int $lr_y )

The function draws an ellipse.

Список параметров

printer_handle

printer_handle must be a valid printer handle.

ul_x

ul_x is the upper left x coordinate of the ellipse.

ul_y

ul_y is the upper left y coordinate of the ellipse.

lr_x

lr_x is the lower right x coordinate of the ellipse.

lr_y

lr_y is the lower right y coordinate of the ellipse.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 printer_draw_elipse() example

<?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 a line

printer_draw_elipse
printer_draw_pie
Printer Функции
PHP Manual

printer_draw_line

(PECL printer CVS)

printer_draw_line — Draw a line

Описание

void printer_draw_line ( resource $printer_handle , int $from_x , int $from_y , int $to_x , int $to_y )

The function draws a line using the selected pen.

Список параметров

printer_handle

printer_handle must be a valid printer handle.

from_x

from_x is the x coordinate of the origin point.

from_y

from_y is the y coordinate of the origin point.

to_x

to_x is the x coordinate of the destination point.

to_y

to_y is the y coordinate of the destination point.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 printer_draw_line() example

<?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 a pie

printer_draw_line
printer_draw_rectangle
Printer Функции
PHP Manual

printer_draw_pie

(PECL printer CVS)

printer_draw_pie — Draw a 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 )

The function draws an pie.

Список параметров

printer_handle

printer_handle must be a valid printer handle.

rec_x

rec_x is the upper left x coordinate of the bounding rectangle.

rec_y

rec_y is the upper left y coordinate of the bounding rectangle.

rec_x1

rec_x1 is the lower right x coordinate of the bounding rectangle.

rec_y1

rec_y1 is the lower right y coordinate of the bounding rectangle.

rad1_x

rad1_x is x coordinate of the first radial's ending.

rad1_y

rad1_y is y coordinate of the first radial's ending.

rad2_x

rad2_x is x coordinate of the second radial's ending.

rad2_y

rad2_y is y coordinate of the second radial's ending.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 printer_draw_pie() example

<?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 a rectangle

printer_draw_pie
printer_draw_roundrect
Printer Функции
PHP Manual

printer_draw_rectangle

(PECL printer CVS)

printer_draw_rectangle — Draw a rectangle

Описание

void printer_draw_rectangle ( resource $printer_handle , int $ul_x , int $ul_y , int $lr_x , int $lr_y )

The function draws a rectangle.

Список параметров

printer_handle

printer_handle must be a valid printer handle.

ul_x

ul_x is the upper left x coordinate of the rectangle.

ul_y

ul_y is the upper left y coordinate of the rectangle.

lr_x

lr_x is the lower right x coordinate of the rectangle.

lr_y

lr_y is the lower right y coordinate of the rectangle.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 printer_draw_rectangle() example

<?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 a rectangle with rounded corners

printer_draw_rectangle
printer_draw_text
Printer Функции
PHP Manual

printer_draw_roundrect

(PECL printer CVS)

printer_draw_roundrect — Draw a rectangle with rounded corners

Описание

void printer_draw_roundrect ( resource $printer_handle , int $ul_x , int $ul_y , int $lr_x , int $lr_y , int $width , int $height )

The function draws a rectangle with rounded corners.

Список параметров

printer_handle

printer_handle must be a valid printer handle.

ul_x

ul_x is the upper left x coordinate of the rectangle.

ul_y

ul_y is the upper left y coordinate of the rectangle.

lr_x

lr_x is the lower right x coordinate of the rectangle.

lr_y

lr_y is the lower right y coordinate of the rectangle.

width

width is the width of the ellipse.

height

height is the height of the ellipse.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 printer_draw_roundrect() example

<?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 text

printer_draw_roundrect
printer_end_doc
Printer Функции
PHP Manual

printer_draw_text

(PECL printer CVS)

printer_draw_text — Draw text

Описание

void printer_draw_text ( resource $printer_handle , string $text , int $x , int $y )

The function draws text at position x , y using the selected font.

Список параметров

printer_handle

printer_handle must be a valid handle to a printer.

text

The text to be written.

x

x is the x coordinate of the position.

y

y is the y coordinate of the position.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 printer_draw_text() example

<?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 Функции


Close document

printer_draw_text
printer_end_page
Printer Функции
PHP Manual

printer_end_doc

(PECL printer CVS)

printer_end_doc — Close document

Описание

bool printer_end_doc ( resource $printer_handle )

Closes a new document in the printer spooler. The document is now ready for printing. For an example see printer_start_doc().

Список параметров

printer_handle

printer_handle must be a valid handle to a printer.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

printer_draw_text
printer_end_page
Printer Функции


Close active page

printer_end_doc
printer_get_option
Printer Функции
PHP Manual

printer_end_page

(PECL printer CVS)

printer_end_page — Close active page

Описание

bool printer_end_page ( resource $printer_handle )

The function closes the active page in the active document. For an example see printer_start_doc().

Список параметров

printer_handle

printer_handle must be a valid handle to a printer.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

printer_end_doc
printer_get_option
Printer Функции


Retrieve printer configuration data

printer_end_page
printer_list
Printer Функции
PHP Manual

printer_get_option

(PECL printer CVS)

printer_get_option — Retrieve printer configuration data

Описание

mixed printer_get_option ( resource $printer_handle , string $option )

The function retrieves the configuration setting of option .

Список параметров

printer_handle

printer_handle must be a valid handle to a printer.

option

Take a look at printer_set_option() for the settings that can be retrieved, additionally the following settings can be retrieved:

  • PRINTER_DEVICENAME returns the devicename of the printer.
  • PRINTER_DRIVERVERSION returns the printer driver version.

Возвращаемые значения

Returns the value of option .

Примеры

Пример #1 printer_get_option() example

<?php
$handle = printer_open();
echo printer_get_option($handle, PRINTER_DRIVERVERSION);
printer_close($handle);
?>

printer_end_page
printer_list
Printer Функции


Return an array of printers attached to the server

printer_get_option
printer_logical_fontheight
Printer Функции
PHP Manual

printer_list

(PECL printer CVS)

printer_list — Return an array of printers attached to the server

Описание

array printer_list ( int $enumtype [, string $name [, int $level ]] )

The function enumerates available printers and their capabilities.

Список параметров

enumtype

enumtype must be one of the following predefined constants:

  • PRINTER_ENUM_LOCAL: enumerates the locally installed printers.
  • PRINTER_ENUM_NAME: enumerates the printer of name , can be a server, domain or print provider.
  • PRINTER_ENUM_SHARED: this parameter can't be used alone, it has to be OR'ed with other parameters, i.e. PRINTER_ENUM_LOCAL to detect the locally shared printers.
  • PRINTER_ENUM_DEFAULT: (Win9.x only) enumerates the default printer.
  • PRINTER_ENUM_CONNECTIONS: (WinNT/2000 only) enumerates the printers to which the user has made connections.
  • PRINTER_ENUM_NETWORK: (WinNT/2000 only) enumerates network printers in the computer's domain. Only valid if level is 1.
  • PRINTER_ENUM_REMOTE: (WinNT/2000 only) enumerates network printers and print servers in the computer's domain. Only valid if level is 1.

name

Used with PRINTER_ENUM_NAME.

level

level sets the level of information request. Can be 1,2,4 or 5.

Возвращаемые значения

Return an array of printers.

Примеры

Пример #1 printer_list() example

<?php
/* detect locally shared printer */
var_dump(printer_list(PRINTER_ENUM_LOCAL | PRINTER_ENUM_SHARED));
?>

printer_get_option
printer_logical_fontheight
Printer Функции


Get logical font height

printer_list
printer_open
Printer Функции
PHP Manual

printer_logical_fontheight

(PECL printer CVS)

printer_logical_fontheight — Get logical font height

Описание

int printer_logical_fontheight ( resource $printer_handle , int $height )

The function calculates the logical font height of height .

Список параметров

printer_handle

printer_handle must be a valid printer handle.

height

The font height.

Возвращаемые значения

Returns the logical font height or FALSE on failure.

Примеры

Пример #1 printer_logical_fontheight() example

<?php
$handle = printer_open();
echo printer_logical_fontheight($handle, 72);
printer_close($handle);
?>

printer_list
printer_open
Printer Функции


Opens a connection to a printer

printer_logical_fontheight
printer_select_brush
Printer Функции
PHP Manual

printer_open

(PECL printer CVS)

printer_open — Opens a connection to a printer

Описание

resource printer_open ([ string $printername ] )

This function tries to open a connection to the given printer.

printer_open() also starts a device context.

Список параметров

printername

The printer name. If no parameter was given it tries to open a connection to the default printer (if not specified in php.ini as printer.default_printer, PHP tries to detect it).

Возвращаемые значения

Returns a printer handle on success or FALSE on failure.

Примеры

Пример #1 printer_open() example

<?php
$handle = printer_open("HP Deskjet 930c");
$handle = printer_open();
?>

printer_logical_fontheight
printer_select_brush
Printer Функции


Select a brush

printer_open
printer_select_font
Printer Функции
PHP Manual

printer_select_brush

(PECL printer CVS)

printer_select_brush — Select a brush

Описание

void printer_select_brush ( resource $printer_handle , resource $brush_handle )

The function selects a brush as the active drawing object of the actual device context. A brush is used to fill shapes. If you draw an rectangle the brush is used to draw the shapes, while the pen is used to draw the border.

If you haven't selected a brush before drawing shapes, the shape won't be filled.

Список параметров

printer_handle

printer_handle must be a valid printer handle.

brush_handle

brush_handle must be a valid brush handle.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 printer_select_brush() example

<?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 a font

printer_select_brush
printer_select_pen
Printer Функции
PHP Manual

printer_select_font

(PECL printer CVS)

printer_select_font — Select a font

Описание

void printer_select_font ( resource $printer_handle , resource $font_handle )

The function selects a font to draw text.

Список параметров

printer_handle

printer_handle must be a valid printer handle.

font_handle

font_handle must be a valid font handle.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 printer_select_font() example

<?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 a pen

printer_select_font
printer_set_option
Printer Функции
PHP Manual

printer_select_pen

(PECL printer CVS)

printer_select_pen — Select a pen

Описание

void printer_select_pen ( resource $printer_handle , resource $pen_handle )

The function selects a pen as the active drawing object of the actual device context. A pen is used to draw lines and curves. I.e. if you draw a single line the pen is used. If you draw an rectangle the pen is used to draw the borders, while the brush is used to fill the shape. If you haven't selected a pen before drawing shapes, the shape won't be outlined.

Список параметров

printer_handle

printer_handle must be a valid printer handle.

pen_handle

pen_handle must be a valid pen handle.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 printer_select_pen() example

<?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 Функции


Configure the printer connection

printer_select_pen
printer_start_doc
Printer Функции
PHP Manual

printer_set_option

(PECL printer CVS)

printer_set_option — Configure the printer connection

Описание

bool printer_set_option ( resource $printer_handle , int $option , mixed $value )

The function sets options for the current connection.

Список параметров

printer_handle

printer_handle must be a valid printer handle.

option

Option can be one of the following constants:

  • PRINTER_COPIES: sets how many copies should be printed, value must be an integer.
  • PRINTER_MODE: specifies the type of data (text, raw or emf), value must be a string.
  • PRINTER_TITLE: specifies the name of the document, value must be a string.
  • PRINTER_ORIENTATION: specifies the orientation of the paper, value can be either PRINTER_ORIENTATION_PORTRAIT or PRINTER_ORIENTATION_LANDSCAPE
  • PRINTER_RESOLUTION_Y: specifies the y-resolution in DPI, value must be an integer.
  • PRINTER_RESOLUTION_X: specifies the x-resolution in DPI, value must be an integer.
  • PRINTER_PAPER_FORMAT: specifies a predefined paper format, set value to PRINTER_FORMAT_CUSTOM if you want to specify a custom format with PRINTER_PAPER_WIDTH and PRINTER_PAPER_LENGTH. value can be one of the following constants.
    • PRINTER_FORMAT_CUSTOM: let's you specify a custom paper format.
    • PRINTER_FORMAT_LETTER: specifies standard letter format (8 1/2- by 11-inches).
    • PRINTER_FORMAT_LEGAL: specifies standard legal format (8 1/2- by 14-inches).
    • PRINTER_FORMAT_A3: specifies standard A3 format (297- by 420-millimeters).
    • PRINTER_FORMAT_A4: specifies standard A4 format (210- by 297-millimeters).
    • PRINTER_FORMAT_A5: specifies standard A5 format (148- by 210-millimeters).
    • PRINTER_FORMAT_B4: specifies standard B4 format (250- by 354-millimeters).
    • PRINTER_FORMAT_B5: specifies standard B5 format (182- by 257-millimeter).
    • PRINTER_FORMAT_FOLIO: specifies standard FOLIO format (8 1/2- by 13-inch).
  • PRINTER_PAPER_LENGTH: if PRINTER_PAPER_FORMAT is set to PRINTER_FORMAT_CUSTOM, PRINTER_PAPER_LENGTH specifies a custom paper length in mm, value must be an integer.
  • PRINTER_PAPER_WIDTH: if PRINTER_PAPER_FORMAT is set to PRINTER_FORMAT_CUSTOM, PRINTER_PAPER_WIDTH specifies a custom paper width in mm, value must be an integer.
  • PRINTER_SCALE: specifies the factor by which the printed output is to be scaled. the page size is scaled from the physical page size by a factor of scale/100. for example if you set the scale to 50, the output would be half of its original size. value must be an integer.
  • PRINTER_BACKGROUND_COLOR: specifies the background color for the actual device context, value must be a string containing the rgb information in hex format i.e. "005533".
  • PRINTER_TEXT_COLOR: specifies the text color for the actual device context, value must be a string containing the rgb information in hex format i.e. "005533".
  • PRINTER_TEXT_ALIGN: specifies the text alignment for the actual device context, value can be combined through OR'ing the following constants:
    • PRINTER_TA_BASELINE: text will be aligned at the base line.
    • PRINTER_TA_BOTTOM: text will be aligned at the bottom.
    • PRINTER_TA_TOP: text will be aligned at the top.
    • PRINTER_TA_CENTER: text will be aligned at the center.
    • PRINTER_TA_LEFT: text will be aligned at the left.
    • PRINTER_TA_RIGHT: text will be aligned at the right.

value

The option value.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 printer_set_option() example

<?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 Функции


Start a new document

printer_set_option
printer_start_page
Printer Функции
PHP Manual

printer_start_doc

(PECL printer CVS)

printer_start_doc — Start a new document

Описание

bool printer_start_doc ( resource $printer_handle [, string $document ] )

The function creates a new document in the printer spooler. A document can contain multiple pages, it's used to schedule the print job in the spooler.

Список параметров

printer_handle

printer_handle must be a valid printer handle.

document

The optional parameter document can be used to set an alternative document name.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 printer_start_doc() example

<?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 a new page

printer_start_doc
printer_write
Printer Функции
PHP Manual

printer_start_page

(PECL printer CVS)

printer_start_page — Start a new page

Описание

bool printer_start_page ( resource $printer_handle )

The function creates a new page in the active document. For an example see printer_start_doc().

Список параметров

printer_handle

printer_handle must be a valid printer handle.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

printer_start_doc
printer_write
Printer Функции


Write data to the printer

printer_start_page
W32api
Printer Функции
PHP Manual

printer_write

(PECL printer CVS)

printer_write — Write data to the printer

Описание

bool printer_write ( resource $printer_handle , string $content )

Writes content directly to the printer.

Список параметров

printer_handle

printer_handle must be a valid printer handle.

content

The data to be written.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 printer_write() example

<?php
$handle = printer_open();
printer_write($handle, "Text to print");
printer_close($handle);
?>

printer_start_page
W32api
Printer Функции


W32api

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Get the uptime and display it in a message box
  • 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 Only Extensions


Введение

This extension is a generic extension API to DLLs. This was originally written to allow access to the Win32 API from PHP, although you can also access other functions exported via other DLLs.

Currently supported types are generic PHP types (strings, booleans, floats, integers and nulls) and types you define with w32api_deftype().

Замечание: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 5.1.0.

Внимание

Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, включая имена его функций и относящуюся к нему документацию, может измениться в последующих версиях PHP без уведомления. Используйте это расширение на свой страх и риск.

W32api
Установка и настройка
W32api


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
W32api


Требования

This extension will only work on Windows systems.

Установка и настройка
Установка
Установка и настройка


Типы ресурсов

This extension defines one resource type, used for user defined types. The name of this resource is "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


Примеры

Содержание

  • Get the uptime and display it in a message box
Предопределенные константы
Get the uptime and display it in a message box
W32api


Get the uptime and display it in a message box

Примеры
W32api Функции
Примеры
PHP Manual

This example gets the amount of time the system has been running and displays it in a message box.

Пример #1 Get the uptime and display it in a message box

<?php
// Define constants needed, taken from
// Visual Studio/Tools/Winapi/WIN32API.txt
define("MB_OK", 0);

// Load the extension in
dl("php_w32api.dll");

// Register the GetTickCount function from kernel32.dll
w32api_register_function("kernel32.dll",
                         "GetTickCount",
                         "long");

// Register the MessageBoxA function from User32.dll
w32api_register_function("User32.dll",
                         "MessageBoxA",
                         "long");

// Get uptime information
$ticks = GetTickCount();

// Convert it to a nicely displayable text
$secs  = floor($ticks / 1000);
$mins  = floor($secs / 60);
$hours = floor($mins / 60);

$str = sprintf("You have been using your computer for:" .
                "\r\n %d Milliseconds, or \r\n %d Seconds" .
                "or \r\n %d mins or\r\n %d hours %d mins.",
                $ticks,
                $secs,
                $mins,
                $hours,
                $mins - ($hours*60));

// Display a message box with only an OK button and the uptime text
MessageBoxA(NULL,
            $str,
            "Uptime Information",
            MB_OK);
?>
Примеры
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
Get the uptime and display it in a message box
w32api_deftype
W32api


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 libary , 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

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Statistics about the current PHP process
  • 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 Only Extensions


Введение

The win32ps extension is a Windows specific extension that allows PHP retrieve statistics about process and memory utilization.

win32ps
Установка и настройка
win32ps


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
win32ps


Требования

Windows NT, Windows 2000, Windows XP or Windows Server 2003. Any version of Windows derived from Windows NT should be compatible.

Установка и настройка
Установка
Установка и настройка


Установка

Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, могут быть найдены здесь: » http://pecl.php.net/package/win32ps.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Примеры
win32ps


Примеры

Содержание

  • Statistics about the current PHP process
Предопределенные константы
Statistics about the current PHP process
win32ps


Statistics about the current PHP process

Примеры
win32ps Функции
Примеры
PHP Manual

Пример #1 Statistics about the current PHP process

<?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 Statistics about global memory utilization

<?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
Statistics about the current PHP process
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

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Registering a PHP script to run as a service
  • win32service Функции
    • 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_query_service_status — Queries the status of a service
    • win32_set_service_status — Update the service status
    • win32_start_service_ctrl_dispatcher — Registers the script with the SCM, so that it can act as the service with the given name
    • win32_start_service — Starts a service
    • win32_stop_service — Stops a service
win32_ps_stat_proc
Введение
Windows Only Extensions


Введение

The win32service extension is a Windows specific extension that allows PHP to communicate with the Service Control Manager to start, stop, register and unregister services, and even allows your PHP scripts to run as a service.

win32service
Установка и настройка
win32service


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
win32service


Установка

Installing from PECL

  1. You can download php_win32service.dll from http://snaps.php.net/win32/. Choose the PECL_X_X folder that matches you PHP version.

  2. Copy the php_win32service.dll into your extension_dir.

  3. Load the extension from your php.ini

    extension=php_win32service.dll

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение подгружается во время выполнения.

WIN32_SERVICE_CONTROL_CONTINUE (integer)
WIN32_SERVICE_CONTROL_INTERROGATE (integer)
WIN32_SERVICE_CONTROL_PAUSE (integer)
WIN32_SERVICE_CONTROL_STOP (integer)
WIN32_SERVICE_CONTROL_HARDWAREPROFILECHANGE (integer)
WIN32_SERVICE_CONTROL_POWEREVENT (integer)
WIN32_SERVICE_CONTROL_SESSIONCHANGE (integer)
WIN32_ERROR_CALL_NOT_IMPLEMENTED (integer)
WIN32_NO_ERROR (integer)
WIN32_SERVICE_RUNNING (integer)
WIN32_SERVICE_STOPPED (integer)
WIN32_SERVICE_STOP_PENDING (integer)
WIN32_SERVICE_WIN32_OWN_PROCESS (integer)
WIN32_SERVICE_INTERACTIVE_PROCESS (integer)
WIN32_SERVICE_STOPPED (integer)
WIN32_SERVICE_START_PENDING (integer)
WIN32_SERVICE_STOP_PENDING (integer)
WIN32_SERVICE_RUNNING (integer)
WIN32_SERVICE_CONTINUE_PENDING (integer)
WIN32_SERVICE_PAUSE_PENDING (integer)
WIN32_SERVICE_PAUSED (integer)
WIN32_SERVICE_ACCEPT_NETBINDCHANGE (integer)
WIN32_SERVICE_ACCEPT_PARAMCHANGE (integer)
WIN32_SERVICE_ACCEPT_PAUSE_CONTINUE (integer)
WIN32_SERVICE_ACCEPT_SHUTDOWN (integer)
WIN32_SERVICE_ACCEPT_STOP (integer)
WIN32_SERVICE_ACCEPT_HARDWAREPROFILECHANGE (integer)
WIN32_SERVICE_ACCEPT_POWEREVENT (integer)
WIN32_SERVICE_ACCEPT_SESSIONCHANGE (integer)
WIN32_SERVICE_FILE_SYSTEM_DRIVER (integer)
WIN32_SERVICE_KERNEL_DRIVER (integer)
WIN32_SERVICE_WIN32_SHARE_PROCESS (integer)
WIN32_SERVICE_RUNS_IN_SYSTEM_PROCESS (integer)
Типы ресурсов
Примеры
win32service


Примеры

Содержание

  • Registering a PHP script to run as a service
Предопределенные константы
Registering a PHP script to run as a service
win32service


Registering a PHP script to run as a service

Примеры
win32service Функции
Примеры
PHP Manual

Пример #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', # description
    'params' => 'c:\path\to\script.php 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
  }
}
?>

Примеры
win32service Функции
Примеры


win32service Функции

Содержание

  • 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_query_service_status — Queries the status of a service
  • win32_set_service_status — Update the service status
  • win32_start_service_ctrl_dispatcher — Registers the script with the SCM, so that it can act as the service with the given name
  • win32_start_service — Starts a service
  • win32_stop_service — Stops a service
Registering a PHP script to run as a service
win32_create_service
win32service


Creates a new service entry in the SCM database

win32service Функции
win32_delete_service
win32service Функции
PHP Manual

win32_create_service

(PECL win32service CVS)

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.

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.

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 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.

machine

The optional machine name on which you want to create a service. If omitted, it will use the local machine.

Возвращаемые значения

Returns TRUE on success, otherwise returns a win32 error code.

Примеры

Пример #1 A win32_create_service() example

Any text that describes the purpose of the example, or what goes on in the example should go here (inside the

<?php
$x = win32_create_service(array(
        'service' => 'dummyphp',
        'display' => 'sample dummy PHP service',
        'params' => __FILE__ . ' run',
));
debug_zval_dump($x);
?>

Смотрите также

  • win32_delete_service() - Deletes a service entry from the SCM database

win32service Функции
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 CVS)

win32_delete_service — Deletes a service entry from the SCM database

Описание

int 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.

Возвращаемые значения

Returns TRUE on success, or a win32 error code on failure.

Примеры

Пример #1 A win32_delete_service() example

Deletes the dummyphp service.

<?php
win32_delete_service('dummyphp');
?>

win32_create_service
win32_get_last_control_message
win32service Функции


Returns the last control message that was sent to this service

win32_delete_service
win32_query_service_status
win32service Функции
PHP Manual

win32_get_last_control_message

(PECL win32service CVS)

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; one of WIN32_SERVICE_CONTROL_CONTINUE, WIN32_SERVICE_CONTROL_INTERROGATE, WIN32_SERVICE_CONTROL_PAUSE, WIN32_SERVICE_CONTROL_STOP, WIN32_SERVICE_CONTROL_HARDWAREPROFILECHANGE, WIN32_SERVICE_CONTROL_POWEREVENT, WIN32_SERVICE_CONTROL_SESSIONCHANGE.

Смотрите также

  • win32_start_service_ctrl_dispatcher() - Registers the script with the SCM, so that it can act as the service with the given name

win32_delete_service
win32_query_service_status
win32service Функции


Queries the status of a service

win32_get_last_control_message
win32_set_service_status
win32service Функции
PHP Manual

win32_query_service_status

(PECL win32service CVS)

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 FALSE on failure, otherwise returns an array consisting of the following information:

ServiceType

The dwServiceType.

CurrentState

The dwCurrentState.

ControlsAccepted

Which service controls are accepted by the service.

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.

win32_get_last_control_message
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 CVS)

win32_set_service_status — Update the service status

Описание

bool win32_set_service_status ( int $status )

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.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • win32_start_service_ctrl_dispatcher() - Registers the script with the SCM, so that it can act as the service with the given name

win32_query_service_status
win32_start_service_ctrl_dispatcher
win32service Функции


Registers the script with the SCM, so that it can act as the service with the given name

win32_set_service_status
win32_start_service
win32service Функции
PHP Manual

win32_start_service_ctrl_dispatcher

(PECL win32service CVS)

win32_start_service_ctrl_dispatcher — Registers the script with the SCM, so that it can act as the service with the given name

Описание

mixed win32_start_service_ctrl_dispatcher ( string $name )

When launched via the Service Control Manager, a service process is required to "check-in" with it to establish service monitoring and communication facilities. This function performs the check-in by spawning a thread to handle the lower-level communication with the service control manager.

Once started, the service process should continue to check-in with the service control manager so that it can determine if it should terminate. This is achieved by periodically calling win32_get_last_control_message() and handling the return code appropriately.

Список параметров

name

The short-name of the service, as registered by win32_create_service().

Возвращаемые значения

Returns TRUE on success, otherwise FALSE or a win32 error code.

Примеры

Пример #1 A win32_start_service_ctrl_dispatcher() example

Any text that describes the purpose of the example, or what goes on in the example should go here (inside the

<?php
if (!win32_start_service_ctrl_dispatcher('dummyphp')) {
  die("I'm probably not running under the service control manager");
}

while (WIN32_SERVICE_CONTROL_STOP != win32_get_last_control_message()) {
  # do some work here, trying not to take more than around 30 seconds
  # before coming back into the loop again
}
?>

Смотрите также

  • win32_get_last_control_message() - Returns the last control message that was sent to this service

win32_set_service_status
win32_start_service
win32service Функции


Starts a service

win32_start_service_ctrl_dispatcher
win32_stop_service
win32service Функции
PHP Manual

win32_start_service

(PECL win32service CVS)

win32_start_service — Starts a service

Описание

int win32_start_service ( string $servicename [, string $machine ] )

Attempts to start the named service. Usually requires administrative privileges.

Список параметров

servicename

The short name of the service.

machine

Optional machine name. If omitted, the local machine is used.

Возвращаемые значения

Returns WIN32_NO_ERROR on success, or some other win32 error code on failure.

Смотрите также

  • win32_stop_service() - Stops a service

win32_start_service_ctrl_dispatcher
win32_stop_service
win32service Функции


Stops a service

win32_start_service
XML Manipulation
win32service Функции
PHP Manual

win32_stop_service

(PECL win32service CVS)

win32_stop_service — Stops a service

Описание

int win32_stop_service ( string $servicename [, string $machine ] )

Stops a named service. Requires administrative privileges.

Список параметров

servicename

The short name of the service.

machine

Optional machine name. If omitted, the local machine is used.

Возвращаемые значения

Returns WIN32_NO_ERROR on success, or a win32 error code on failure.

Смотрите также

  • win32_start_service() - Starts a service

win32_start_service
XML Manipulation
win32service Функции


XML Manipulation

  • DOM — Document Object Model
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • DOMAttr — The DOMAttr class
    • DOMCharacterData — The DOMCharacterData class
    • DOMComment — The DOMComment class
    • DOMDocument — The DOMDocument class
    • DOMDocumentFragment — The DOMDocumentFragment class
    • DOMDocumentType — The DOMDocumentType class
    • DOMElement — The DOMElement class
    • DOMEntity — The DOMEntity class
    • DOMEntityReference — The DOMEntityReference class
    • DOMException — The DOMException class
    • DOMImplementation — The DOMImplementation class
    • DOMNamedNodeMap — The DOMNamedNodeMap class
    • DOMNode — The DOMNode class
    • DOMNodeList — The DOMNodeList class
    • DOMNotation — The DOMNotation class
    • DOMProcessingInstruction — The DOMProcessingInstruction class
    • DOMText — The DOMText class
    • DOMXPath — The DOMXPath class
    • DOM Функции
  • DOM XML (PHP 4)
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • DOM XML (PHP 4) Функции
  • libxml
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • libXMLError — The libXMLError class
    • 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
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • SimpleXML Функции
  • WDDX
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • WDDX Функции
  • XML Parser
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Event Handlers
    • Case Folding
    • Error Codes
    • Character Encoding
    • Примеры
    • XML Parser Функции
  • XMLReader
    • Введение
    • Установка и настройка
    • XMLReader — The XMLReader class
  • XMLWriter
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • XMLWriter Функции
  • XSL
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • Примеры
    • XSLTProcessor — The XSLTProcessor class
  • XSLT (PHP4)
    • Введение
    • Установка и настройка
    • Предопределенные константы
    • XSLT (PHP4) Функции
win32_stop_service
DOM
Справочник функций


Document Object Model

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • DOMAttr — The DOMAttr class
    • DOMAttr::__construct — Creates a new DOMAttr object
    • DOMAttr::isId — Checks if attribute is a defined ID
  • DOMCharacterData — The DOMCharacterData class
    • DOMCharacterData::appendData — Append the string to the end of the character data of the node
    • DOMCharacterData::deleteData — Remove a range of characters from the node
    • DOMCharacterData::insertData — Insert a string at the specified 16-bit unit offset
    • DOMCharacterData::replaceData — Replace a substring within the DOMCharacterData node
    • DOMCharacterData::substringData — Extracts a range of data from the node
  • DOMComment — The DOMComment class
    • DOMComment::__construct — Creates a new DOMComment object
  • DOMDocument — The DOMDocument class
    • DOMDocument::__construct — Creates a new DOMDocument object
    • DOMDocument::createAttribute — Create new attribute
    • DOMDocument::createAttributeNS — Create new attribute node with an associated namespace
    • DOMDocument::createCDATASection — Create new cdata node
    • DOMDocument::createComment — Create new comment node
    • DOMDocument::createDocumentFragment — Create new document fragment
    • DOMDocument::createElement — Create new element node
    • DOMDocument::createElementNS — Create new element node with an associated namespace
    • DOMDocument::createEntityReference — Create new entity reference node
    • DOMDocument::createProcessingInstruction — Creates new PI node
    • DOMDocument::createTextNode — Create new text node
    • DOMDocument::getElementById — Searches for an element with a certain id
    • DOMDocument::getElementsByTagName — Searches for all elements with given tag name
    • DOMDocument::getElementsByTagNameNS — Searches for all elements with given tag name in specified namespace
    • DOMDocument::importNode — Import node into current document
    • DOMDocument::load — Load XML from a file
    • DOMDocument::loadHTML — Load HTML from a string
    • DOMDocument::loadHTMLFile — Load HTML from a file
    • DOMDocument::loadXML — Load XML from a string
    • DOMDocument::normalizeDocument — Normalizes the document
    • DOMDocument::registerNodeClass — Register extended class used to create base node type
    • DOMDocument::relaxNGValidate — Performs relaxNG validation on the document
    • DOMDocument::relaxNGValidateSource — Performs relaxNG validation on the document
    • DOMDocument::save — Dumps the internal XML tree back into a file
    • DOMDocument::saveHTML — Dumps the internal document into a string using HTML formatting
    • DOMDocument::saveHTMLFile — Dumps the internal document into a file using HTML formatting
    • DOMDocument::saveXML — Dumps the internal XML tree back into a string
    • DOMDocument::schemaValidate — Validates a document based on a schema
    • DOMDocument::schemaValidateSource — Validates a document based on a schema
    • DOMDocument::validate — Validates the document based on its DTD
    • DOMDocument::xinclude — Substitutes XIncludes in a DOMDocument Object
  • DOMDocumentFragment — The DOMDocumentFragment class
    • DOMDocumentFragment::appendXML — Append raw XML data
  • DOMDocumentType — The DOMDocumentType class
  • DOMElement — The DOMElement class
    • DOMElement::__construct — Creates a new DOMElement object
    • DOMElement::getAttribute — Returns value of attribute
    • DOMElement::getAttributeNode — Returns attribute node
    • DOMElement::getAttributeNodeNS — Returns attribute node
    • DOMElement::getAttributeNS — Returns value of attribute
    • DOMElement::getElementsByTagName — Gets elements by tagname
    • DOMElement::getElementsByTagNameNS — Get elements by namespaceURI and localName
    • DOMElement::hasAttribute — Checks to see if attribute exists
    • DOMElement::hasAttributeNS — Checks to see if attribute exists
    • DOMElement::removeAttribute — Removes attribute
    • DOMElement::removeAttributeNode — Removes attribute
    • DOMElement::removeAttributeNS — Removes attribute
    • DOMElement::setAttribute — Adds new attribute
    • DOMElement::setAttributeNode — Adds new attribute node to element
    • DOMElement::setAttributeNodeNS — Adds new attribute node to element
    • DOMElement::setAttributeNS — Adds new attribute
    • DOMElement::setIdAttribute — Declares the attribute specified by name to be of type ID
    • DOMElement::setIdAttributeNode — Declares the attribute specified by node to be of type ID
    • DOMElement::setIdAttributeNS — Declares the attribute specified by local name and namespace URI to be of type ID
  • DOMEntity — The DOMEntity class
  • DOMEntityReference — The DOMEntityReference class
    • DOMEntityReference::__construct — Creates a new DOMEntityReference object
  • DOMException — The DOMException class
  • DOMImplementation — The DOMImplementation class
    • DOMImplementation::__construct — Creates a new DOMImplementation object
    • DOMImplementation::createDocument — Creates a DOMDocument object of the specified type with its document element
    • DOMImplementation::createDocumentType — Creates an empty DOMDocumentType object
    • DOMImplementation::hasFeature — Test if the DOM implementation implements a specific feature
  • DOMNamedNodeMap — The DOMNamedNodeMap class
    • DOMNamedNodeMap::getNamedItem — Retrieves a node specified by name
    • DOMNamedNodeMap::getNamedItemNS — Retrieves a node specified by local name and namespace URI
    • DOMNamedNodeMap::item — Retrieves a node specified by index
  • DOMNode — The DOMNode class
    • DOMNode::appendChild — Adds new child at the end of the children
    • DOMNode::cloneNode — Clones a node
    • DOMNode::hasAttributes — Checks if node has attributes
    • DOMNode::hasChildNodes — Checks if node has children
    • DOMNode::insertBefore — Adds a new child before a reference node
    • DOMNode::isDefaultNamespace — Checks if the specified namespaceURI is the default namespace or not
    • DOMNode::isSameNode — Indicates if two nodes are the same node
    • DOMNode::isSupported — Checks if feature is supported for specified version
    • DOMNode::lookupNamespaceURI — Gets the namespace URI of the node based on the prefix
    • DOMNode::lookupPrefix — Gets the namespace prefix of the node based on the namespace URI
    • DOMNode::normalize — Normalizes the node
    • DOMNode::removeChild — Removes child from list of children
    • DOMNode::replaceChild — Replaces a child
  • DOMNodeList — The DOMNodeList class
    • DOMNodelist::item — Retrieves a node specified by index
  • DOMNotation — The DOMNotation class
  • DOMProcessingInstruction — The DOMProcessingInstruction class
    • DOMProcessingInstruction::__construct — Creates a new DOMProcessingInstruction object
  • DOMText — The DOMText class
    • DOMText::__construct — Creates a new DOMText object
    • DOMText::isWhitespaceInElementContent — Indicates whether this text node contains whitespace
    • DOMText::splitText — Breaks this node into two nodes at the specified offset
  • DOMXPath — The DOMXPath class
    • DOMXPath::__construct — Creates a new DOMXPath object
    • DOMXPath::evaluate — Evaluates the given XPath expression and returns a typed result if possible.
    • DOMXPath::query — Evaluates the given XPath expression
    • DOMXPath::registerNamespace — Registers the namespace with the DOMXPath object
  • DOM Функции
    • dom_import_simplexml — Gets a DOMElement object from a SimpleXMLElement object
XML Manipulation
Введение
XML Manipulation


Введение

The DOM extension allows you to operate on XML documents through the DOM API with PHP 5.

For PHP 4, use DOM XML.

Замечание: DOM extension uses UTF-8 encoding. Use utf8_encode() and utf8_decode() to work with texts in ISO-8859-1 encoding or Iconv for other encodings.

DOM
Установка и настройка
DOM


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
DOM


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение подгружается во время выполнения.

XML constants
Constant | Value | Description
XML_ELEMENT_NODE (integer) | 1 | Node is a DOMElement
XML_ATTRIBUTE_NODE (integer) | 2 | Node is a DOMAttr
XML_TEXT_NODE (integer) | 3 | Node is a DOMText
XML_CDATA_SECTION_NODE (integer) | 4 | Node is a DOMCharacterData
XML_ENTITY_REF_NODE (integer) | 5 | Node is a DOMEntityReference
XML_ENTITY_NODE (integer) | 6 | Node is a DOMEntity
XML_PI_NODE (integer) | 7 | Node is a DOMProcessingInstruction
XML_COMMENT_NODE (integer) | 8 | Node is a DOMComment
XML_DOCUMENT_NODE (integer) | 9 | Node is a DOMDocument
XML_DOCUMENT_TYPE_NODE (integer) | 10 | Node is a DOMDocumentType
XML_DOCUMENT_FRAG_NODE (integer) | 11 | Node is a DOMDocumentFragment
XML_NOTATION_NODE (integer) | 12 | Node is a 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 constants
Constant | Value | Description
DOM_PHP_ERR (integer) | 0 | Error code not part of the DOM specification. Meant for PHP errors.
DOM_INDEX_SIZE_ERR (integer) | 1 | If index or size is negative, or greater than the allowed value.
DOMSTRING_SIZE_ERR (integer) | 2 | If the specified range of text does not fit into a DOMString.
DOM_HIERARCHY_REQUEST_ERR (integer) | 3 | If any node is inserted somewhere it doesn't belong
DOM_WRONG_DOCUMENT_ERR (integer) | 4 | If a node is used in a different document than the one that created it.
DOM_INVALID_CHARACTER_ERR (integer) | 5 | If an invalid or illegal character is specified, such as in a name.
DOM_NO_DATA_ALLOWED_ERR (integer) | 6 | If data is specified for a node which does not support data.
DOM_NO_MODIFICATION_ALLOWED_ERR (integer) | 7 | If an attempt is made to modify an object where modifications are not allowed.
DOM_NOT_FOUND_ERR (integer) | 8 | If an attempt is made to reference a node in a context where it does not exist.
DOM_NOT_SUPPORTED_ERR (integer) | 9 | If the implementation does not support the requested type of object or operation.
DOM_INUSE_ATTRIBUTE_ERR (integer) | 10 | If an attempt is made to add an attribute that is already in use elsewhere.
DOM_INVALID_STATE_ERR (integer) | 11 | If an attempt is made to use an object that is not, or is no longer, usable.
DOM_SYNTAX_ERR (integer) | 12 | If an invalid or illegal string is specified.
DOM_INVALID_MODIFICATION_ERR (integer) | 13 | If an attempt is made to modify the type of the underlying object.
DOM_NAMESPACE_ERR (integer) | 14 | If an attempt is made to create or change an object in a way which is incorrect with regard to namespaces.
DOM_INVALID_ACCESS_ERR (integer) | 15 | If a parameter or an operation is not supported by the underlying object.
DOM_VALIDATION_ERR (integer) | 16 | If a call to a method such as insertBefore or removeChild would make the Node invalid with respect to "partial validity", this exception would be raised and the operation would not be done.
Типы ресурсов
DOMAttr
DOM


The DOMAttr class

Введение

DOMAttr represents an attribute in the DOMElement object.

Class synopsis

DOMAttr
DOMAttr extends DOMNode {
/* Properties */
public readonly string $name ;
public readonly DOMElement $ownerElement ;
public readonly bool $schemaTypeInfo ;
public readonly bool $specified ;
public string $value ;
/* Methods */
__construct ( string $name [, string $value ] )
bool isId ( void )
/* Inherited methods */
DOMNode DOMNode::appendChild ( DOMNode $newnode )
DOMNode DOMNode::cloneNode ([ bool $deep ] )
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

The name of the attribute

ownerElement

The element which contains the attribute

schemaTypeInfo

Not implemented yet, always is NULL

specified

Not implemented yet, always is NULL

value

The value of the attribute

Смотрите также

  • » W3C specification of Attr

Содержание

  • DOMAttr::__construct — Creates a new DOMAttr object
  • DOMAttr::isId — Checks if attribute is a defined ID
Предопределенные константы
DOMAttr::__construct
DOM


Creates a new DOMAttr object

DOMAttr
DOMAttr::isId
DOMAttr
PHP Manual

DOMAttr::__construct

(PHP 5)

DOMAttr::__construct — Creates a new DOMAttr object

Описание

DOMAttr::__construct ( string $name [, string $value ] )

Creates a new DOMAttr object. This object is read only. It may be appended to a document, but additional nodes may not be appended to this node until the node is associated with a document. To create a writable node, use DOMDocument::createAttribute.

Список параметров

name

The tag name of the attribute.

value

The value of the attribute.

Примеры

Пример #1 Creating a new DOMAttr object

<?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="iso-8859-1"?>
<root attr="attrvalue" />

Смотрите также

  • DOMDocument::createAttribute - Create new attribute

DOMAttr
DOMAttr::isId
DOMAttr


Checks if attribute is a defined ID

DOMAttr::__construct
DOMCharacterData
DOMAttr
PHP Manual

DOMAttr::isId

(PHP 5)

DOMAttr::isId — Checks if attribute is a defined ID

Описание

bool DOMAttr::isId ( void )

This function checks if the attribute is a defined ID.

According to the DOM standard this requires a DTD which defines the attribute ID to be of type ID. You need to validate your document with DOMDocument::validate or DOMDocument::validateOnParse before using this function.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 DOMAttr->isId() Example

<?php

$doc = new DomDocument;

// We need to validate our document before refering to the id
$doc->validateOnParse = true;
$doc->Load('book.xml');

// We retrieve the attribute named id of the chapter element
$attr = $doc->getElementsByTagName('chapter')->item(0)->getAttributeNode('id');

var_dump($attr->isId()); // bool(true)

?>

DOMAttr::__construct
DOMCharacterData
DOMAttr


The DOMCharacterData class

Введение

Represents nodes with character data. No nodes directly correspond to this class, but other nodes do inherit from it.

Class synopsis

DOMCharacterData
DOMCharacterData extends DOMNode {
/* Properties */
public string $data ;
readonly public int $length ;
/* Methods */
void appendData ( string $data )
void deleteData ( int $offset , int $count )
void insertData ( int $offset , string $data )
void replaceData ( int $offset , int $count , string $data )
string substringData ( int $offset , int $count )
/* Inherited methods */
DOMNode DOMNode::appendChild ( DOMNode $newnode )
DOMNode DOMNode::cloneNode ([ bool $deep ] )
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

The contents of the node.

length

The length of the contents.

Смотрите также

  • » W3C specification of CharacterData

Содержание

  • DOMCharacterData::appendData — Append the string to the end of the character data of the node
  • DOMCharacterData::deleteData — Remove a range of characters from the node
  • DOMCharacterData::insertData — Insert a string at the specified 16-bit unit offset
  • DOMCharacterData::replaceData — Replace a substring within the DOMCharacterData node
  • DOMCharacterData::substringData — Extracts a range of data from the node
DOMAttr::isId
DOMCharacterData::appendData
DOM


Append the string to the end of the character data of the node

DOMCharacterData
DOMCharacterData::deleteData
DOMCharacterData
PHP Manual

DOMCharacterData::appendData

(PHP 5)

DOMCharacterData::appendData — Append the string to the end of the character data of the node

Описание

void DOMCharacterData::appendData ( string $data )

Append the string data to the end of the character data of the node.

Список параметров

data

The string to append.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • DOMCharacterData::deleteData - Remove a range of characters from the node
  • DOMCharacterData::insertData - Insert a string at the specified 16-bit unit offset
  • DOMCharacterData::replaceData - Replace a substring within the DOMCharacterData node
  • DOMCharacterData::substringData - Extracts a range of data from the node

DOMCharacterData
DOMCharacterData::deleteData
DOMCharacterData


Remove a range of characters from the node

DOMCharacterData::appendData
DOMCharacterData::insertData
DOMCharacterData
PHP Manual

DOMCharacterData::deleteData

(PHP 5)

DOMCharacterData::deleteData — Remove a range of characters from the node

Описание

void DOMCharacterData::deleteData ( int $offset , int $count )

Deletes count characters starting from position offset .

Список параметров

offset

The offset from which to start removing.

count

The number of characters to delete. If the sum of offset and count exceeds the length, then all characters to the end of the data are deleted.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Errors/Exceptions

DOM_INDEX_SIZE_ERR

Raised if offset is negative or greater than the number of 16-bit units in data, or if count is negative.

Смотрите также

  • DOMCharacterData::appendData - Append the string to the end of the character data of the node
  • DOMCharacterData::insertData - Insert a string at the specified 16-bit unit offset
  • DOMCharacterData::replaceData - Replace a substring within the DOMCharacterData node
  • DOMCharacterData::substringData - Extracts a range of data from the node

DOMCharacterData::appendData
DOMCharacterData::insertData
DOMCharacterData


Insert a string at the specified 16-bit unit offset

DOMCharacterData::deleteData
DOMCharacterData::replaceData
DOMCharacterData
PHP Manual

DOMCharacterData::insertData

(PHP 5)

DOMCharacterData::insertData — Insert a string at the specified 16-bit unit offset

Описание

void DOMCharacterData::insertData ( int $offset , string $data )

Inserts string data at position offset .

Список параметров

offset

The character offset at which to insert.

data

The string to insert.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Errors/Exceptions

DOM_INDEX_SIZE_ERR

Raised if offset is negative or greater than the number of 16-bit units in data.

Смотрите также

  • DOMCharacterData::appendData - Append the string to the end of the character data of the node
  • DOMCharacterData::deleteData - Remove a range of characters from the node
  • DOMCharacterData::replaceData - Replace a substring within the DOMCharacterData node
  • DOMCharacterData::substringData - Extracts a range of data from the node

DOMCharacterData::deleteData
DOMCharacterData::replaceData
DOMCharacterData


Replace a substring within the DOMCharacterData node

DOMCharacterData::insertData
DOMCharacterData::substringData
DOMCharacterData
PHP Manual

DOMCharacterData::replaceData

(PHP 5)

DOMCharacterData::replaceData — Replace a substring within the DOMCharacterData node

Описание

void DOMCharacterData::replaceData ( int $offset , int $count , string $data )

Replace count characters starting from position offset with data .

Список параметров

offset

The offset from which to start replacing.

count

The number of characters to replace. If the sum of offset and count exceeds the length, then all characters to the end of the data are replaced.

data

The string with which the range must be replaced.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Errors/Exceptions

DOM_INDEX_SIZE_ERR

Raised if offset is negative or greater than the number of 16-bit units in data, or if count is negative.

Смотрите также

  • DOMCharacterData::appendData - Append the string to the end of the character data of the node
  • DOMCharacterData::deleteData - Remove a range of characters from the node
  • DOMCharacterData::insertData - Insert a string at the specified 16-bit unit offset
  • DOMCharacterData::substringData - Extracts a range of data from the node

DOMCharacterData::insertData
DOMCharacterData::substringData
DOMCharacterData


Extracts a range of data from the node

DOMCharacterData::replaceData
DOMComment
DOMCharacterData
PHP Manual

DOMCharacterData::substringData

(PHP 5)

DOMCharacterData::substringData — Extracts a range of data from the node

Описание

string DOMCharacterData::substringData ( int $offset , int $count )

Returns the specified substring.

Список параметров

offset

Start offset of substring to extract.

count

The number of characters to extract.

Возвращаемые значения

The specified substring. If the sum of offset and count exceeds the length, then all 16-bit units to the end of the data are returned.

Errors/Exceptions

DOM_INDEX_SIZE_ERR

Raised if offset is negative or greater than the number of 16-bit units in data, or if count is negative.

Смотрите также

  • DOMCharacterData::appendData - Append the string to the end of the character data of the node
  • DOMCharacterData::deleteData - Remove a range of characters from the node
  • DOMCharacterData::insertData - Insert a string at the specified 16-bit unit offset
  • DOMCharacterData::replaceData - Replace a substring within the DOMCharacterData node

DOMCharacterData::replaceData
DOMComment
DOMCharacterData


The DOMComment class

Введение

Represents comment nodes, characters delimited by <!-- and -->.

Class synopsis

DOMComment
DOMComment extends DOMCharacterData {
/* Methods */
__construct ([ string $value ] )
/* Inherited methods */
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 ] )
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 specification of Comment

Содержание

  • DOMComment::__construct — Creates a new DOMComment object
DOMCharacterData::substringData
DOMComment::__construct
DOM


Creates a new DOMComment object

DOMComment
DOMDocument
DOMComment
PHP Manual

DOMComment::__construct

(PHP 5)

DOMComment::__construct — Creates a new DOMComment object

Описание

DOMComment
__construct ([ string $value ] )

Creates a new DOMComment object. This object is read only. It may be appended to a document, but additional nodes may not be appended to this node until the node is associated with a document. To create a writeable node, use DOMDocument::createComment.

Список параметров

value

The value of the comment.

Примеры

Пример #1 Creating a new 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 - Create new comment node

DOMComment
DOMDocument
DOMComment


The DOMDocument class

Введение

Represents an entire HTML or XML document; serves as the root of the document tree.

Class synopsis

DOMDocument
DOMDocument extends DOMNode {
/* Properties */
readonly public string $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 ;
/* Methods */
__construct ([ string $version [, string $encoding ]] )
DOMAttr createAttribute ( string $name )
DOMAttr createAttributeNS ( string $namespaceURI , string $qualifiedName )
DOMCDATASection createCDATASection ( string $data )
DOMComment createComment ( string $data )
DOMDocumentFragment createDocumentFragment ( void )
DOMElement createElement ( string $name [, string $value ] )
DOMElement createElementNS ( string $namespaceURI , string $qualifiedName [, string $value ] )
DOMEntityReference createEntityReference ( string $name )
DOMProcessingInstruction createProcessingInstruction ( string $target [, string $data ] )
DOMText createTextNode ( string $content )
DOMElement getElementById ( string $elementId )
DOMNodeList getElementsByTagName ( string $name )
DOMNodeList getElementsByTagNameNS ( string $namespaceURI , string $localName )
DOMNode importNode ( DOMNode $importedNode [, bool $deep ] )
mixed load ( string $filename [, int $options= 0 ] )
bool loadHTML ( string $source )
bool loadHTMLFile ( string $filename )
mixed loadXML ( string $source [, int $options= 0 ] )
void normalizeDocument ( void )
bool registerNodeClass ( string $baseclass , string $extendedclass )
bool relaxNGValidate ( string $filename )
bool relaxNGValidateSource ( string $source )
int save ( string $filename [, int $options ] )
string saveHTML ( void )
int saveHTMLFile ( string $filename )
string saveXML ([ DOMNode $node [, int $options ]] )
bool schemaValidate ( string $filename )
bool schemaValidateSource ( string $source )
bool validate ( void )
int xinclude ([ int $options ] )
/* Inherited methods */
DOMNode DOMNode::appendChild ( DOMNode $newnode )
DOMNode DOMNode::cloneNode ([ bool $deep ] )
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

Deprecated. Actual encoding of the document, is a readonly equivalent to encoding.

config

Deprecated. Configuration used when DOMDocument::normalizeDocument() is invoked.

doctype

The Document Type Declaration associated with this document.

documentElement

This is a convenience attribute that allows direct access to the child node that is the document element of the document.

documentURI

The location of the document or NULL if undefined.

encoding

Encoding of the document, as specified by the XML declaration. This attribute is not present in the final DOM Level 3 specification, but is the only way of manipulating XML document encoding in this implementation.

formatOutput

Nicely formats output with indentation and extra space.

implementation

The DOMImplementation object that handles this document.

preserveWhiteSpace

Do not remove redundant white space. Default to TRUE.

recover

Proprietary. Enables recovery mode, i.e. trying to parse non-well formed documents. This attribute is not part of the DOM specification and is specific to libxml.

resolveExternals

Set it to TRUE to load external entities from a doctype declaration. This is useful for including character entities in your XML document.

standalone

Deprecated. Whether or not the document is standalone, as specified by the XML declaration, corresponds to xmlStandalone.

strictErrorChecking

Throws DOMException on errors. Default to TRUE.

substituteEntities

Proprietary. Whether or not to substitute entities. This attribute is not part of the DOM specification and is specific to libxml.

validateOnParse

Loads and validates against the DTD. Default to FALSE.

version

Deprecated. Version of XML, corresponds to xmlVersion

xmlEncoding

An attribute specifying, as part of the XML declaration, the encoding of this document. This is NULL when unspecified or when it is not known, such as when the Document was created in memory.

xmlStandalone

An attribute specifying, as part of the XML declaration, whether this document is standalone. This is FALSE when unspecified.

xmlVersion

An attribute specifying, as part of the XML declaration, the version number of this document. If there is no declaration and if this document supports the "XML" feature, the value is "1.0".

Смотрите также

  • » W3C specification for Document

Содержание

  • DOMDocument::__construct — Creates a new DOMDocument object
  • DOMDocument::createAttribute — Create new attribute
  • DOMDocument::createAttributeNS — Create new attribute node with an associated namespace
  • DOMDocument::createCDATASection — Create new cdata node
  • DOMDocument::createComment — Create new comment node
  • DOMDocument::createDocumentFragment — Create new document fragment
  • DOMDocument::createElement — Create new element node
  • DOMDocument::createElementNS — Create new element node with an associated namespace
  • DOMDocument::createEntityReference — Create new entity reference node
  • DOMDocument::createProcessingInstruction — Creates new PI node
  • DOMDocument::createTextNode — Create new text node
  • DOMDocument::getElementById — Searches for an element with a certain id
  • DOMDocument::getElementsByTagName — Searches for all elements with given tag name
  • DOMDocument::getElementsByTagNameNS — Searches for all elements with given tag name in specified namespace
  • DOMDocument::importNode — Import node into current document
  • DOMDocument::load — Load XML from a file
  • DOMDocument::loadHTML — Load HTML from a string
  • DOMDocument::loadHTMLFile — Load HTML from a file
  • DOMDocument::loadXML — Load XML from a string
  • DOMDocument::normalizeDocument — Normalizes the document
  • DOMDocument::registerNodeClass — Register extended class used to create base node type
  • DOMDocument::relaxNGValidate — Performs relaxNG validation on the document
  • DOMDocument::relaxNGValidateSource — Performs relaxNG validation on the document
  • DOMDocument::save — Dumps the internal XML tree back into a file
  • DOMDocument::saveHTML — Dumps the internal document into a string using HTML formatting
  • DOMDocument::saveHTMLFile — Dumps the internal document into a file using HTML formatting
  • DOMDocument::saveXML — Dumps the internal XML tree back into a string
  • DOMDocument::schemaValidate — Validates a document based on a schema
  • DOMDocument::schemaValidateSource — Validates a document based on a schema
  • DOMDocument::validate — Validates the document based on its DTD
  • DOMDocument::xinclude — Substitutes XIncludes in a DOMDocument Object
DOMComment::__construct
DOMDocument::__construct
DOM


Creates a new DOMDocument object

DOMDocument
DOMDocument::createAttribute
DOMDocument
PHP Manual

DOMDocument::__construct

(PHP 5)

DOMDocument::__construct — Creates a new DOMDocument object

Описание

DOMDocument::__construct ([ string $version [, string $encoding ]] )

Creates a new DOMDocument object.

Список параметров

version

The version number of the document as part of the XML declaration.

encoding

The encoding of the document as part of the XML declaration.

Примеры

Пример #1 Creating a new DOMDocument

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');

echo $dom->saveXML(); /* <?xml version="1.0" encoding="iso-8859-1"?> */

?>

Смотрите также

  • DOMImplementation::createDocument - Creates a DOMDocument object of the specified type with its document element

DOMDocument
DOMDocument::createAttribute
DOMDocument


Create new attribute

DOMDocument::__construct
DOMDocument::createAttributeNS
DOMDocument
PHP Manual

DOMDocument::createAttribute

(PHP 5)

DOMDocument::createAttribute — Create new attribute

Описание

DOMAttr DOMDocument::createAttribute ( string $name )

This function creates a new instance of class DOMAttr. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, к пример функцией DOMNode->appendChild().

Список параметров

name

The name of the attribute.

Возвращаемые значения

The new DOMAttr or FALSE if an error occured.

Errors/Exceptions

DOM_INVALID_CHARACTER_ERR

Raised if name contains an invalid character.

Смотрите также

  • DOMNode::appendChild - Adds new child at the end of the children
  • DOMDocument::createAttributeNS - Create new attribute node with an associated namespace
  • DOMDocument::createCDATASection - Create new cdata node
  • DOMDocument::createComment - Create new comment node
  • DOMDocument::createDocumentFragment - Create new document fragment
  • DOMDocument::createElement - Create new element node
  • DOMDocument::createElementNS - Create new element node with an associated namespace
  • DOMDocument::createEntityReference - Create new entity reference node
  • DOMDocument::createProcessingInstruction - Creates new PI node
  • DOMDocument::createTextNode - Create new text node

DOMDocument::__construct
DOMDocument::createAttributeNS
DOMDocument


Create new attribute node with an associated namespace

DOMDocument::createAttribute
DOMDocument::createCDATASection
DOMDocument
PHP Manual

DOMDocument::createAttributeNS

(PHP 5)

DOMDocument::createAttributeNS — Create new attribute node with an associated namespace

Описание

DOMAttr DOMDocument::createAttributeNS ( string $namespaceURI , string $qualifiedName )

This function creates a new instance of class DOMAttr. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, к пример функцией DOMNode->appendChild().

Список параметров

namespaceURI

The URI of the namespace.

qualifiedName

The tag name and prefix of the attribute, as prefix:tagname.

Возвращаемые значения

The new DOMAttr or FALSE if an error occured.

Errors/Exceptions

DOM_INVALID_CHARACTER_ERR

Raised if qualifiedName contains an invalid character.

DOM_NAMESPACE_ERR

Raised if qualifiedName is a malformed qualified name, or if qualifiedName has a prefix and namespaceURI is NULL.

Смотрите также

  • DOMNode::appendChild - Adds new child at the end of the children
  • DOMDocument::createAttribute - Create new attribute
  • DOMDocument::createCDATASection - Create new cdata node
  • DOMDocument::createComment - Create new comment node
  • DOMDocument::createDocumentFragment - Create new document fragment
  • DOMDocument::createElement - Create new element node
  • DOMDocument::createElementNS - Create new element node with an associated namespace
  • DOMDocument::createEntityReference - Create new entity reference node
  • DOMDocument::createProcessingInstruction - Creates new PI node
  • DOMDocument::createTextNode - Create new text node

DOMDocument::createAttribute
DOMDocument::createCDATASection
DOMDocument


Create new cdata node

DOMDocument::createAttributeNS
DOMDocument::createComment
DOMDocument
PHP Manual

DOMDocument::createCDATASection

(PHP 5)

DOMDocument::createCDATASection — Create new cdata node

Описание

DOMCDATASection DOMDocument::createCDATASection ( string $data )

This function creates a new instance of class DOMCDATASection. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, к пример функцией DOMNode->appendChild().

Список параметров

data

The content of the cdata.

Возвращаемые значения

The new DOMCDATASection or FALSE if an error occured.

Смотрите также

  • DOMNode::appendChild - Adds new child at the end of the children
  • DOMDocument::createAttribute - Create new attribute
  • DOMDocument::createAttributeNS - Create new attribute node with an associated namespace
  • DOMDocument::createComment - Create new comment node
  • DOMDocument::createDocumentFragment - Create new document fragment
  • DOMDocument::createElement - Create new element node
  • DOMDocument::createElementNS - Create new element node with an associated namespace
  • DOMDocument::createEntityReference - Create new entity reference node
  • DOMDocument::createProcessingInstruction - Creates new PI node
  • DOMDocument::createTextNode - Create new text node

DOMDocument::createAttributeNS
DOMDocument::createComment
DOMDocument


Create new comment node

DOMDocument::createCDATASection
DOMDocument::createDocumentFragment
DOMDocument
PHP Manual

DOMDocument::createComment

(PHP 5)

DOMDocument::createComment — Create new comment node

Описание

DOMComment DOMDocument::createComment ( string $data )

This function creates a new instance of class DOMComment. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, к пример функцией DOMNode->appendChild().

Список параметров

data

The content of the comment.

Возвращаемые значения

The new DOMComment or FALSE if an error occured.

Смотрите также

  • DOMNode::appendChild - Adds new child at the end of the children
  • DOMDocument::createAttribute - Create new attribute
  • DOMDocument::createAttributeNS - Create new attribute node with an associated namespace
  • DOMDocument::createCDATASection - Create new cdata node
  • DOMDocument::createDocumentFragment - Create new document fragment
  • DOMDocument::createElement - Create new element node
  • DOMDocument::createElementNS - Create new element node with an associated namespace
  • DOMDocument::createEntityReference - Create new entity reference node
  • DOMDocument::createProcessingInstruction - Creates new PI node
  • DOMDocument::createTextNode - Create new text node

DOMDocument::createCDATASection
DOMDocument::createDocumentFragment
DOMDocument


Create new document fragment

DOMDocument::createComment
DOMDocument::createElement
DOMDocument
PHP Manual

DOMDocument::createDocumentFragment

(PHP 5)

DOMDocument::createDocumentFragment — Create new document fragment

Описание

DOMDocumentFragment DOMDocument::createDocumentFragment ( void )

This function creates a new instance of class DOMDocumentFragment. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, к пример функцией DOMNode->appendChild().

Возвращаемые значения

The new DOMDocumentFragment or FALSE if an error occured.

Смотрите также

  • DOMNode::appendChild - Adds new child at the end of the children
  • DOMDocument::createAttribute - Create new attribute
  • DOMDocument::createAttributeNS - Create new attribute node with an associated namespace
  • DOMDocument::createCDATASection - Create new cdata node
  • DOMDocument::createComment - Create new comment node
  • DOMDocument::createElement - Create new element node
  • DOMDocument::createElementNS - Create new element node with an associated namespace
  • DOMDocument::createEntityReference - Create new entity reference node
  • DOMDocument::createProcessingInstruction - Creates new PI node
  • DOMDocument::createTextNode - Create new text node

DOMDocument::createComment
DOMDocument::createElement
DOMDocument


Create new element node

DOMDocument::createDocumentFragment
DOMDocument::createElementNS
DOMDocument
PHP Manual

DOMDocument::createElement

(PHP 5)

DOMDocument::createElement — Create new element node

Описание

DOMElement DOMDocument::createElement ( string $name [, string $value ] )

This function creates a new instance of class DOMElement. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, к пример функцией DOMNode->appendChild().

Список параметров

name

The tag name of the element.

value

The value of the element. By default, an empty element will be created. You can also set the value later with DOMElement->nodeValue.

Возвращаемые значения

Returns a new instance of class DOMElement or FALSE if an error occured.

Errors/Exceptions

DOM_INVALID_CHARACTER_ERR

Raised if name contains an invalid character.

Примеры

Пример #1 Creating a new element and inserting it as root

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');

$element = $dom->createElement('test', 'This is the root element!');

// We insert the new element as root (child of the document)
$dom->appendChild($element);

echo $dom->saveXML();
?>

Результат выполнения данного примера:

<?xml version="1.0" encoding="iso-8859-1"?>
<test>This is the root element!</test>

Смотрите также

  • DOMNode::appendChild - Adds new child at the end of the children
  • DOMDocument::createAttribute - Create new attribute
  • DOMDocument::createAttributeNS - Create new attribute node with an associated namespace
  • DOMDocument::createCDATASection - Create new cdata node
  • DOMDocument::createComment - Create new comment node
  • DOMDocument::createDocumentFragment - Create new document fragment
  • DOMDocument::createElementNS - Create new element node with an associated namespace
  • DOMDocument::createEntityReference - Create new entity reference node
  • DOMDocument::createProcessingInstruction - Creates new PI node
  • DOMDocument::createTextNode - Create new text node

DOMDocument::createDocumentFragment
DOMDocument::createElementNS
DOMDocument


Create new element node with an associated namespace

DOMDocument::createElement
DOMDocument::createEntityReference
DOMDocument
PHP Manual

DOMDocument::createElementNS

(PHP 5)

DOMDocument::createElementNS — Create new element node with an associated namespace

Описание

DOMElement DOMDocument::createElementNS ( string $namespaceURI , string $qualifiedName [, string $value ] )

This function creates a new element node with an associated namespace. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, к пример функцией DOMNode->appendChild().

Список параметров

namespaceURI

The URI of the namespace.

qualifiedName

The qualified name of the element, as prefix:tagname.

value

The value of the element. By default, an empty element will be created. You can also set the value later with DOMElement->nodeValue.

Возвращаемые значения

The new DOMElement or FALSE if an error occured.

Errors/Exceptions

DOM_INVALID_CHARACTER_ERR

Raised if qualifiedName contains an invalid character.

DOM_NAMESPACE_ERR

Raised if qualifiedName is a maformed qualified name.

Примеры

Пример #1 Creating a new element and inserting it as root

<?php

$dom = new DOMDocument('1.0', 'iso-8859-1');

$element = $dom->createElementNS('http://www.example.com/XFoo', 'xfoo:test', 'This is the root element!');

// We insert the new element as root (child of the document)
$dom->appendChild($element);

echo $dom->saveXML();
?>

Результат выполнения данного примера:

<?xml version="1.0" encoding="iso-8859-1"?>
<xfoo:test xmlns:xfoo="http://www.example.com/XFoo">This is the root element!</xfoo:test>

Пример #2 A namespace prefix example

<?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"; // Outputs: http://base.google.com/ns/1.0
echo $item->prefix, "\n";       // Outputs: g
echo $item->localName, "\n";    // Outputs: 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 - Adds new child at the end of the children
  • DOMDocument::createAttribute - Create new attribute
  • DOMDocument::createAttributeNS - Create new attribute node with an associated namespace
  • DOMDocument::createCDATASection - Create new cdata node
  • DOMDocument::createComment - Create new comment node
  • DOMDocument::createDocumentFragment - Create new document fragment
  • DOMDocument::createElement - Create new element node
  • DOMDocument::createEntityReference - Create new entity reference node
  • DOMDocument::createProcessingInstruction - Creates new PI node
  • DOMDocument::createTextNode - Create new text node

DOMDocument::createElement
DOMDocument::createEntityReference
DOMDocument


Create new entity reference node

DOMDocument::createElementNS
DOMDocument::createProcessingInstruction
DOMDocument
PHP Manual

DOMDocument::createEntityReference

(PHP 5)

DOMDocument::createEntityReference — Create new entity reference node

Описание

DOMEntityReference DOMDocument::createEntityReference ( string $name )

This function creates a new instance of class DOMEntityReference. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, к пример функцией DOMNode->appendChild().

Список параметров

name

The content of the entity reference, e.g. the entity reference minus the leading & and the trailing ; characters.

Возвращаемые значения

The new DOMEntityReference or FALSE if an error occured.

Errors/Exceptions

DOM_INVALID_CHARACTER_ERR

Raised if name contains an invalid character.

Смотрите также

  • DOMNode::appendChild - Adds new child at the end of the children
  • DOMDocument::createAttribute - Create new attribute
  • DOMDocument::createAttributeNS - Create new attribute node with an associated namespace
  • DOMDocument::createCDATASection - Create new cdata node
  • DOMDocument::createComment - Create new comment node
  • DOMDocument::createDocumentFragment - Create new document fragment
  • DOMDocument::createElement - Create new element node
  • DOMDocument::createElementNS - Create new element node with an associated namespace
  • DOMDocument::createProcessingInstruction - Creates new PI node
  • DOMDocument::createTextNode - Create new text node

DOMDocument::createElementNS
DOMDocument::createProcessingInstruction
DOMDocument


Creates new PI node

DOMDocument::createEntityReference
DOMDocument::createTextNode
DOMDocument
PHP Manual

DOMDocument::createProcessingInstruction

(PHP 5)

DOMDocument::createProcessingInstruction — Creates new PI node

Описание

DOMProcessingInstruction DOMDocument::createProcessingInstruction ( string $target [, string $data ] )

This function creates a new instance of class DOMProcessingInstruction. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, к пример функцией DOMNode->appendChild().

Список параметров

target

The target of the processing instruction.

data

The content of the processing instruction.

Возвращаемые значения

The new DOMProcessingInstruction or FALSE if an error occured.

Errors/Exceptions

DOM_INVALID_CHARACTER_ERR

Raised if target contains an invalid character.

Смотрите также

  • DOMNode::appendChild - Adds new child at the end of the children
  • DOMDocument::createAttribute - Create new attribute
  • DOMDocument::createAttributeNS - Create new attribute node with an associated namespace
  • DOMDocument::createCDATASection - Create new cdata node
  • DOMDocument::createComment - Create new comment node
  • DOMDocument::createDocumentFragment - Create new document fragment
  • DOMDocument::createElement - Create new element node
  • DOMDocument::createElementNS - Create new element node with an associated namespace
  • DOMDocument::createEntityReference - Create new entity reference node
  • DOMDocument::createTextNode - Create new text node

DOMDocument::createEntityReference
DOMDocument::createTextNode
DOMDocument


Create new text node

DOMDocument::createProcessingInstruction
DOMDocument::getElementById
DOMDocument
PHP Manual

DOMDocument::createTextNode

(PHP 5)

DOMDocument::createTextNode — Create new text node

Описание

DOMText DOMDocument::createTextNode ( string $content )

This function creates a new instance of class DOMText. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, к пример функцией DOMNode->appendChild().

Список параметров

content

The content of the text.

Возвращаемые значения

The new DOMText or FALSE if an error occured.

Смотрите также

  • DOMNode::appendChild - Adds new child at the end of the children
  • DOMDocument::createAttribute - Create new attribute
  • DOMDocument::createAttributeNS - Create new attribute node with an associated namespace
  • DOMDocument::createCDATASection - Create new cdata node
  • DOMDocument::createComment - Create new comment node
  • DOMDocument::createDocumentFragment - Create new document fragment
  • DOMDocument::createElement - Create new element node
  • DOMDocument::createElementNS - Create new element node with an associated namespace
  • DOMDocument::createEntityReference - Create new entity reference node
  • DOMDocument::createProcessingInstruction - Creates new PI node

DOMDocument::createProcessingInstruction
DOMDocument::getElementById
DOMDocument


Searches for an element with a certain id

DOMDocument::createTextNode
DOMDocument::getElementsByTagName
DOMDocument
PHP Manual

DOMDocument::getElementById

(PHP 5)

DOMDocument::getElementById — Searches for an element with a certain id

Описание

DOMElement DOMDocument::getElementById ( string $elementId )

This function is similar to DOMDocument::getElementsByTagName but searches for an element with a given id.

For this function to work, you will need either to set some ID attributes with DOMElement::setIdAttribute or a DTD which defines an attribute to be of type ID. In the later case, you will need to validate your document with DOMDocument::validate or DOMDocument->validateOnParse before using this function.

Список параметров

elementId

The unique id value for an element.

Возвращаемые значения

Returns the DOMElement or NULL if the element is not found.

Примеры

Пример #1 DOMDocument->getElementById() Example

<?php

$doc = new DomDocument;

// We need to validate our document before refering to the id
$doc->validateOnParse = true;
$doc->Load('book.xml');

echo "The element whose id is books is: " . $doc->getElementById('books')->tagName . "\n";

?>

Результат выполнения данного примера:

The element whose id is books is: chapter

Смотрите также

  • DOMDocument::getElementsByTagName - Searches for all elements with given tag name

DOMDocument::createTextNode
DOMDocument::getElementsByTagName
DOMDocument


Searches for all elements with given tag name

DOMDocument::getElementById
DOMDocument::getElementsByTagNameNS
DOMDocument
PHP Manual

DOMDocument::getElementsByTagName

(PHP 5)

DOMDocument::getElementsByTagName — Searches for all elements with given tag name

Описание

DOMNodeList DOMDocument::getElementsByTagName ( string $name )

This function returns a new instance of class DOMNodeList containing the elements with a given tag name.

Список параметров

name

The name of the tag to match on. The special value * matches all tags.

Возвращаемые значения

A new DOMNodeList object containing all the matched elements.

Смотрите также

  • DOMDocument::getElementsByTagNameNS - Searches for all elements with given tag name in specified namespace

DOMDocument::getElementById
DOMDocument::getElementsByTagNameNS
DOMDocument


Searches for all elements with given tag name in specified namespace

DOMDocument::getElementsByTagName
DOMDocument::importNode
DOMDocument
PHP Manual

DOMDocument::getElementsByTagNameNS

(PHP 5)

DOMDocument::getElementsByTagNameNS — Searches for all elements with given tag name in specified namespace

Описание

DOMNodeList DOMDocument::getElementsByTagNameNS ( string $namespaceURI , string $localName )

Returns a DOMNodeList of all elements with a given local name and a namespace URI.

Список параметров

namespaceURI

The namespace URI of the elements to match on. The special value * matches all namespaces.

localName

The local name of the elements to match on. The special value * matches all local names.

Возвращаемые значения

A new DOMNodeList object containing all the matched elements.

Примеры

Пример #1 Get all the XInclude elements

<?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;

// load the XML string defined above
$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 - Searches for all elements with given tag name

DOMDocument::getElementsByTagName
DOMDocument::importNode
DOMDocument


Import node into current document

DOMDocument::getElementsByTagNameNS
DOMDocument::load
DOMDocument
PHP Manual

DOMDocument::importNode

(PHP 5)

DOMDocument::importNode — Import node into current document

Описание

DOMNode DOMDocument::importNode ( DOMNode $importedNode [, bool $deep ] )

This function returns a copy of the node to import and associates it with the current document.

Список параметров

importedNode

The node to import.

deep

If set to TRUE, this method will recursively import the subtree under the importedNode .

Замечание: To copy the nodes attributes deep needs to be set to TRUE

Возвращаемые значения

The copied node or FALSE, if it cannot be copied.

Errors/Exceptions

DOMException is thrown if node cannot be imported.

Примеры

Пример #1 DOMDocument::importNode() example

Copying nodes between documents.

<?php

$orgdoc = new DOMDocument;
$orgdoc->loadXML("<root><element><child>text in child</child></element></root>");

// The node we want to import to a new document
$node = $orgdoc->getElementsByTagName("element")->item(0);

// Create a new document
$newdoc = new DOMDocument;
$newdoc->formatOutput = true;

// Add some markup
$newdoc->loadXML("<root><someelement>text in some element</someelement></root>");

echo "The 'new document' before copying nodes into it:\n";
echo $newdoc->saveXML();

// Import the node, and all its children, to the document
$node = $newdoc->importNode($node, true);
// And then append it to the "<root>" node
$newdoc->documentElement->appendChild($node);

echo "\nThe 'new document' after copying the nodes into it:\n";
echo $newdoc->saveXML();
?>

Результат выполнения данного примера:

The 'new document' before copying nodes into it:
<?xml version="1.0"?>
<root>
  <someelement>text in some element</someelement>
</root>

The 'new document' after copying the nodes into it:
<?xml version="1.0"?>
<root>
  <someelement>text in some element</someelement>
  <element>
    <child>text in child</child>
  </element>
</root>

DOMDocument::getElementsByTagNameNS
DOMDocument::load
DOMDocument


Load XML from a file

DOMDocument::importNode
DOMDocument::loadHTML
DOMDocument
PHP Manual

DOMDocument::load

(PHP 5)

DOMDocument::load — Load XML from a file

Описание

mixed DOMDocument::load ( string $filename [, int $options= 0 ] )

Loads an XML document from a file.

Внимание

Unix style paths with forward slashes can cause significant performance degradation on Windows systems; be sure to call realpath() in such a case.

Список параметров

filename

The path to the XML document.

options

Bitwise OR of the libxml option constants.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. If called statically, returns a DOMDocument and issues E_STRICT warning.

Errors/Exceptions

If an empty string is passed as the filename or an empty file is named, a warning will be generated. This warning is not generated by libxml and cannot be handled using libxml's error handling functions.

Примеры

Пример #1 Creating a Document

<?php
$doc = new DOMDocument();
$doc->load('book.xml');
echo $doc->saveXML();
?>

Смотрите также

  • DOMDocument::loadXML - Load XML from a string
  • DOMDocument::save - Dumps the internal XML tree back into a file
  • DOMDocument::saveXML - Dumps the internal XML tree back into a string

DOMDocument::importNode
DOMDocument::loadHTML
DOMDocument


Load HTML from a string

DOMDocument::load
DOMDocument::loadHTMLFile
DOMDocument
PHP Manual

DOMDocument::loadHTML

(PHP 5)

DOMDocument::loadHTML — Load HTML from a string

Описание

bool DOMDocument::loadHTML ( string $source )

The function parses the HTML contained in the string source . Unlike loading XML, HTML does not have to be well-formed to load. This function may also be called statically to load and create a DOMDocument object. The static invocation may be used when no DOMDocument properties need to be set prior to loading.

Список параметров

source

The HTML string.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. If called statically, returns a DOMDocument and issues E_STRICT warning.

Errors/Exceptions

If an empty string is passed as the source , a warning will be generated. This warning is not generated by libxml and cannot be handled using libxml's error handling functions.

Примеры

Пример #1 Creating a Document

<?php
$doc = new DOMDocument();
$doc->loadHTML("<html><body>Test<br></body></html>");
echo $doc->saveHTML();
?>

Смотрите также

  • DOMDocument::loadHTMLFile - Load HTML from a file
  • DOMDocument::saveHTML - Dumps the internal document into a string using HTML formatting
  • DOMDocument::saveHTMLFile - Dumps the internal document into a file using HTML formatting

DOMDocument::load
DOMDocument::loadHTMLFile
DOMDocument


Load HTML from a file

DOMDocument::loadHTML
DOMDocument::loadXML
DOMDocument
PHP Manual

DOMDocument::loadHTMLFile

(PHP 5)

DOMDocument::loadHTMLFile — Load HTML from a file

Описание

bool DOMDocument::loadHTMLFile ( string $filename )

The function parses the HTML document in the file named filename . Unlike loading XML, HTML does not have to be well-formed to load.

Though not recommended, this function may also be called statically to load and create a DOMDocument object. The static invocation may be used when no DOMDocument properties need to be set prior to loading. However, doing so will result an in E_STRICT error being generated.

Список параметров

filename

The path to the HTML file.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. If called statically, returns a DOMDocument and issues E_STRICT warning.

Errors/Exceptions

If an empty string is passed as the filename or an empty file is named, a warning will be generated. This warning is not generated by libxml and cannot be handled using libxml's error handling functions.

Примеры

Пример #1 Creating a Document

<?php
$doc = new DOMDocument();
$doc->loadHTMLFile("filename.html");
echo $doc->saveHTML();
?>

Смотрите также

  • DOMDocument::loadHTML - Load HTML from a string
  • DOMDocument::saveHTML - Dumps the internal document into a string using HTML formatting
  • DOMDocument::saveHTMLFile - Dumps the internal document into a file using HTML formatting

DOMDocument::loadHTML
DOMDocument::loadXML
DOMDocument


Load XML from a string

DOMDocument::loadHTMLFile
DOMDocument::normalizeDocument
DOMDocument
PHP Manual

DOMDocument::loadXML

(PHP 5)

DOMDocument::loadXML — Load XML from a string

Описание

mixed DOMDocument::loadXML ( string $source [, int $options= 0 ] )

Loads an XML document from a string.

This method may also be called statically to load and create a DOMDocument object. The static invocation may be used when no DOMDocument properties need to be set prior to loading.

Список параметров

source

The string containing the XML.

options

Bitwise OR of the libxml option constants.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. If called statically, returns a DOMDocument and issues E_STRICT warning.

Errors/Exceptions

If an empty string is passed as the source , a warning will be generated. This warning is not generated by libxml and cannot be handled using libxml's error handling functions.

Примеры

Пример #1 Creating a Document

<?php
$doc = new DOMDocument();
$doc->loadXML('<root><node/></root>');
echo $doc->saveXML();
?>

Пример #2 Static invocation of loadXML

<?php
$doc = DOMDocument::loadXML('<root><node/></root>');
echo $doc->saveXML();
?>

Смотрите также

  • DOMDocument::load - Load XML from a file
  • DOMDocument::save - Dumps the internal XML tree back into a file
  • DOMDocument::saveXML - Dumps the internal XML tree back into a string

DOMDocument::loadHTMLFile
DOMDocument::normalizeDocument
DOMDocument


Normalizes the document

DOMDocument::loadXML
DOMDocument::registerNodeClass
DOMDocument
PHP Manual

DOMDocument::normalizeDocument

(PHP 5)

DOMDocument::normalizeDocument — Normalizes the document

Описание

void DOMDocument::normalizeDocument ( void )

This method acts as if you saved and then loaded the document, putting the document in a "normal" form.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • » The DOM Specification
  • DOMNode::normalize - Normalizes the node

DOMDocument::loadXML
DOMDocument::registerNodeClass
DOMDocument


Register extended class used to create base node type

DOMDocument::normalizeDocument
DOMDocument::relaxNGValidate
DOMDocument
PHP Manual

DOMDocument::registerNodeClass

(PHP 5 >= 5.2.0)

DOMDocument::registerNodeClass — Register extended class used to create base node type

Описание

bool DOMDocument::registerNodeClass ( string $baseclass , string $extendedclass )

This method allows you to register your own extended DOM class to be used afterward by the PHP DOM extension.

This method is not part of the DOM standard.

Список параметров

baseclass

The DOM class that you want to extend. You can find a list of these classes in the chapter introduction.

extendedclass

Your extended class name. If NULL is provided, any previously registered class extending baseclass will be removed.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
PHP 5.2.2 | Prior to 5.2.2, a previously registered extendedclass had to be unregistered before being able to register a new class extending the same baseclass .

Примеры

Пример #1 Adding a new method to DOMElement to ease our code

<?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');

// From now on, adding an element to another costs only one method call !
$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 Retrieving elements as custom class

<?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));

// And take advantage of the __toString method..
echo $element;
?>

Результат выполнения данного примера:

string(9) "myElement"
text in child

Пример #3 Retrieving owner document

When instantiating a custom DOMDocument the ownerDocument property will refer to the instantiated class, meaning there is no need (and in fact not possible) to use DOMDocument::registerNodeClass() with DOMDocument

<?php
class myDOMDocument extends DOMDocument {
}

class myOtherDOMDocument extends DOMDocument {
}

// Create myDOMDocument with some XML
$doc = new myDOMDocument;
$doc->loadXML("<root><element><child>text in child</child></element></root>");

$child = $doc->getElementsByTagName("child")->item(0);

// The current owner of the node is myDOMDocument
var_dump(get_class($child->ownerDocument));

// Import a node from myDOMDocument
$newdoc = new myOtherDOMDocument;
$child = $newdoc->importNode($child);

// The new owner of the node has changed to myOtherDOMDocument
var_dump(get_class($child->ownerDocument));
?>

Результат выполнения данного примера:

string(13) "myDOMDocument"
string(18) "myOtherDOMDocument"

DOMDocument::normalizeDocument
DOMDocument::relaxNGValidate
DOMDocument


Performs relaxNG validation on the document

DOMDocument::registerNodeClass
DOMDocument::relaxNGValidateSource
DOMDocument
PHP Manual

DOMDocument::relaxNGValidate

(PHP 5)

DOMDocument::relaxNGValidate — Performs relaxNG validation on the document

Описание

bool DOMDocument::relaxNGValidate ( string $filename )

Performs » relaxNG validation on the document based on the given RNG schema.

Список параметров

filename

The RNG file.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • DOMDocument::relaxNGValidateSource - Performs relaxNG validation on the document
  • DOMDocument::schemaValidate - Validates a document based on a schema
  • DOMDocument::schemaValidateSource - Validates a document based on a schema
  • DOMDocument::validate - Validates the document based on its DTD

DOMDocument::registerNodeClass
DOMDocument::relaxNGValidateSource
DOMDocument


Performs relaxNG validation on the document

DOMDocument::relaxNGValidate
DOMDocument::save
DOMDocument
PHP Manual

DOMDocument::relaxNGValidateSource

(PHP 5)

DOMDocument::relaxNGValidateSource — Performs relaxNG validation on the document

Описание

bool DOMDocument::relaxNGValidateSource ( string $source )

Performs » relaxNG validation on the document based on the given RNG source.

Список параметров

source

A string containing the RNG schema.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • DOMDocument::relaxNGValidate - Performs relaxNG validation on the document
  • DOMDocument::schemaValidate - Validates a document based on a schema
  • DOMDocument::schemaValidateSource - Validates a document based on a schema
  • DOMDocument::validate - Validates the document based on its DTD

DOMDocument::relaxNGValidate
DOMDocument::save
DOMDocument


Dumps the internal XML tree back into a file

DOMDocument::relaxNGValidateSource
DOMDocument::saveHTML
DOMDocument
PHP Manual

DOMDocument::save

(PHP 5)

DOMDocument::save — Dumps the internal XML tree back into a file

Описание

int DOMDocument::save ( string $filename [, int $options ] )

Creates an XML document from the DOM representation. This function is usually called after building a new dom document from scratch as in the example below.

Список параметров

filename

The path to the saved XML document.

options

Additional Options. Currently only LIBXML_NOEMPTYTAG is supported.

Возвращаемые значения

Returns the number of bytes written or FALSE if an error occurred.

Список изменений

Версия | Описание
5.1.0 | Added the options parameter

Примеры

Пример #1 Saving a DOM tree into a file

<?php

$doc = new DOMDocument('1.0');
// we want a nice output
$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 'Wrote: ' . $doc->save("/tmp/test.xml") . ' bytes'; // Wrote: 72 bytes

?>

Смотрите также

  • DOMDocument::saveXML - Dumps the internal XML tree back into a string
  • DOMDocument::load - Load XML from a file
  • DOMDocument::loadXML - Load XML from a string

DOMDocument::relaxNGValidateSource
DOMDocument::saveHTML
DOMDocument


Dumps the internal document into a string using HTML formatting

DOMDocument::save
DOMDocument::saveHTMLFile
DOMDocument
PHP Manual

DOMDocument::saveHTML

(PHP 5)

DOMDocument::saveHTML — Dumps the internal document into a string using HTML formatting

Описание

string DOMDocument::saveHTML ( void )

Creates an HTML document from the DOM representation. This function is usually called after building a new dom document from scratch as in the example below.

Возвращаемые значения

Returns the HTML, or FALSE if an error occurred.

Примеры

Пример #1 Saving a HTML tree into a string

<?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('This is the title');
$text = $title->appendChild($text);

echo $doc->saveHTML();

?>

Смотрите также

  • DOMDocument::saveHTMLFile - Dumps the internal document into a file using HTML formatting
  • DOMDocument::loadHTML - Load HTML from a string
  • DOMDocument::loadHTMLFile - Load HTML from a file

DOMDocument::save
DOMDocument::saveHTMLFile
DOMDocument


Dumps the internal document into a file using HTML formatting

DOMDocument::saveHTML
DOMDocument::saveXML
DOMDocument
PHP Manual

DOMDocument::saveHTMLFile

(PHP 5)

DOMDocument::saveHTMLFile — Dumps the internal document into a file using HTML formatting

Описание

int DOMDocument::saveHTMLFile ( string $filename )

Creates an HTML document from the DOM representation. This function is usually called after building a new dom document from scratch as in the example below.

Список параметров

filename

The path to the saved HTML document.

Возвращаемые значения

Returns the number of bytes written or FALSE if an error occurred.

Примеры

Пример #1 Saving a HTML tree into a file

<?php

$doc = new DOMDocument('1.0');
// we want a nice output
$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('This is the title');
$text = $title->appendChild($text);

echo 'Wrote: ' . $doc->saveHTMLFile("/tmp/test.html") . ' bytes'; // Wrote: 129 bytes

?>

Смотрите также

  • DOMDocument::saveHTML - Dumps the internal document into a string using HTML formatting
  • DOMDocument::loadHTML - Load HTML from a string
  • DOMDocument::loadHTMLFile - Load HTML from a file

DOMDocument::saveHTML
DOMDocument::saveXML
DOMDocument


Dumps the internal XML tree back into a string

DOMDocument::saveHTMLFile
DOMDocument::schemaValidate
DOMDocument
PHP Manual

DOMDocument::saveXML

(PHP 5)

DOMDocument::saveXML — Dumps the internal XML tree back into a string

Описание

string DOMDocument::saveXML ([ DOMNode $node [, int $options ]] )

Creates an XML document from the DOM representation. This function is usually called after building a new dom document from scratch as in the example below.

Список параметров

node

Use this parameter to output only a specific node without XML declaration rather than the entire document.

options

Additional Options. Currently only LIBXML_NOEMPTYTAG is supported.

Возвращаемые значения

Returns the XML, or FALSE if an error occurred.

Errors/Exceptions

DOM_WRONG_DOCUMENT_ERR

Raised if node is from another document.

Список изменений

Версия | Описание
5.1.0 | Added the options parameter

Примеры

Пример #1 Saving a DOM tree into a string

<?php

$doc = new DOMDocument('1.0');
// we want a nice output
$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 "Saving all the document:\n";
echo $doc->saveXML() . "\n";

echo "Saving only the title part:\n";
echo $doc->saveXML($title);

?>

Результат выполнения данного примера:

Saving all the document:
<?xml version="1.0"?>
<book>
  <title>This is the title</title>
</book>

Saving only the title part:
<title>This is the title</title>

Смотрите также

  • DOMDocument::save - Dumps the internal XML tree back into a file
  • DOMDocument::load - Load XML from a file
  • DOMDocument::loadXML - Load XML from a string

DOMDocument::saveHTMLFile
DOMDocument::schemaValidate
DOMDocument


Validates a document based on a schema

DOMDocument::saveXML
DOMDocument::schemaValidateSource
DOMDocument
PHP Manual

DOMDocument::schemaValidate

(PHP 5)

DOMDocument::schemaValidate — Validates a document based on a schema

Описание

bool DOMDocument::schemaValidate ( string $filename )

Validates a document based on the given schema file.

Список параметров

filename

The path to the schema.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • DOMDocument::schemaValidateSource - Validates a document based on a schema
  • DOMDocument::relaxNGValidate - Performs relaxNG validation on the document
  • DOMDocument::relaxNGValidateSource - Performs relaxNG validation on the document
  • DOMDocument::validate - Validates the document based on its DTD

DOMDocument::saveXML
DOMDocument::schemaValidateSource
DOMDocument


Validates a document based on a schema

DOMDocument::schemaValidate
DOMDocument::validate
DOMDocument
PHP Manual

DOMDocument::schemaValidateSource

(PHP 5)

DOMDocument::schemaValidateSource — Validates a document based on a schema

Описание

bool DOMDocument::schemaValidateSource ( string $source )

Validates a document based on a schema defined in the given string.

Список параметров

source

A string containing the schema.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • DOMDocument::schemaValidate - Validates a document based on a schema
  • DOMDocument::relaxNGValidate - Performs relaxNG validation on the document
  • DOMDocument::relaxNGValidateSource - Performs relaxNG validation on the document
  • DOMDocument::validate - Validates the document based on its DTD

DOMDocument::schemaValidate
DOMDocument::validate
DOMDocument


Validates the document based on its DTD

DOMDocument::schemaValidateSource
DOMDocument::xinclude
DOMDocument
PHP Manual

DOMDocument::validate

(PHP 5)

DOMDocument::validate — Validates the document based on its DTD

Описание

bool DOMDocument::validate ( void )

Validates the document based on its DTD.

You can also use the validateOnParse property of DOMDocument to make a DTD validation.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. If the document have no DTD attached, this method will return FALSE.

Примеры

Пример #1 Example of DTD validation

<?php
$dom = new DOMDocument;
$dom->Load('book.xml');
if ($dom->validate()) {
    echo "This document is valid!\n";
}
?>

You can also validate your XML file while loading it:

<?php
$dom = new DOMDocument;
$dom->validateOnParse = true;
$dom->Load('book.xml');
?>

Смотрите также

  • DOMDocument::schemaValidate - Validates a document based on a schema
  • DOMDocument::schemaValidateSource - Validates a document based on a schema
  • DOMDocument::relaxNGValidate - Performs relaxNG validation on the document
  • DOMDocument::relaxNGValidateSource - Performs relaxNG validation on the document

DOMDocument::schemaValidateSource
DOMDocument::xinclude
DOMDocument


Substitutes XIncludes in a DOMDocument Object

DOMDocument::validate
DOMDocumentFragment
DOMDocument
PHP Manual

DOMDocument::xinclude

(PHP 5)

DOMDocument::xinclude — Substitutes XIncludes in a DOMDocument Object

Описание

int DOMDocument::xinclude ([ int $options ] )

This method substitutes » XIncludes in a DOMDocument object.

Замечание: Due to libxml2 automatically resolving entities, this method will produce unexpected results if the included XML file have an attached DTD.

Список параметров

options

libxml parameters. Available since PHP 5.1.0 and Libxml 2.6.7.

Возвращаемые значения

Returns the number of XIncludes in the document.

Примеры

Пример #1 DOMDocument->xinclude() example

<?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;

// let's have a nice output
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;

// load the XML string defined above
$dom->loadXML($xml);

// substitute xincludes
$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


The DOMDocumentFragment class

Class synopsis

DOMDocumentFragment
DOMDocumentFragment extends DOMNode {
/* Properties */
/* Methods */
bool appendXML ( string $data )
/* Inherited methods */
DOMNode DOMNode::appendChild ( DOMNode $newnode )
DOMNode DOMNode::cloneNode ([ bool $deep ] )
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 — Append raw XML data
DOMDocument::xinclude
DOMDocumentFragment::appendXML
DOM


Append raw XML data

DOMDocumentFragment
DOMDocumentType
DOMDocumentFragment
PHP Manual

DOMDocumentFragment::appendXML

(PHP 5 >= 5.1.0)

DOMDocumentFragment::appendXML — Append raw XML data

Описание

bool DOMDocumentFragment::appendXML ( string $data )

Appends raw XML data to a DOMDocumentFragment.

This method is not part of the DOM standard. It was created as a simpler approach for appending an XML DocumentFragment in a DOMDocument.

If you want to stick to the standards, you will have to create a temporary DOMDocument with a dummy root and then loop through the child nodes of the root of your XML data to append them.

Список параметров

data

XML to append.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Appending XML data to your document

<?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


The DOMDocumentType class

Введение

Each DOMDocument has a doctype attribute whose value is either NULL or a DOMDocumentType object.

Class synopsis

DOMDocumentType
DOMDocumentType extends DOMNode {
/* Properties */
readonly public string $publicId ;
readonly public string $systemId ;
readonly public string $name ;
readonly public DOMNamedNodeMap $entities ;
readonly public DOMNamedNodeMap $notations ;
readonly public string $internalSubset ;
/* Inherited methods */
DOMNode DOMNode::appendChild ( DOMNode $newnode )
DOMNode DOMNode::cloneNode ([ bool $deep ] )
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

The public identifier of the external subset.

systemId

The system identifier of the external subset. This may be an absolute URI or not.

name

The name of DTD; i.e., the name immediately following the DOCTYPE keyword.

entities

A DOMNamedNodeMap containing the general entities, both external and internal, declared in the DTD.

notations

A DOMNamedNodeMap containing the notations declared in the DTD.

internalSubset

The internal subset as a string, or null if there is none. This is does not contain the delimiting square brackets.

DOMDocumentFragment::appendXML
DOMElement
DOM


The DOMElement class

Class synopsis

DOMElement
DOMElement extends DOMNode {
/* Properties */
readonly public bool $schemaTypeInfo ;
readonly public string $tagName ;
/* Methods */
__construct ( string $name [, string $value [, string $namespaceURI ]] )
string getAttribute ( string $name )
DOMAttr getAttributeNode ( string $name )
DOMAttr getAttributeNodeNS ( string $namespaceURI , string $localName )
string getAttributeNS ( string $namespaceURI , string $localName )
DOMNodeList getElementsByTagName ( string $name )
DOMNodeList getElementsByTagNameNS ( string $namespaceURI , string $localName )
bool hasAttribute ( string $name )
bool hasAttributeNS ( string $namespaceURI , string $localName )
bool removeAttribute ( string $name )
bool removeAttributeNode ( DOMAttr $oldnode )
bool removeAttributeNS ( string $namespaceURI , string $localName )
DOMAttr setAttribute ( string $name , string $value )
DOMAttr setAttributeNode ( DOMAttr $attr )
DOMAttr setAttributeNodeNS ( DOMAttr $attr )
void setAttributeNS ( string $namespaceURI , string $qualifiedName , string $value )
void setIdAttribute ( string $name , bool $isId )
void setIdAttributeNode ( DOMAttr $attr , bool $isId )
void setIdAttributeNS ( string $namespaceURI , string $localName , bool $isId )
/* Inherited methods */
DOMNode DOMNode::appendChild ( DOMNode $newnode )
DOMNode DOMNode::cloneNode ([ bool $deep ] )
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

Not implemented yet, always return NULL

tagName

The element name

Содержание

  • DOMElement::__construct — Creates a new DOMElement object
  • DOMElement::getAttribute — Returns value of attribute
  • DOMElement::getAttributeNode — Returns attribute node
  • DOMElement::getAttributeNodeNS — Returns attribute node
  • DOMElement::getAttributeNS — Returns value of attribute
  • DOMElement::getElementsByTagName — Gets elements by tagname
  • DOMElement::getElementsByTagNameNS — Get elements by namespaceURI and localName
  • DOMElement::hasAttribute — Checks to see if attribute exists
  • DOMElement::hasAttributeNS — Checks to see if attribute exists
  • DOMElement::removeAttribute — Removes attribute
  • DOMElement::removeAttributeNode — Removes attribute
  • DOMElement::removeAttributeNS — Removes attribute
  • DOMElement::setAttribute — Adds new attribute
  • DOMElement::setAttributeNode — Adds new attribute node to element
  • DOMElement::setAttributeNodeNS — Adds new attribute node to element
  • DOMElement::setAttributeNS — Adds new attribute
  • DOMElement::setIdAttribute — Declares the attribute specified by name to be of type ID
  • DOMElement::setIdAttributeNode — Declares the attribute specified by node to be of type ID
  • DOMElement::setIdAttributeNS — Declares the attribute specified by local name and namespace URI to be of type ID
DOMDocumentType
DOMElement::__construct
DOM


Creates a new DOMElement object

DOMElement
DOMElement::getAttribute
DOMElement
PHP Manual

DOMElement::__construct

(PHP 5)

DOMElement::__construct — Creates a new DOMElement object

Описание

DOMElement
__construct ( string $name [, string $value [, string $namespaceURI ]] )

Creates a new DOMElement object. This object is read only. It may be appended to a document, but additional nodes may not be appended to this node until the node is associated with a document. To create a writeable node, use DOMDocument::createElement or DOMDocument::createElementNS.

Список параметров

name

The tag name of the element. When also passing in namespaceURI, the element name may take a prefix to be associated with the URI.

value

The value of the element.

namespaceURI

A namespace URI to create the element within a specific namespace.

Примеры

Пример #1 Creating a new 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="iso-8859-1"?>
<root><pr:node1 xmlns:pr="http://xyz">thisvalue</pr:node1></root> */

?>

Смотрите также

  • DOMDocument::createElement - Create new element node
  • DOMDocument::createElementNS - Create new element node with an associated namespace

DOMElement
DOMElement::getAttribute
DOMElement


Returns value of attribute

DOMElement::__construct
DOMElement::getAttributeNode
DOMElement
PHP Manual

DOMElement::getAttribute

(PHP 5)

DOMElement::getAttribute — Returns value of attribute

Описание

string DOMElement::getAttribute ( string $name )

Gets the value of the attribute with name name for the current node.

Список параметров

name

The name of the attribute.

Возвращаемые значения

The value of the attribute, or an empty string if no attribute with the given name is found.

Смотрите также

  • DOMElement::hasAttribute - Checks to see if attribute exists
  • DOMElement::setAttribute - Adds new attribute
  • DOMElement::removeAttribute - Removes attribute

DOMElement::__construct
DOMElement::getAttributeNode
DOMElement


Returns attribute node

DOMElement::getAttribute
DOMElement::getAttributeNodeNS
DOMElement
PHP Manual

DOMElement::getAttributeNode

(PHP 5)

DOMElement::getAttributeNode — Returns attribute node

Описание

DOMAttr DOMElement::getAttributeNode ( string $name )

Returns the attribute node with name name for the current element.

Список параметров

name

The name of the attribute.

Возвращаемые значения

The attribute node.

Смотрите также

  • DOMElement::hasAttribute - Checks to see if attribute exists
  • DOMElement::setAttributeNode - Adds new attribute node to element
  • DOMElement::removeAttributeNode - Removes attribute

DOMElement::getAttribute
DOMElement::getAttributeNodeNS
DOMElement


Returns attribute node

DOMElement::getAttributeNode
DOMElement::getAttributeNS
DOMElement
PHP Manual

DOMElement::getAttributeNodeNS

(PHP 5)

DOMElement::getAttributeNodeNS — Returns attribute node

Описание

DOMAttr DOMElement::getAttributeNodeNS ( string $namespaceURI , string $localName )

Returns the attribute node in namespace namespaceURI with local name localName for the current node.

Список параметров

namespaceURI

The namespace URI.

localName

The local name.

Возвращаемые значения

The attribute node.

Смотрите также

  • DOMElement::hasAttributeNS - Checks to see if attribute exists
  • DOMElement::setAttributeNodeNS - Adds new attribute node to element
  • DOMElement::removeAttributeNode - Removes attribute

DOMElement::getAttributeNode
DOMElement::getAttributeNS
DOMElement


Returns value of attribute

DOMElement::getAttributeNodeNS
DOMElement::getElementsByTagName
DOMElement
PHP Manual

DOMElement::getAttributeNS

(PHP 5)

DOMElement::getAttributeNS — Returns value of attribute

Описание

string DOMElement::getAttributeNS ( string $namespaceURI , string $localName )

Gets the value of the attribute in namespace namespaceURI with local name localName for the current node.

Список параметров

namespaceURI

The namespace URI.

localName

The local name.

Возвращаемые значения

The value of the attribute, or an empty string if no attribute with the given localName and namespaceURI is found.

Смотрите также

  • DOMElement::hasAttributeNS - Checks to see if attribute exists
  • DOMElement::setAttributeNS - Adds new attribute
  • DOMElement::removeAttributeNS - Removes attribute

DOMElement::getAttributeNodeNS
DOMElement::getElementsByTagName
DOMElement


Gets elements by tagname

DOMElement::getAttributeNS
DOMElement::getElementsByTagNameNS
DOMElement
PHP Manual

DOMElement::getElementsByTagName

(PHP 5)

DOMElement::getElementsByTagName — Gets elements by tagname

Описание

DOMNodeList DOMElement::getElementsByTagName ( string $name )

This function returns a new instance of the class DOMNodeList of all descendant elements with a given tag name , in the order in which they are encountered in a preorder traversal of this element tree.

Список параметров

name

The tag name. Use * to return all elements within the element tree.

Возвращаемые значения

This function returns a new instance of the class DOMNodeList of all matched elements.

Смотрите также

  • DOMElement::getElementsByTagNameNS - Get elements by namespaceURI and localName

DOMElement::getAttributeNS
DOMElement::getElementsByTagNameNS
DOMElement


Get elements by namespaceURI and localName

DOMElement::getElementsByTagName
DOMElement::hasAttribute
DOMElement
PHP Manual

DOMElement::getElementsByTagNameNS

(PHP 5)

DOMElement::getElementsByTagNameNS — Get elements by namespaceURI and localName

Описание

DOMNodeList DOMElement::getElementsByTagNameNS ( string $namespaceURI , string $localName )

This function fetch all the descendant elements with a given localName and namespaceURI .

Список параметров

namespaceURI

The namespace URI.

localName

The local name. Use * to return all elements within the element tree.

Возвращаемые значения

This function returns a new instance of the class DOMNodeList of all matched elements in the order in which they are encountered in a preorder traversal of this element tree.

Смотрите также

  • DOMElement::getElementsByTagName - Gets elements by tagname

DOMElement::getElementsByTagName
DOMElement::hasAttribute
DOMElement


Checks to see if attribute exists

DOMElement::getElementsByTagNameNS
DOMElement::hasAttributeNS
DOMElement
PHP Manual

DOMElement::hasAttribute

(PHP 5)

DOMElement::hasAttribute — Checks to see if attribute exists

Описание

bool DOMElement::hasAttribute ( string $name )

Indicates whether attribute named name exists as a member of the element.

Список параметров

name

The attribute name.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • DOMElement::hasAttributeNS - Checks to see if attribute exists
  • DOMElement::getAttribute - Returns value of attribute
  • DOMElement::setAttribute - Adds new attribute
  • DOMElement::removeAttribute - Removes attribute

DOMElement::getElementsByTagNameNS
DOMElement::hasAttributeNS
DOMElement


Checks to see if attribute exists

DOMElement::hasAttribute
DOMElement::removeAttribute
DOMElement
PHP Manual

DOMElement::hasAttributeNS

(PHP 5)

DOMElement::hasAttributeNS — Checks to see if attribute exists

Описание

bool DOMElement::hasAttributeNS ( string $namespaceURI , string $localName )

Indicates whether attribute in namespace namespaceURI named localName exists as a member of the element.

Список параметров

namespaceURI

The namespace URI.

localName

The local name.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • DOMElement::hasAttribute - Checks to see if attribute exists
  • DOMElement::getAttributeNS - Returns value of attribute
  • DOMElement::setAttributeNS - Adds new attribute
  • DOMElement::removeAttributeNS - Removes attribute

DOMElement::hasAttribute
DOMElement::removeAttribute
DOMElement


Removes attribute

DOMElement::hasAttributeNS
DOMElement::removeAttributeNode
DOMElement
PHP Manual

DOMElement::removeAttribute

(PHP 5)

DOMElement::removeAttribute — Removes attribute

Описание

bool DOMElement::removeAttribute ( string $name )

Removes attribute named name from the element.

Список параметров

name

The name of the attribute.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Errors/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

Смотрите также

  • DOMElement::hasAttribute - Checks to see if attribute exists
  • DOMElement::getAttribute - Returns value of attribute
  • DOMElement::setAttribute - Adds new attribute

DOMElement::hasAttributeNS
DOMElement::removeAttributeNode
DOMElement


Removes attribute

DOMElement::removeAttribute
DOMElement::removeAttributeNS
DOMElement
PHP Manual

DOMElement::removeAttributeNode

(PHP 5)

DOMElement::removeAttributeNode — Removes attribute

Описание

bool DOMElement::removeAttributeNode ( DOMAttr $oldnode )

Removes attribute oldnode from the element.

Список параметров

oldnode

The attribute node.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Errors/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

DOM_NOT_FOUND_ERROR

Raised if oldnode is not an attribute of the element.

Смотрите также

  • DOMElement::hasAttribute - Checks to see if attribute exists
  • DOMElement::getAttributeNode - Returns attribute node
  • DOMElement::setAttributeNode - Adds new attribute node to element

DOMElement::removeAttribute
DOMElement::removeAttributeNS
DOMElement


Removes attribute

DOMElement::removeAttributeNode
DOMElement::setAttribute
DOMElement
PHP Manual

DOMElement::removeAttributeNS

(PHP 5)

DOMElement::removeAttributeNS — Removes attribute

Описание

bool DOMElement::removeAttributeNS ( string $namespaceURI , string $localName )

Removes attribute is namespace namespaceURI named localName from the element.

Список параметров

namespaceURI

The namespace URI.

localName

The local name.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Errors/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

Смотрите также

  • DOMElement::hasAttributeNS - Checks to see if attribute exists
  • DOMElement::getAttributeNS - Returns value of attribute
  • DOMElement::setAttributeNS - Adds new attribute

DOMElement::removeAttributeNode
DOMElement::setAttribute
DOMElement


Adds new attribute

DOMElement::removeAttributeNS
DOMElement::setAttributeNode
DOMElement
PHP Manual

DOMElement::setAttribute

(PHP 5)

DOMElement::setAttribute — Adds new attribute

Описание

DOMAttr DOMElement::setAttribute ( string $name , string $value )

Sets an attribute with name name to the given value. If the attribute does not exist, it will be created.

Список параметров

name

The name of the attribute.

value

The value of the attribute.

Возвращаемые значения

The new DOMAttr or FALSE if an error occured.

Errors/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

Примеры

Пример #1 Setting an attribute

<?php
$doc = new DOMDocument("1.0");
$node = $doc->createElement("para");
$newnode = $doc->appendChild($node);
$newnode->setAttribute("align", "left");
?>

Смотрите также

  • DOMElement::hasAttribute - Checks to see if attribute exists
  • DOMElement::getAttribute - Returns value of attribute
  • DOMElement::removeAttribute - Removes attribute

DOMElement::removeAttributeNS
DOMElement::setAttributeNode
DOMElement


Adds new attribute node to element

DOMElement::setAttribute
DOMElement::setAttributeNodeNS
DOMElement
PHP Manual

DOMElement::setAttributeNode

(PHP 5)

DOMElement::setAttributeNode — Adds new attribute node to element

Описание

DOMAttr DOMElement::setAttributeNode ( DOMAttr $attr )

Adds new attribute node attr to element.

Список параметров

attr

The attribute node.

Возвращаемые значения

Returns old node if the attribute has been replaced or NULL.

Errors/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

Смотрите также

  • DOMElement::hasAttribute - Checks to see if attribute exists
  • DOMElement::getAttributeNode - Returns attribute node
  • DOMElement::removeAttributeNode - Removes attribute

DOMElement::setAttribute
DOMElement::setAttributeNodeNS
DOMElement


Adds new attribute node to element

DOMElement::setAttributeNode
DOMElement::setAttributeNS
DOMElement
PHP Manual

DOMElement::setAttributeNodeNS

(PHP 5)

DOMElement::setAttributeNodeNS — Adds new attribute node to element

Описание

DOMAttr DOMElement::setAttributeNodeNS ( DOMAttr $attr )

Adds new attribute node attr to element.

Список параметров

name

The attribute node.

Возвращаемые значения

Returns the old node if the attribute has been replaced.

Errors/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

Смотрите также

  • DOMElement::hasAttributeNS - Checks to see if attribute exists
  • DOMElement::getAttributeNodeNS - Returns attribute node
  • DOMElement::removeAttributeNode - Removes attribute

DOMElement::setAttributeNode
DOMElement::setAttributeNS
DOMElement


Adds new attribute

DOMElement::setAttributeNodeNS
DOMElement::setIdAttribute
DOMElement
PHP Manual

DOMElement::setAttributeNS

(PHP 5)

DOMElement::setAttributeNS — Adds new attribute

Описание

void DOMElement::setAttributeNS ( string $namespaceURI , string $qualifiedName , string $value )

Sets an attribute with namespace namespaceURI and name name to the given value. If the attribute does not exist, it will be created.

Список параметров

namespaceURI

The namespace URI.

qualifiedName

The qualified name of the attribute, as prefix:tagname.

value

The value of the attribute.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Errors/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

DOM_NAMESPACE_ERR

Raised if qualifiedName is a malformed qualified name, or if qualifiedName has a prefix and namespaceURI is NULL.

Смотрите также

  • DOMElement::hasAttributeNS - Checks to see if attribute exists
  • DOMElement::getAttributeNS - Returns value of attribute
  • DOMElement::removeAttributeNS - Removes attribute

DOMElement::setAttributeNodeNS
DOMElement::setIdAttribute
DOMElement


Declares the attribute specified by name to be of type ID

DOMElement::setAttributeNS
DOMElement::setIdAttributeNode
DOMElement
PHP Manual

DOMElement::setIdAttribute

(PHP 5)

DOMElement::setIdAttribute — Declares the attribute specified by name to be of type ID

Описание

void DOMElement::setIdAttribute ( string $name , bool $isId )

Declares the attribute name to be of type ID.

Список параметров

name

The name of the attribute.

isId

Set it to TRUE if you want name to be of type ID, FALSE otherwise.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Errors/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

DOM_NOT_FOUND

Raised if name is not an attribute of this element.

Смотрите также

  • DOMDocument::getElementById - Searches for an element with a certain id
  • DOMElement::setIdAttributeNode - Declares the attribute specified by node to be of type ID
  • DOMElement::setIdAttributeNS - Declares the attribute specified by local name and namespace URI to be of type ID

DOMElement::setAttributeNS
DOMElement::setIdAttributeNode
DOMElement


Declares the attribute specified by node to be of type ID

DOMElement::setIdAttribute
DOMElement::setIdAttributeNS
DOMElement
PHP Manual

DOMElement::setIdAttributeNode

(PHP 5)

DOMElement::setIdAttributeNode — Declares the attribute specified by node to be of type ID

Описание

void DOMElement::setIdAttributeNode ( DOMAttr $attr , bool $isId )

Declares the attribute specified by attr to be of type ID.

Список параметров

attr

The attribute node.

isId

Set it to TRUE if you want name to be of type ID, FALSE otherwise.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Errors/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

DOM_NOT_FOUND

Raised if name is not an attribute of this element.

Смотрите также

  • DOMDocument::getElementById - Searches for an element with a certain id
  • DOMElement::setIdAttribute - Declares the attribute specified by name to be of type ID
  • DOMElement::setIdAttributeNS - Declares the attribute specified by local name and namespace URI to be of type ID

DOMElement::setIdAttribute
DOMElement::setIdAttributeNS
DOMElement


Declares the attribute specified by local name and namespace URI to be of type ID

DOMElement::setIdAttributeNode
DOMEntity
DOMElement
PHP Manual

DOMElement::setIdAttributeNS

(PHP 5)

DOMElement::setIdAttributeNS — Declares the attribute specified by local name and namespace URI to be of type ID

Описание

void DOMElement::setIdAttributeNS ( string $namespaceURI , string $localName , bool $isId )

Declares the attribute specified by localName and namespaceURI to be of type ID.

Список параметров

namespaceURI

The namespace URI of the attribute.

localName

The local name of the attribute, as prefix:tagname.

isId

Set it to TRUE if you want name to be of type ID, FALSE otherwise.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Errors/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if the node is readonly.

DOM_NOT_FOUND

Raised if name is not an attribute of this element.

Смотрите также

  • DOMDocument::getElementById - Searches for an element with a certain id
  • DOMElement::setIdAttribute - Declares the attribute specified by name to be of type ID
  • DOMElement::setIdAttributeNode - Declares the attribute specified by node to be of type ID

DOMElement::setIdAttributeNode
DOMEntity
DOMElement


The DOMEntity class

Введение

This interface represents a known entity, either parsed or unparsed, in an XML document.

Class synopsis

DOMEntity
DOMEntity extends DOMNode {
/* Properties */
readonly public string $publicId ;
readonly public string $systemId ;
readonly public string $notationName ;
public string $actualEncoding ;
readonly public string $encoding ;
readonly public string $version ;
/* Inherited methods */
DOMNode DOMNode::appendChild ( DOMNode $newnode )
DOMNode DOMNode::cloneNode ([ bool $deep ] )
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

The public identifier associated with the entity if specified, and NULL otherwise.

systemId

The system identifier associated with the entity if specified, and NULL otherwise. This may be an absolute URI or not.

notationName

For unparsed entities, the name of the notation for the entity. For parsed entities, this is NULL.

actualEncoding

An attribute specifying the encoding used for this entity at the time of parsing, when it is an external parsed entity. This is NULL if it an entity from the internal subset or if it is not known.

encoding

An attribute specifying, as part of the text declaration, the encoding of this entity, when it is an external parsed entity. This is NULL otherwise.

version

An attribute specifying, as part of the text declaration, the version number of this entity, when it is an external parsed entity. This is NULL otherwise.

DOMElement::setIdAttributeNS
DOMEntityReference
DOM


The DOMEntityReference class

Class synopsis

DOMEntityReference
DOMEntityReference extends DOMNode {
/* Properties */
/* Methods */
__construct ( string $name )
/* Inherited methods */
DOMNode DOMNode::appendChild ( DOMNode $newnode )
DOMNode DOMNode::cloneNode ([ bool $deep ] )
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 — Creates a new DOMEntityReference object
DOMEntity
DOMEntityReference::__construct
DOM


Creates a new DOMEntityReference object

DOMEntityReference
DOMException
DOMEntityReference
PHP Manual

DOMEntityReference::__construct

(PHP 5)

DOMEntityReference::__construct — Creates a new DOMEntityReference object

Описание

DOMEntityReference
__construct ( string $name )

Creates a new DOMEntityReference object.

Список параметров

name

The name of the entity reference.

Примеры

Пример #1 Creating a new 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>&nbsp;</root> */

?>

Смотрите также

  • DOMDocument::createEntityReference - Create new entity reference node

DOMEntityReference
DOMException
DOMEntityReference


The DOMException class

Введение

DOM operations raise exceptions under particular circumstances, i.e., when an operation is impossible to perform for logical reasons.

See also Исключения.

Class synopsis

DOMException
DOMException extends Exception {
/* Properties */
readonly public int $code ;
/* Inherited methods */
final public string Exception::getMessage ( void )
final public int 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

An integer indicating the type of error generated

DOMEntityReference::__construct
DOMImplementation
DOM


The DOMImplementation class

Введение

The DOMImplementation interface provides a number of methods for performing operations that are independent of any particular instance of the document object model.

Class synopsis

DOMImplementation
DOMImplementation {
/* Properties */
/* Methods */
__construct ( void )
DOMDocument createDocument ([ string $namespaceURI= NULL [, string $qualifiedName= NULL [, DOMDocumentType $doctype= NULL ]]] )
DOMDocumentType createDocumentType ([ string $qualifiedName= NULL [, string $publicId= NULL [, string $systemId= NULL ]]] )
bool hasFeature ( string $feature , string $version )
}

Содержание

  • DOMImplementation::__construct — Creates a new DOMImplementation object
  • DOMImplementation::createDocument — Creates a DOMDocument object of the specified type with its document element
  • DOMImplementation::createDocumentType — Creates an empty DOMDocumentType object
  • DOMImplementation::hasFeature — Test if the DOM implementation implements a specific feature
DOMException
DOMImplementation::__construct
DOM


Creates a new DOMImplementation object

DOMImplementation
DOMImplementation::createDocument
DOMImplementation
PHP Manual

DOMImplementation::__construct

(PHP 5)

DOMImplementation::__construct — Creates a new DOMImplementation object

Описание

DOMImplementation
__construct ( void )

Creates a new DOMImplementation object.

DOMImplementation
DOMImplementation::createDocument
DOMImplementation


Creates a DOMDocument object of the specified type with its document element

DOMImplementation::__construct
DOMImplementation::createDocumentType
DOMImplementation
PHP Manual

DOMImplementation::createDocument

(PHP 5)

DOMImplementation::createDocument — Creates a DOMDocument object of the specified type with its document element

Описание

DOMDocument DOMImplementation::createDocument ([ string $namespaceURI= NULL [, string $qualifiedName= NULL [, DOMDocumentType $doctype= NULL ]]] )

Creates a DOMDocument object of the specified type with its document element.

Список параметров

namespaceURI

The namespace URI of the document element to create.

qualifiedName

The qualified name of the document element to create.

doctype

The type of document to create or NULL.

Возвращаемые значения

A new DOMDocument object. If namespaceURI , qualifiedName , and doctype are null, the returned DOMDocument is empty with no document element

Errors/Exceptions

DOM_WRONG_DOCUMENT_ERR

Raised if doctype has already been used with a different document or was created from a different implementation.

DOM_NAMESPACE_ERR

Raised if there is an error with the namespace, as determined by namespaceURI and qualifiedName .

Смотрите также

  • DOMDocument::__construct - Creates a new DOMDocument object
  • DOMImplementation::createDocumentType - Creates an empty DOMDocumentType object

DOMImplementation::__construct
DOMImplementation::createDocumentType
DOMImplementation


Creates an empty DOMDocumentType object

DOMImplementation::createDocument
DOMImplementation::hasFeature
DOMImplementation
PHP Manual

DOMImplementation::createDocumentType

(PHP 5)

DOMImplementation::createDocumentType — Creates an empty DOMDocumentType object

Описание

DOMDocumentType DOMImplementation::createDocumentType ([ string $qualifiedName= NULL [, string $publicId= NULL [, string $systemId= NULL ]]] )

Creates an empty DOMDocumentType object. Entity declarations and notations are not made available. Entity reference expansions and default attribute additions do not occur.

Список параметров

qualifiedName

The qualified name of the document type to create.

publicId

The external subset public identifier.

systemId

The external subset system identifier.

Возвращаемые значения

A new DOMDocumentType node with its ownerDocument set to NULL.

Примеры

Пример #1 Creating a document with an attached DTD

<?php

// Creates an instance of the DOMImplementation class
$imp = new DOMImplementation;

// Creates a DOMDocumentType instance
$dtd = $imp->createDocumentType('graph', '', 'graph.dtd');

// Creates a DOMDocument instance
$dom = $imp->createDocument("", "", $dtd);

// Set other properties
$dom->encoding = 'UTF-8';
$dom->standalone = false;

// Create an empty element
$element = $dom->createElement('graph');

// Append the element
$dom->appendChild($element);

// Retrieve and print the document
echo $dom->saveXML();

?>

Результат выполнения данного примера:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE graph SYSTEM "graph.dtd">
<graph/>

Errors/Exceptions

DOM_NAMESPACE_ERR

Raised if there is an error with the namespace, as determined by qualifiedName .

Смотрите также

  • DOMImplementation::createDocument - Creates a DOMDocument object of the specified type with its document element

DOMImplementation::createDocument
DOMImplementation::hasFeature
DOMImplementation


Test if the DOM implementation implements a specific feature

DOMImplementation::createDocumentType
DOMNamedNodeMap
DOMImplementation
PHP Manual

DOMImplementation::hasFeature

(PHP 5)

DOMImplementation::hasFeature — Test if the DOM implementation implements a specific feature

Описание

bool DOMImplementation::hasFeature ( string $feature , string $version )

Test if the DOM implementation implements a specific feature .

You can find a list of all features in the » Conformance section of the DOM specification.

Список параметров

feature

The feature to test.

version

The version number of the feature to test. In level 2, this can be either 2.0 or 1.0.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Testing your DOM Implementation

<?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 "Has feature $name\n";
  } else {
    echo "Missing feature $name\n";
  }
}

?>

Смотрите также

  • DOMNode::isSupported - Checks if feature is supported for specified version

DOMImplementation::createDocumentType
DOMNamedNodeMap
DOMImplementation


The DOMNamedNodeMap class

Class synopsis

DOMNamedNodeMap
DOMNamedNodeMap {
/* Properties */
/* Methods */
DOMNode getNamedItem ( string $name )
DOMNode getNamedItemNS ( string $namespaceURI , string $localName )
DOMNode item ( int $index )
}

Содержание

  • DOMNamedNodeMap::getNamedItem — Retrieves a node specified by name
  • DOMNamedNodeMap::getNamedItemNS — Retrieves a node specified by local name and namespace URI
  • DOMNamedNodeMap::item — Retrieves a node specified by index
DOMImplementation::hasFeature
DOMNamedNodeMap::getNamedItem
DOM


Retrieves a node specified by name

DOMNamedNodeMap
DOMNamedNodeMap::getNamedItemNS
DOMNamedNodeMap
PHP Manual

DOMNamedNodeMap::getNamedItem

(PHP 5)

DOMNamedNodeMap::getNamedItem — Retrieves a node specified by name

Описание

DOMNode DOMNamedNodeMap::getNamedItem ( string $name )

Retrieves a node specified by its nodeName.

Список параметров

name

The nodeName of the node to retrieve.

Возвращаемые значения

A node (of any type) with the specified nodeName, or NULL if no node is found.

Смотрите также

  • DOMNamedNodeMap::getNamedItemNS - Retrieves a node specified by local name and namespace URI

DOMNamedNodeMap
DOMNamedNodeMap::getNamedItemNS
DOMNamedNodeMap


Retrieves a node specified by local name and namespace URI

DOMNamedNodeMap::getNamedItem
DOMNamedNodeMap::item
DOMNamedNodeMap
PHP Manual

DOMNamedNodeMap::getNamedItemNS

(PHP 5)

DOMNamedNodeMap::getNamedItemNS — Retrieves a node specified by local name and namespace URI

Описание

DOMNode DOMNamedNodeMap::getNamedItemNS ( string $namespaceURI , string $localName )

Retrieves a node specified by localName and namespaceURI .

Список параметров

namespaceURI

The namespace URI of the node to retrieve.

localName

The local name of the node to retrieve.

Возвращаемые значения

A node (of any type) with the specified local name and namespace URI, or NULL if no node is found.

Смотрите также

  • DOMNamedNodeMap::getNamedItem - Retrieves a node specified by name

DOMNamedNodeMap::getNamedItem
DOMNamedNodeMap::item
DOMNamedNodeMap


Retrieves a node specified by index

DOMNamedNodeMap::getNamedItemNS
DOMNode
DOMNamedNodeMap
PHP Manual

DOMNamedNodeMap::item

(PHP 5)

DOMNamedNodeMap::item — Retrieves a node specified by index

Описание

DOMNode DOMNamedNodeMap::item ( int $index )

Retrieves a node specified by index within the DOMNamedNodeMap object.

Список параметров

index

Index into this map.

Возвращаемые значения

The node at the index th position in the map, or NULL if that is not a valid index (greater than or equal to the number of nodes in this map).

DOMNamedNodeMap::getNamedItemNS
DOMNode
DOMNamedNodeMap


The DOMNode class

Class synopsis

DOMNode
DOMNode {
/* Properties */
public readonly string $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 ;
/* Methods */
DOMNode appendChild ( DOMNode $newnode )
DOMNode cloneNode ([ bool $deep ] )
bool hasAttributes ( void )
bool hasChildNodes ( void )
DOMNode insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )
bool isDefaultNamespace ( string $namespaceURI )
bool isSameNode ( DOMNode $node )
bool isSupported ( string $feature , string $version )
string lookupNamespaceURI ( string $prefix )
string lookupPrefix ( string $namespaceURI )
void normalize ( void )
DOMNode removeChild ( DOMNode $oldnode )
DOMNode replaceChild ( DOMNode $newnode , DOMNode $oldnode )
}

Свойства

nodeName

Returns the most accurate name for the current node type

nodeValue

The value of this node, depending on its type

nodeType

Gets the type of the node. One of the predefined XML_xxx_NODE constants

parentNode

The parent of this node

childNodes

A DOMNodeList that contains all children of this node. If there are no children, this is an empty DOMNodeList.

firstChild

The first child of this node. If there is no such node, this returns NULL.

lastChild

The last child of this node. If there is no such node, this returns NULL.

previousSibling

The node immediately preceding this node. If there is no such node, this returns NULL.

nextSibling

The node immediately following this node. If there is no such node, this returns NULL.

attributes

A DOMNamedNodeMap containing the attributes of this node (if it is a DOMElement) or NULL otherwise.

ownerDocument

The DOMDocument object associated with this node.

namespaceURI

The namespace URI of this node, or NULL if it is unspecified.

prefix

The namespace prefix of this node, or NULL if it is unspecified.

localName

Returns the local part of the qualified name of this node.

baseURI

The absolute base URI of this node or NULL if the implementation wasn't able to obtain an absolute URI.

textContent

This attribute returns the text content of this node and its descendants.

Смотрите также

  • » W3C specification of Node

Содержание

  • DOMNode::appendChild — Adds new child at the end of the children
  • DOMNode::cloneNode — Clones a node
  • DOMNode::hasAttributes — Checks if node has attributes
  • DOMNode::hasChildNodes — Checks if node has children
  • DOMNode::insertBefore — Adds a new child before a reference node
  • DOMNode::isDefaultNamespace — Checks if the specified namespaceURI is the default namespace or not
  • DOMNode::isSameNode — Indicates if two nodes are the same node
  • DOMNode::isSupported — Checks if feature is supported for specified version
  • DOMNode::lookupNamespaceURI — Gets the namespace URI of the node based on the prefix
  • DOMNode::lookupPrefix — Gets the namespace prefix of the node based on the namespace URI
  • DOMNode::normalize — Normalizes the node
  • DOMNode::removeChild — Removes child from list of children
  • DOMNode::replaceChild — Replaces a child
DOMNamedNodeMap::item
DOMNode::appendChild
DOM


Adds new child at the end of the children

DOMNode
DOMNode::cloneNode
DOMNode
PHP Manual

DOMNode::appendChild

(PHP 5)

DOMNode::appendChild — Adds new child at the end of the children

Описание

DOMNode DOMNode::appendChild ( DOMNode $newnode )

This functions appends a child to an existing list of children or creates a new list of children. The child can be created with e.g. DOMDocument::createElement, DOMDocument::createTextNode etc. or simply by using any other node.

Список параметров

newnode

The appended child.

Возвращаемые значения

The node added.

Errors/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if this node is readonly or if the previous parent of the node being inserted is readonly.

DOM_HIERARCHY_REQUEST_ERR

Raised if this node is of a type that does not allow children of the type of the newnode node, or if the node to append is one of this node's ancestors or this node itself.

DOM_WRONG_DOCUMENT_ERR

Raised if newnode was created from a different document than the one that created this node.

Примеры

The following example will add a new element node to a fresh document.

Пример #1 Adding a child

<?php

$doc = new DOMDocument;

$node = $doc->createElement("para");
$newnode = $doc->appendChild($node);

echo $doc->saveXML();
?>

Смотрите также

  • DOMNode::removeChild - Removes child from list of children
  • DOMNode::replaceChild - Replaces a child

DOMNode
DOMNode::cloneNode
DOMNode


Clones a node

DOMNode::appendChild
DOMNode::hasAttributes
DOMNode
PHP Manual

DOMNode::cloneNode

(PHP 5)

DOMNode::cloneNode — Clones a node

Описание

DOMNode DOMNode::cloneNode ([ bool $deep ] )

Creates a copy of the node.

Список параметров

deep

Indicates whether to copy all descendant nodes. This parameter is defaulted to FALSE.

Возвращаемые значения

The cloned node.

DOMNode::appendChild
DOMNode::hasAttributes
DOMNode


Checks if node has attributes

DOMNode::cloneNode
DOMNode::hasChildNodes
DOMNode
PHP Manual

DOMNode::hasAttributes

(PHP 5)

DOMNode::hasAttributes — Checks if node has attributes

Описание

bool DOMNode::hasAttributes ( void )

This method checks if the node has attributes. The tested node have to be an XML_ELEMENT_NODE.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • DOMNode::hasChildNodes - Checks if node has children

DOMNode::cloneNode
DOMNode::hasChildNodes
DOMNode


Checks if node has children

DOMNode::hasAttributes
DOMNode::insertBefore
DOMNode
PHP Manual

DOMNode::hasChildNodes

(PHP 5)

DOMNode::hasChildNodes — Checks if node has children

Описание

bool DOMNode::hasChildNodes ( void )

This function checks if the node has children.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • DOMNode::hasAttributes - Checks if node has attributes

DOMNode::hasAttributes
DOMNode::insertBefore
DOMNode


Adds a new child before a reference node

DOMNode::hasChildNodes
DOMNode::isDefaultNamespace
DOMNode
PHP Manual

DOMNode::insertBefore

(PHP 5)

DOMNode::insertBefore — Adds a new child before a reference node

Описание

DOMNode DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )

This function inserts a new node right before the reference node. If you plan to do further modifications on the appended child you must use the returned node.

Список параметров

newnode

The new node.

refnode

The reference node. If not supplied, newnode is appended to the children.

Возвращаемые значения

The inserted node.

Errors/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if this node is readonly or if the previous parent of the node being inserted is readonly.

DOM_HIERARCHY_REQUEST_ERR

Raised if this node is of a type that does not allow children of the type of the newnode node, or if the node to append is one of this node's ancestors or this node itself.

DOM_WRONG_DOCUMENT_ERR

Raised if newnode was created from a different document than the one that created this node.

DOM_NOT_FOUND

Raised if refnode is not a child of this node.

DOMNode::hasChildNodes
DOMNode::isDefaultNamespace
DOMNode


Checks if the specified namespaceURI is the default namespace or not

DOMNode::insertBefore
DOMNode::isSameNode
DOMNode
PHP Manual

DOMNode::isDefaultNamespace

(PHP 5)

DOMNode::isDefaultNamespace — Checks if the specified namespaceURI is the default namespace or not

Описание

bool DOMNode::isDefaultNamespace ( string $namespaceURI )

Tells whether namespaceURI is the default namespace.

Список параметров

namespaceURI

The namespace URI to look for.

Возвращаемые значения

Return TRUE if namespaceURI is the default namespace, FALSE otherwise.

DOMNode::insertBefore
DOMNode::isSameNode
DOMNode


Indicates if two nodes are the same node

DOMNode::isDefaultNamespace
DOMNode::isSupported
DOMNode
PHP Manual

DOMNode::isSameNode

(PHP 5)

DOMNode::isSameNode — Indicates if two nodes are the same node

Описание

bool DOMNode::isSameNode ( DOMNode $node )

This function indicates if two nodes are the same node. The comparison is not based on content

Список параметров

node

The compared node.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

DOMNode::isDefaultNamespace
DOMNode::isSupported
DOMNode


Checks if feature is supported for specified version

DOMNode::isSameNode
DOMNode::lookupNamespaceURI
DOMNode
PHP Manual

DOMNode::isSupported

(PHP 5)

DOMNode::isSupported — Checks if feature is supported for specified version

Описание

bool DOMNode::isSupported ( string $feature , string $version )

Checks if the asked feature is supported for the specified version .

Список параметров

feature

The feature to test. See the example of DOMImplementation::hasFeature for a list of features.

version

The version number of the feature to test.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • DOMImplementation::hasFeature - Test if the DOM implementation implements a specific feature

DOMNode::isSameNode
DOMNode::lookupNamespaceURI
DOMNode


Gets the namespace URI of the node based on the prefix

DOMNode::isSupported
DOMNode::lookupPrefix
DOMNode
PHP Manual

DOMNode::lookupNamespaceURI

(PHP 5)

DOMNode::lookupNamespaceURI — Gets the namespace URI of the node based on the prefix

Описание

string DOMNode::lookupNamespaceURI ( string $prefix )

Gets the namespace URI of the node based on the prefix .

Список параметров

prefix

The prefix of the namespace.

Возвращаемые значения

The namespace URI of the node.

Смотрите также

  • DOMNode::lookupPrefix - Gets the namespace prefix of the node based on the namespace URI

DOMNode::isSupported
DOMNode::lookupPrefix
DOMNode


Gets the namespace prefix of the node based on the namespace URI

DOMNode::lookupNamespaceURI
DOMNode::normalize
DOMNode
PHP Manual

DOMNode::lookupPrefix

(PHP 5)

DOMNode::lookupPrefix — Gets the namespace prefix of the node based on the namespace URI

Описание

string DOMNode::lookupPrefix ( string $namespaceURI )

Gets the namespace prefix of the node based on the namespace URI.

Список параметров

namespaceURI

The namespace URI.

Возвращаемые значения

The prefix of the namespace.

Смотрите также

  • DOMNode::lookupNamespaceURI - Gets the namespace URI of the node based on the prefix

DOMNode::lookupNamespaceURI
DOMNode::normalize
DOMNode


Normalizes the node

DOMNode::lookupPrefix
DOMNode::removeChild
DOMNode
PHP Manual

DOMNode::normalize

(PHP 5)

DOMNode::normalize — Normalizes the node

Описание

void DOMNode::normalize ( void )

Normalizes the node.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • » The DOM Specification
  • DOMDocument::normalizeDocument - Normalizes the document

DOMNode::lookupPrefix
DOMNode::removeChild
DOMNode


Removes child from list of children

DOMNode::normalize
DOMNode::replaceChild
DOMNode
PHP Manual

DOMNode::removeChild

(PHP 5)

DOMNode::removeChild — Removes child from list of children

Описание

DOMNode DOMNode::removeChild ( DOMNode $oldnode )

This functions removes a child from a list of children.

Список параметров

oldnode

The removed child.

Возвращаемые значения

If the child could be removed the functions returns the old child.

Errors/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if this node is readonly.

DOM_NOT_FOUND

Raised if oldnode is not a child of this node.

Примеры

The following example will delete the chapter element of our XML document.

Пример #1 Removing a child

<?php

$doc = new DOMDocument;
$doc->load('book.xml');

$book = $doc->documentElement;

// we retrieve the chapter and remove it from the book
$chapter = $book->getElementsByTagName('chapter')->item(0);
$oldchapter = $book->removeChild($chapter);

echo $doc->saveXML();
?>

Результат выполнения данного примера:

<?xml version="1.0" encoding="iso-8859-1"?>
<!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>

Смотрите также

  • DOMNode::appendChild - Adds new child at the end of the children
  • DOMNode::replaceChild - Replaces a child

DOMNode::normalize
DOMNode::replaceChild
DOMNode


Replaces a child

DOMNode::removeChild
DOMNodeList
DOMNode
PHP Manual

DOMNode::replaceChild

(PHP 5)

DOMNode::replaceChild — Replaces a child

Описание

DOMNode DOMNode::replaceChild ( DOMNode $newnode , DOMNode $oldnode )

This function replaces the child oldnode with the passed new node. If the new node is already a child it will not be added a second time. If the replacement succeeds the old node is returned.

Список параметров

newnode

The new node. It must be a member of the target document, i.e. created by one of the DOMDocument->createXXX() methods or imported in the document by DOMDocument::importNode.

oldnode

The old node.

Возвращаемые значения

The old node or FALSE if an error occur.

Errors/Exceptions

DOM_NO_MODIFICATION_ALLOWED_ERR

Raised if this node is readonly or if the previous parent of the node being inserted is readonly.

DOM_HIERARCHY_REQUEST_ERR

Raised if this node is of a type that does not allow children of the type of the newnode node, or if the node to put in is one of this node's ancestors or this node itself.

DOM_WRONG_DOCUMENT_ERR

Raised if newnode was created from a different document than the one that created this node.

DOM_NOT_FOUND

Raised if oldnode is not a child of this node.

Смотрите также

  • DOMNode::appendChild - Adds new child at the end of the children
  • DOMNode::removeChild - Removes child from list of children

DOMNode::removeChild
DOMNodeList
DOMNode


The DOMNodeList class

Class synopsis

DOMNodeList
DOMNodeList {
/* Properties */
readonly public int $length ;
/* Methods */
DOMNode DOMNodelist::item ( int $index )
}

Свойства

length

The number of nodes in the list. The range of valid child node indices is 0 to length - 1 inclusive.

Содержание

  • DOMNodelist::item — Retrieves a node specified by index
DOMNode::replaceChild
DOMNodelist::item
DOM


Retrieves a node specified by index

DOMNodeList
DOMNotation
DOMNodeList
PHP Manual

DOMNodelist::item

(PHP 5)

DOMNodelist::item — Retrieves a node specified by index

Описание

DOMNode DOMNodelist::item ( int $index )

Retrieves a node specified by index within the DOMNodeList object.

Подсказка

If you need to know the number of nodes in the collection, use the length property of the DOMNodeList object.

Список параметров

index

Index of the node into the collection.

Возвращаемые значения

The node at the index th position in the DOMNodeList, or NULL if that is not a valid index.

Примеры

Пример #1 Traversing all the entries of the table

<?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";
}

?>

Alternatively, you can use foreach, which is a much more convenient way:

<?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


The DOMNotation class

Class synopsis

DOMNotation
DOMNotation extends DOMNode {
/* Properties */
readonly public string $publicId ;
readonly public string $systemId ;
/* Inherited methods */
DOMNode DOMNode::appendChild ( DOMNode $newnode )
DOMNode DOMNode::cloneNode ([ bool $deep ] )
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

Prop description

systemId

Prop description

DOMNodelist::item
DOMProcessingInstruction
DOM


The DOMProcessingInstruction class

Class synopsis

DOMProcessingInstruction
DOMProcessingInstruction extends DOMNode {
/* Properties */
readonly public string $target ;
public string $data ;
/* Methods */
__construct ( string $name [, string $value ] )
/* Inherited methods */
DOMNode DOMNode::appendChild ( DOMNode $newnode )
DOMNode DOMNode::cloneNode ([ bool $deep ] )
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

Prop description

data

Prop description

Содержание

  • DOMProcessingInstruction::__construct — Creates a new DOMProcessingInstruction object
DOMNotation
DOMProcessingInstruction::__construct
DOM


Creates a new DOMProcessingInstruction object

DOMProcessingInstruction
DOMText
DOMProcessingInstruction
PHP Manual

DOMProcessingInstruction::__construct

(PHP 5)

DOMProcessingInstruction::__construct — Creates a new DOMProcessingInstruction object

Описание

DOMProcessingInstruction
__construct ( string $name [, string $value ] )

Creates a new DOMProcessingInstruction object. This object is read only. It may be appended to a document, but additional nodes may not be appended to this node until the node is associated with a document. To create a writeable node, use DOMDocument::createProcessingInstruction.

Список параметров

name

The tag name of the processing instruction.

value

The value of the processing instruction.

Примеры

Пример #1 Creating a new DOMProcessingInstruction object

<?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 - Creates new PI node

DOMProcessingInstruction
DOMText
DOMProcessingInstruction


The DOMText class

Введение

The DOMText class inherits from DOMCharacterData and represents the textual content of a DOMElement or DOMAttr.

Class synopsis

DOMText
DOMText extends DOMCharacterData {
/* Properties */
readonly public string $wholeText ;
/* Methods */
__construct ([ string $value ] )
bool isWhitespaceInElementContent ( void )
DOMText splitText ( int $offset )
/* Inherited methods */
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 ] )
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

Holds all the text of logically-adjacent (not separated by Element, Comment or Processing Instruction) Text nodes.

Содержание

  • DOMText::__construct — Creates a new DOMText object
  • DOMText::isWhitespaceInElementContent — Indicates whether this text node contains whitespace
  • DOMText::splitText — Breaks this node into two nodes at the specified offset
DOMProcessingInstruction::__construct
DOMText::__construct
DOM


Creates a new DOMText object

DOMText
DOMText::isWhitespaceInElementContent
DOMText
PHP Manual

DOMText::__construct

(PHP 5)

DOMText::__construct — Creates a new DOMText object

Описание

DOMText
__construct ([ string $value ] )

Creates a new DOMText object.

Список параметров

value

The value of the text node. If not supplied an empty text node is created.

Примеры

Пример #1 Creating a new 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 - Create new text node

DOMText
DOMText::isWhitespaceInElementContent
DOMText


Indicates whether this text node contains whitespace

DOMText::__construct
DOMText::splitText
DOMText
PHP Manual

DOMText::isWhitespaceInElementContent

(PHP 5)

DOMText::isWhitespaceInElementContent — Indicates whether this text node contains whitespace

Описание

bool DOMText::isWhitespaceInElementContent ( void )

Indicates whether this text node contains whitespace. The text node is determined to contain whitespace in element content during the load of the document.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

DOMText::__construct
DOMText::splitText
DOMText


Breaks this node into two nodes at the specified offset

DOMText::isWhitespaceInElementContent
DOMXPath
DOMText
PHP Manual

DOMText::splitText

(PHP 5)

DOMText::splitText — Breaks this node into two nodes at the specified offset

Описание

DOMText DOMText::splitText ( int $offset )

Breaks this node into two nodes at the specified offset , keeping both in the tree as siblings.

After being split, this node will contain all the content up to the offset . If the original node had a parent node, the new node is inserted as the next sibling of the original node. When the offset is equal to the length of this node, the new node has no data.

Список параметров

offset

The offset at which to split, starting from 0.

Возвращаемые значения

The new node of the same type, which contains all the content at and after the offset .

DOMText::isWhitespaceInElementContent
DOMXPath
DOMText


The DOMXPath class

Введение

Supports XPath 1.0

Class synopsis

DOMXPath
DOMXPath {
/* Properties */
public DOMDocument $document ;
/* Methods */
__construct ( DOMDocument $doc )
mixed evaluate ( string $expression [, DOMNode $contextnode ] )
DOMNodeList query ( string $expression [, DOMNode $contextnode ] )
bool registerNamespace ( string $prefix , string $namespaceURI )
}

Свойства

document

Prop description

Содержание

  • DOMXPath::__construct — Creates a new DOMXPath object
  • DOMXPath::evaluate — Evaluates the given XPath expression and returns a typed result if possible.
  • DOMXPath::query — Evaluates the given XPath expression
  • DOMXPath::registerNamespace — Registers the namespace with the DOMXPath object
DOMText::splitText
DOMXPath::__construct
DOM


Creates a new DOMXPath object

DOMXPath
DOMXPath::evaluate
DOMXPath
PHP Manual

DOMXPath::__construct

(PHP 5)

DOMXPath::__construct — Creates a new DOMXPath object

Описание

DOMXPath
__construct ( DOMDocument $doc )

Creates a new DOMXPath object.

Список параметров

doc

The DOMDocument associated with the DOMXPath.

DOMXPath
DOMXPath::evaluate
DOMXPath


Evaluates the given XPath expression and returns a typed result if possible.

DOMXPath::__construct
DOMXPath::query
DOMXPath
PHP Manual

DOMXPath::evaluate

(PHP 5 >= 5.1.0)

DOMXPath::evaluate — Evaluates the given XPath expression and returns a typed result if possible.

Описание

mixed DOMXPath::evaluate ( string $expression [, DOMNode $contextnode ] )

Executes the given XPath expression and returns a typed result if possible.

Список параметров

expression

The XPath expression to execute.

contextnode

The optional contextnode can be specified for doing relative XPath queries. By default, the queries are relative to the root element.

Возвращаемые значения

Returns a typed result if possible or a DOMNodeList containing all nodes matching the given XPath expression .

Примеры

Пример #1 Getting the count of all the english books

<?php

$doc = new DOMDocument;

$doc->load('book.xml');

$xpath = new DOMXPath($doc);

$tbody = $doc->getElementsByTagName('tbody')->item(0);

// our query is relative to the tbody node
$query = 'count(row/entry[. = "en"])';

$entries = $xpath->evaluate($query, $tbody);
echo "There are $entries english books\n";

?>

Результат выполнения данного примера:

There are 2 english books

Смотрите также

  • DOMXPath::query - Evaluates the given XPath expression

DOMXPath::__construct
DOMXPath::query
DOMXPath


Evaluates the given XPath expression

DOMXPath::evaluate
DOMXPath::registerNamespace
DOMXPath
PHP Manual

DOMXPath::query

(PHP 5)

DOMXPath::query — Evaluates the given XPath expression

Описание

DOMNodeList DOMXPath::query ( string $expression [, DOMNode $contextnode ] )

Executes the given XPath expression .

Список параметров

expression

The XPath expression to execute.

contextnode

The optional contextnode can be specified for doing relative XPath queries. By default, the queries are relative to the root element.

Возвращаемые значения

Returns a DOMNodeList containing all nodes matching the given XPath expression . Any expression which do not return nodes will return an empty DOMNodeList.

Примеры

Пример #1 Getting all the english books

<?php

$doc = new DOMDocument;

// We don't want to bother with white spaces
$doc->preserveWhiteSpace = false;

$doc->Load('book.xml');

$xpath = new DOMXPath($doc);

// We starts from the root element
$query = '//book/chapter/para/informaltable/tgroup/tbody/row/entry[. = "en"]';

$entries = $xpath->query($query);

foreach ($entries as $entry) {
    echo "Found {$entry->previousSibling->previousSibling->nodeValue}," .
         " by {$entry->previousSibling->nodeValue}\n";
}
?>

Результат выполнения данного примера:

Found The Grapes of Wrath, by John Steinbeck
Found The Pearl, by John Steinbeck

We can also use the contextnode parameter to shorten our expression:

<?php

$doc = new DOMDocument;
$doc->preserveWhiteSpace = false;

$doc->load('book.xml');

$xpath = new DOMXPath($doc);

$tbody = $doc->getElementsByTagName('tbody')->item(0);

// our query is relative to the tbody node
$query = 'row/entry[. = "en"]';

$entries = $xpath->query($query, $tbody);

foreach ($entries as $entry) {
    echo "Found {$entry->previousSibling->previousSibling->nodeValue}," .
         " by {$entry->previousSibling->nodeValue}\n";
}
?>

Смотрите также

  • DOMXPath::evaluate - Evaluates the given XPath expression and returns a typed result if possible.

DOMXPath::evaluate
DOMXPath::registerNamespace
DOMXPath


Registers the namespace with the DOMXPath object

DOMXPath::query
DOM Функции
DOMXPath
PHP Manual

DOMXPath::registerNamespace

(PHP 5)

DOMXPath::registerNamespace — Registers the namespace with the DOMXPath object

Описание

bool DOMXPath::registerNamespace ( string $prefix , string $namespaceURI )

Registers the namespaceURI and prefix with the DOMXPath object.

Список параметров

prefix

The prefix.

namespaceURI

The URI of the namespace.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

DOMXPath::query
DOM Функции
DOMXPath


DOM Функции

Содержание

  • dom_import_simplexml — Gets a DOMElement object from a SimpleXMLElement object
DOMXPath::registerNamespace
dom_import_simplexml
DOM


Gets a DOMElement object from a SimpleXMLElement object

DOM Функции
DOM XML (PHP 4)
DOM Функции
PHP Manual

dom_import_simplexml

(PHP 5)

dom_import_simplexml — Gets a DOMElement object from a SimpleXMLElement object

Описание

DOMElement dom_import_simplexml ( SimpleXMLElement $node )

This function takes the node node of class SimpleXML and makes it into a DOMElement node. This new object can then be used as a native DOMElement node.

Список параметров

node

The SimpleXMLElement node.

Возвращаемые значения

The DOMElement node added or FALSE if any errors occur.

Примеры

Пример #1 Import SimpleXML into DOM with dom_import_simplexml()

<?php

$sxe = simplexml_load_string('<books><book><title>blah</title></book></books>');

if ($sxe === false) {
    echo 'Error while parsing the document';
    exit;
}

$dom_sxe = dom_import_simplexml($sxe);
if (!$dom_sxe) {
    echo 'Error while converting 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() - Get a SimpleXMLElement object from a DOM node.

DOM Функции
DOM XML (PHP 4)
DOM Функции


DOM XML (PHP 4)

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • DOM XML (PHP 4) Функции
    • DomAttribute->name — Returns the name of attribute
    • DomAttribute->set_value — Sets the value of an attribute
    • DomAttribute->specified — Checks if attribute is specified
    • DomAttribute->value — Returns value of attribute
    • DomDocument->add_root — Adds a root node [deprecated]
    • DomDocument->create_attribute — Create new attribute
    • DomDocument->create_cdata_section — Create new cdata node
    • DomDocument->create_comment — Create new comment node
    • DomDocument->create_element_ns — Create new element node with an associated namespace
    • DomDocument->create_element — Create new element node
    • DomDocument->create_entity_reference — Create an entity reference
    • DomDocument->create_processing_instruction — Creates new PI node
    • DomDocument->create_text_node — Create new text node
    • DomDocument->doctype — Returns the document type
    • DomDocument->document_element — Returns root element node
    • DomDocument->dump_file — Dumps the internal XML tree back into a file
    • DomDocument->dump_mem — Dumps the internal XML tree back into a string
    • DomDocument->get_element_by_id — Searches for an element with a certain id
    • DomDocument->get_elements_by_tagname — Returns array with nodes with given tagname in document or empty array, if not found
    • DomDocument->html_dump_mem — Dumps the internal XML tree back into a string as HTML
    • DomDocument->xinclude — Substitutes XIncludes in a DomDocument Object
    • DomDocumentType->entities — Returns list of entities
    • DomDocumentType->internal_subset — Returns internal subset
    • DomDocumentType->name — Returns name of document type
    • DomDocumentType->notations — Returns list of notations
    • DomDocumentType->public_id — Returns public id of document type
    • DomDocumentType->system_id — Returns the system id of document type
    • DomElement->get_attribute_node — Returns the node of the given attribute
    • DomElement->get_attribute — Returns the value of the given attribute
    • DomElement->get_elements_by_tagname — Gets elements by tagname
    • DomElement->has_attribute — Checks to see if an attribute exists in the current node
    • DomElement->remove_attribute — Removes attribute
    • DomElement->set_attribute_node — Adds new attribute
    • DomElement->set_attribute — Sets the value of an attribute
    • DomElement->tagname — Returns the name of the current element
    • DomNode->add_namespace — Adds a namespace declaration to a node
    • DomNode->append_child — Adds a new child at the end of the children
    • DomNode->append_sibling — Adds new sibling to a node
    • DomNode->attributes — Returns list of attributes
    • DomNode->child_nodes — Returns children of node
    • DomNode->clone_node — Clones a node
    • DomNode->dump_node — Dumps a single node
    • DomNode->first_child — Returns first child of node
    • DomNode->get_content — Gets content of node
    • DomNode->has_attributes — Checks if node has attributes
    • DomNode->has_child_nodes — Checks if node has children
    • DomNode->insert_before — Inserts new node as child
    • DomNode->is_blank_node — Checks if node is blank
    • DomNode->last_child — Returns last child of node
    • DomNode->next_sibling — Returns the next sibling of node
    • DomNode->node_name — Returns name of node
    • DomNode->node_type — Returns type of node
    • DomNode->node_value — Returns value of a node
    • DomNode->owner_document — Returns the document this node belongs to
    • DomNode->parent_node — Returns the parent of the node
    • DomNode->prefix — Returns name space prefix of node
    • DomNode->previous_sibling — Returns the previous sibling of node
    • DomNode->remove_child — Removes child from list of children
    • DomNode->replace_child — Replaces a child
    • DomNode->replace_node — Replaces node
    • DomNode->set_content — Sets content of node
    • DomNode->set_name — Sets name of node
    • DomNode->set_namespace — Sets namespace of a node
    • DomNode->unlink_node — Deletes node
    • DomProcessingInstruction->data — Returns the data of ProcessingInstruction node
    • DomProcessingInstruction->target — Returns the target of a ProcessingInstruction node
    • DomXsltStylesheet->process — Applies the XSLT-Transformation on a DomDocument Object
    • DomXsltStylesheet->result_dump_file — Dumps the result from a XSLT-Transformation into a file
    • DomXsltStylesheet->result_dump_mem — Dumps the result from a XSLT-Transformation back into a string
    • domxml_new_doc — Creates new empty XML document
    • domxml_open_file — Creates a DOM object from an XML file
    • domxml_open_mem — Creates a DOM object of an XML document
    • domxml_version — Gets the XML library version
    • domxml_xmltree — Creates a tree of PHP objects from an XML document
    • domxml_xslt_stylesheet_doc — Creates a DomXsltStylesheet Object from a DomDocument Object
    • domxml_xslt_stylesheet_file — Creates a DomXsltStylesheet Object from an XSL document in a file
    • domxml_xslt_stylesheet — Creates a DomXsltStylesheet object from an XSL document in a string
    • domxml_xslt_version — Gets the XSLT library version
    • xpath_eval_expression — Evaluates the XPath Location Path in the given string
    • xpath_eval — Evaluates the XPath Location Path in the given string
    • xpath_new_context — Creates new xpath context
    • xpath_register_ns_auto — Register the given namespace in the passed XPath context
    • xpath_register_ns — Register the given namespace in the passed XPath context
    • xptr_eval — Evaluate the XPtr Location Path in the given string
    • xptr_new_context — Create new XPath Context
dom_import_simplexml
Введение
XML Manipulation


Введение

The DOM XML extension has been overhauled in PHP 4.3.0 to better comply with the DOM standard. The extension still contains many old functions, but they should no longer be used. In particular, functions that are not object-oriented should be avoided.

The extension allows you to operate on an XML document with the DOM API. It also provides a function domxml_xmltree() to turn the complete XML document into a tree of PHP objects. Currently, this tree should be considered read-only - you can modify it, but this would not make any sense since DomDocument_dump_mem() cannot be applied to it. Therefore, if you want to read an XML file and write a modified version, use DomDocument_create_element(), DomDocument_create_text_node(), set_attribute(), etc. and finally the DomDocument_dump_mem() function.

Замечание: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 5.0.0.

Замечание: This extension is no longer marked experimental. It will, however, never be released with PHP 5, and will only be distributed with PHP 4. If you need DOM XML support with PHP 5 you can use the DOM extension. This domxml extension is not compatible with the DOM extension.

DOM XML (PHP 4)
Установка и настройка
DOM XML (PHP 4)


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
DOM XML (PHP 4)


Требования

This extension makes use of the » GNOME XML library. Download and install this library. You will need at least libxml-2.4.14. To use DOM XSLT features you can use the » libxslt library and EXSLT enhancements from » http://www.exslt.org/. Download and install these libraries if you plan to use (enhanced) XSLT features. You will need at least libxslt-1.0.18.

Установка и настройка
Установка
Установка и настройка


Установка

Это расширение » PECL не поставляется вместе с PHP. Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, могут быть найдены здесь: » http://pecl.php.net/package/domxml.

В PHP 4 исходные файлы этого расширения PECL могут быть найдены в директории ext/ внутри исходных файлов PHP или по ссылке PECL выше. This extension is only available if PHP was configured with --with-dom[=DIR]. Add --with-dom-xslt[=DIR] to include DOM XSLT support. DIR is the libxslt install directory. Add --with-dom-exslt[=DIR] to include DOM EXSLT support, where DIR is the libexslt install directory.

Windows users will enable php_domxml.dll inside of php.ini in order to use these functions. В PHP 4 этот DLL находится в директории extensions/ внутри директории бинарного дистрибутива PHP для Windows. Вы можете скачать DLL этого расширения PECL со страницы » PHP Downloads или » http://snaps.php.net/. Also, there is one additional DLL that must be made available to your system's PATH in order for this extension to work. In PHP 4 this is in the dlls/ directory. It's name: For PHP <= 4.2.0, it's libxml2.dll. For PHP >= 4.3.0, it's iconv.dll. And as of PHP 5.0.0, iconv is compiled into your Windows PHP binaries by default so no extra DLL is needed.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение подгружается во время выполнения.

XML constants
Constant | Value | Description
XML_ELEMENT_NODE (integer) | 1 | Node is an element
XML_ATTRIBUTE_NODE (integer) | 2 | Node is an attribute
XML_TEXT_NODE (integer) | 3 | Node is a piece of text
XML_CDATA_SECTION_NODE (integer) | 4 |
XML_ENTITY_REF_NODE (integer) | 5 |
XML_ENTITY_NODE (integer) | 6 | Node is an entity like &nbsp;
XML_PI_NODE (integer) | 7 | Node is a processing instruction
XML_COMMENT_NODE (integer) | 8 | Node is a comment
XML_DOCUMENT_NODE (integer) | 9 | Node is a document
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) Функции

Deprecated functions

There are quite a few functions that do not fit into the DOM standard and should no longer be used. These functions are listed in the following table. The function DomNode_append_child() has changed its behaviour. It now adds a child and not a sibling. If this breaks your application, use the non-DOM function DomNode_append_sibling().

Deprecated functions and their replacements
Old function | New function
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 | Create a new node with e.g. DomDocument_create_element() and add it with DomNode_append_child().
DomNode_children | DomNode_child_nodes()
DomNode_parent | DomNode_parent_node()
DomNode_new_child | Create a new node with e.g. DomDocument_create_element() and add it with DomNode_append_child().
DomNode_set_content | Create a new node with e.g. DomDocument_create_text_node() and add it with DomNode_append_child().
DomNode_get_content | Content is just a text node and can be accessed with DomNode_child_nodes().
DomNode_set_content | Content is just a text node and can be added with DomNode_append_child().

Classes

The API of the module follows the DOM Level 2 standard as closely as possible. Consequently, the API is fully object-oriented. It is a good idea to have the DOM standard available when using this module. Though the API is object-oriented, there are many functions which can be called in a non-object-oriented way by passing the object to operate on as the first argument. These functions are mainly to retain compatibility to older versions of the extension, and should not be used when creating new scripts.

This API differs from the official DOM API in two ways. First, all class attributes are implemented as functions with the same name. Secondly, the function names follow the PHP naming convention. This means that a DOM function lastChild() will be written as last_child().

This module defines a number of classes, which are listed - including their method - in the following tables. Classes with an equivalent in the DOM standard are named DOMxxx.

List of classes
Class name | Parent classes
DomAttribute | DomNode
DomCData | DomNode
DomComment | DomCData : DomNode
DomDocument | DomNode
DomDocumentType | DomNode
DomElement | DomNode
DomEntity | DomNode
DomEntityReference | DomNode
DomProcessingInstruction | DomNode
DomText | DomCData : DomNode
Parser | Currently still called DomParser
XPathContext |

DomDocument class (DomDocument : DomNode)
Method name | Function name | Remark
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() | not DOM standard
dump_file | DomDocument_dump_file() | not DOM standard
html_dump_mem | DomDocument_html_dump_mem() | not DOM standard
xpath_init | xpath_init | not DOM standard
xpath_new_context | xpath_new_context | not DOM standard
xptr_new_context | xptr_new_context | not DOM standard

DomElement class (DomElement : DomNode)
Method name | Function name | Remark
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 class
Method name | Remark
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() | Not in DOM standard. This function emulates the former behaviour of DomNode_append_child().
DomNode_remove_child() |
DomNode_has_child_nodes() |
DomNode_has_attributes() |
DomNode_clone_node() |
DomNode_attributes() |
DomNode_unlink_node() | Not in DOM standard
DomNode_replace_node() | Not in DOM standard
DomNode_set_content() | Not in DOM standard, deprecated
DomNode_get_content() | Not in DOM standard, deprecated
DomNode_dump_node() | Not in DOM standard
DomNode_is_blank_node() | Not in DOM standard

DomAttribute class (DomAttribute : DomNode)
Method name |  | Remark
name | DomAttribute_name() |
value | DomAttribute_value() |
specified | DomAttribute_specified() |

DomProcessingInstruction class (DomProcessingInstruction : DomNode)
Method name | Function name | Remark
target | DomProcessingInstruction_target() |
data | DomProcessingInstruction_data() |

Parser class
Method name | Function name | Remark
add_chunk | Parser_add_chunk() |
end | Parser_end() |

XPathContext class
Method name | Function name | Remark
eval | XPathContext_eval() |
eval_expression | XPathContext_eval_expression() |
register_ns | XPathContext_register_ns() |

DomDocumentType class (DomDocumentType : DomNode)
Method name | Function name | Remark
name | DomDocumentType_name() |
entities | DomDocumentType_entities() |
notations | DomDocumentType_notations() |
public_id | DomDocumentType_public_id() |
system_id | DomDocumentType_system_id() |
internal_subset | DomDocumentType_internal_subset() |

The classes DomDtd is derived from DomNode. DomComment is derived from DomCData.

Примеры

Many examples in this reference require an XML string. Instead of repeating this string in every example, it will be put into a file which will be included by each example. This include file is shown in the following example section. Alternatively, you could create an XML document and read it with DomDocument_open_file().

Пример #1 Include file example.inc with XML string

<?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 — Returns the name of attribute
  • DomAttribute->set_value — Sets the value of an attribute
  • DomAttribute->specified — Checks if attribute is specified
  • DomAttribute->value — Returns value of attribute
  • DomDocument->add_root — Adds a root node [deprecated]
  • DomDocument->create_attribute — Create new attribute
  • DomDocument->create_cdata_section — Create new cdata node
  • DomDocument->create_comment — Create new comment node
  • DomDocument->create_element_ns — Create new element node with an associated namespace
  • DomDocument->create_element — Create new element node
  • DomDocument->create_entity_reference — Create an entity reference
  • DomDocument->create_processing_instruction — Creates new PI node
  • DomDocument->create_text_node — Create new text node
  • DomDocument->doctype — Returns the document type
  • DomDocument->document_element — Returns root element node
  • DomDocument->dump_file — Dumps the internal XML tree back into a file
  • DomDocument->dump_mem — Dumps the internal XML tree back into a string
  • DomDocument->get_element_by_id — Searches for an element with a certain id
  • DomDocument->get_elements_by_tagname — Returns array with nodes with given tagname in document or empty array, if not found
  • DomDocument->html_dump_mem — Dumps the internal XML tree back into a string as HTML
  • DomDocument->xinclude — Substitutes XIncludes in a DomDocument Object
  • DomDocumentType->entities — Returns list of entities
  • DomDocumentType->internal_subset — Returns internal subset
  • DomDocumentType->name — Returns name of document type
  • DomDocumentType->notations — Returns list of notations
  • DomDocumentType->public_id — Returns public id of document type
  • DomDocumentType->system_id — Returns the system id of document type
  • DomElement->get_attribute_node — Returns the node of the given attribute
  • DomElement->get_attribute — Returns the value of the given attribute
  • DomElement->get_elements_by_tagname — Gets elements by tagname
  • DomElement->has_attribute — Checks to see if an attribute exists in the current node
  • DomElement->remove_attribute — Removes attribute
  • DomElement->set_attribute_node — Adds new attribute
  • DomElement->set_attribute — Sets the value of an attribute
  • DomElement->tagname — Returns the name of the current element
  • DomNode->add_namespace — Adds a namespace declaration to a node
  • DomNode->append_child — Adds a new child at the end of the children
  • DomNode->append_sibling — Adds new sibling to a node
  • DomNode->attributes — Returns list of attributes
  • DomNode->child_nodes — Returns children of node
  • DomNode->clone_node — Clones a node
  • DomNode->dump_node — Dumps a single node
  • DomNode->first_child — Returns first child of node
  • DomNode->get_content — Gets content of node
  • DomNode->has_attributes — Checks if node has attributes
  • DomNode->has_child_nodes — Checks if node has children
  • DomNode->insert_before — Inserts new node as child
  • DomNode->is_blank_node — Checks if node is blank
  • DomNode->last_child — Returns last child of node
  • DomNode->next_sibling — Returns the next sibling of node
  • DomNode->node_name — Returns name of node
  • DomNode->node_type — Returns type of node
  • DomNode->node_value — Returns value of a node
  • DomNode->owner_document — Returns the document this node belongs to
  • DomNode->parent_node — Returns the parent of the node
  • DomNode->prefix — Returns name space prefix of node
  • DomNode->previous_sibling — Returns the previous sibling of node
  • DomNode->remove_child — Removes child from list of children
  • DomNode->replace_child — Replaces a child
  • DomNode->replace_node — Replaces node
  • DomNode->set_content — Sets content of node
  • DomNode->set_name — Sets name of node
  • DomNode->set_namespace — Sets namespace of a node
  • DomNode->unlink_node — Deletes node
  • DomProcessingInstruction->data — Returns the data of ProcessingInstruction node
  • DomProcessingInstruction->target — Returns the target of a ProcessingInstruction node
  • DomXsltStylesheet->process — Applies the XSLT-Transformation on a DomDocument Object
  • DomXsltStylesheet->result_dump_file — Dumps the result from a XSLT-Transformation into a file
  • DomXsltStylesheet->result_dump_mem — Dumps the result from a XSLT-Transformation back into a string
  • domxml_new_doc — Creates new empty XML document
  • domxml_open_file — Creates a DOM object from an XML file
  • domxml_open_mem — Creates a DOM object of an XML document
  • domxml_version — Gets the XML library version
  • domxml_xmltree — Creates a tree of PHP objects from an XML document
  • domxml_xslt_stylesheet_doc — Creates a DomXsltStylesheet Object from a DomDocument Object
  • domxml_xslt_stylesheet_file — Creates a DomXsltStylesheet Object from an XSL document in a file
  • domxml_xslt_stylesheet — Creates a DomXsltStylesheet object from an XSL document in a string
  • domxml_xslt_version — Gets the XSLT library version
  • xpath_eval_expression — Evaluates the XPath Location Path in the given string
  • xpath_eval — Evaluates the XPath Location Path in the given string
  • xpath_new_context — Creates new xpath context
  • xpath_register_ns_auto — Register the given namespace in the passed XPath context
  • xpath_register_ns — Register the given namespace in the passed XPath context
  • xptr_eval — Evaluate the XPtr Location Path in the given string
  • xptr_new_context — Create new XPath Context
Предопределенные константы
DomAttribute->name
DOM XML (PHP 4)


Returns the name of attribute

DOM XML (PHP 4) Функции
DomAttribute->set_value
DOM XML (PHP 4) Функции
PHP Manual

DomAttribute->name

(PHP 4 >= 4.1.0)

DomAttribute->name — Returns the name of attribute

Описание

DomAttribute
string name ( void )

Gets the name of the attribute.

Возвращаемые значения

Returns the name of the attribute.

Migrating to PHP 5

Use the name property of DOMAttr.

Смотрите также

  • DomAttribute->value for an example

DOM XML (PHP 4) Функции
DomAttribute->set_value
DOM XML (PHP 4) Функции


Sets the value of an attribute

DomAttribute->name
DomAttribute->specified
DOM XML (PHP 4) Функции
PHP Manual

DomAttribute->set_value

(PHP 4 >= 4.1.0)

DomAttribute->set_value — Sets the value of an attribute

Описание

DomAttribute
bool set_value ( string $content )

This function sets the value of an attribute.

Список параметров

content

The new value.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Migrating to PHP 5

Set the value property of DOMAttr.

Смотрите также

  • DomAttribute->value

DomAttribute->name
DomAttribute->specified
DOM XML (PHP 4) Функции


Checks if attribute is specified

DomAttribute->set_value
DomAttribute->value
DOM XML (PHP 4) Функции
PHP Manual

DomAttribute->specified

(PHP 4 >= 4.1.0)

DomAttribute->specified — Checks if attribute is specified

Описание

DomAttribute
bool specified ( void )

Checks if the attribute was explicitly given a value in the original document.

Замечание: This method is not implemented yet.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • The definition of » specified in the DOM Recommendations

DomAttribute->set_value
DomAttribute->value
DOM XML (PHP 4) Функции


Returns value of attribute

DomAttribute->specified
DomDocument->add_root
DOM XML (PHP 4) Функции
PHP Manual

DomAttribute->value

(PHP 4 >= 4.1.0)

DomAttribute->value — Returns value of attribute

Описание

DomAttribute
string value ( void )

This function returns the value of the attribute.

Примеры

Пример #1 Getting all the attributes of a node

<?php

include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
     echo "Error while parsing the document\n";
     exit;
}

$root = $dom->document_element();
$attrs = $root->attributes();

echo 'Attributes of ' . $root->node_name() . "\n";
foreach ($attrs as $attribute) {
     echo ' - ' . $attribute->name . ' : ' . $attribute->value . "\n";
}

?>

Результат выполнения данного примера:

Attributes of chapter
 - language : en

Возвращаемые значения

Returns the value of the attribute.

Migrating to PHP 5

Use the value property of DOMAttr.

Смотрите также

  • DomAttribute->set_value
  • DomAttribute->name

DomAttribute->specified
DomDocument->add_root
DOM XML (PHP 4) Функции


Adds a root node [deprecated]

DomAttribute->value
DomDocument->create_attribute
DOM XML (PHP 4) Функции
PHP Manual

DomDocument->add_root

(PHP 4 >= 4.1.0)

DomDocument->add_root — Adds a root node [deprecated]

Описание

domelement DomDocument->add_root ( string $name )

Adds a root element node to a dom document and returns the new node. The element name is given in the passed parameter.

Пример #1 Creating a simple HTML document header

<?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) Функции


Create new attribute

DomDocument->add_root
DomDocument->create_cdata_section
DOM XML (PHP 4) Функции
PHP Manual

DomDocument->create_attribute

(PHP 4 >= 4.1.0)

DomDocument->create_attribute — Create new attribute

Описание

domattribute DomDocument->create_attribute ( string $name , string $value )

This function returns a new instance of class DomAttribute. The name of the attribute is the value of the first parameter. The value of the attribute is the value of the second parameter. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, к примеру функцией domnode_append_child().

The return value is FALSE if an error occurred.

See also domnode_append_child(),
domdocument_create_element(),
domdocument_create_text(),
domdocument_create_cdata_section(),
domdocument_create_processing_instruction(),
domdocument_create_entity_reference(), and
domnode_insert_before().

DomDocument->add_root
DomDocument->create_cdata_section
DOM XML (PHP 4) Функции


Create new cdata node

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 — Create new cdata node

Описание

domcdata DomDocument->create_cdata_section ( string $content )

This function returns a new instance of class DomCData. The content of the cdata is the value of the passed parameter. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, к примеру функцией domnode_append_child().

The return value is FALSE if an error occurred.

See also domnode_append_child(),
domdocument_create_element(),
domdocument_create_text(),
domdocument_create_attribute(),
domdocument_create_processing_instruction(),
domdocument_create_entity_reference(), and
domnode_insert_before().

DomDocument->create_attribute
DomDocument->create_comment
DOM XML (PHP 4) Функции


Create new comment node

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 — Create new comment node

Описание

domcomment DomDocument->create_comment ( string $content )

This function returns a new instance of class DomComment. The content of the comment is the value of the passed parameter. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, к примеру функцией domnode_append_child().

The return value is FALSE if an error occurred.

See also domnode_append_child(),
domdocument_create_element(),
domdocument_create_text(),
domdocument_create_attribute(),
domdocument_create_processing_instruction(),
domdocument_create_entity_reference(), and
domnode_insert_before().

DomDocument->create_cdata_section
DomDocument->create_element_ns
DOM XML (PHP 4) Функции


Create new element node with an associated namespace

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 — Create new element node with an associated namespace

Описание

domelement DomDocument->create_element_ns ( string $uri , string $name [, string $prefix ] )

This function returns a new instance of class DomElement. The tag name of the element is the value of the passed parameter name . The URI of the namespace is the value of the passed parameter uri . If there is already a namespace declaration with the same uri in the root-node of the document, the prefix of this is taken, otherwise it will take the one provided in the optional parameter prefix or generate a random one. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, к примеру функцией domnode_append_child().

The return value is FALSE if an error occurred.

See also 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(), and
domnode_insert_before().

DomDocument->create_comment
DomDocument->create_element
DOM XML (PHP 4) Функции


Create new element node

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 — Create new element node

Описание

domelement DomDocument->create_element ( string $name )

This function returns a new instance of class DomElement. The tag name of the element is the value of the passed parameter. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, к примеру функцией domnode_append_child().

The return value is FALSE if an error occurred.

See also domdocument_create_element_ns(),
domnode_append_child(),
domdocument_create_text(),
domdocument_create_comment(),
domdocument_create_attribute(),
domdocument_create_processing_instruction(),
domdocument_create_entity_reference(), and
domnode_insert_before().

DomDocument->create_element_ns
DomDocument->create_entity_reference
DOM XML (PHP 4) Функции


Create an entity reference

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 — Create an entity reference

Описание

domentityreference DomDocument->create_entity_reference ( string $content )

This function returns a new instance of class DomEntityReference. The content of the entity reference is the value of the passed parameter. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, к примеру функцией domnode_append_child().

The return value is FALSE if an error occurred.

See also domnode_append_child(),
domdocument_create_element(),
domdocument_create_text(),
domdocument_create_cdata_section(),
domdocument_create_processing_instruction(),
domdocument_create_attribute(), and
domnode_insert_before().

DomDocument->create_element
DomDocument->create_processing_instruction
DOM XML (PHP 4) Функции


Creates new PI node

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 — Creates new PI node

Описание

domprocessinginstruction DomDocument->create_processing_instruction ( string $content )

This function returns a new instance of class DomCData. The content of the pi is the value of the passed parameter. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, к примеру функцией domnode_append_child().

The return value is FALSE if an error occurred.

See also domnode_append_child(),
domdocument_create_element(),
domdocument_create_text(),
domdocument_create_cdata_section(),
domdocument_create_attribute(),
domdocument_create_entity_reference(), and
domnode_insert_before().

DomDocument->create_entity_reference
DomDocument->create_text_node
DOM XML (PHP 4) Функции


Create new text node

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 — Create new text node

Описание

domtext DomDocument->create_text_node ( string $content )

This function returns a new instance of class DomText. The content of the text is the value of the passed parameter. Этот узел не будет отображаться в документе до тех пор, пока он не будет вставлен, к примеру функцией domnode_append_child().

The return value is FALSE if an error occurred.

See also domnode_append_child(),
domdocument_create_element(),
domdocument_create_comment(),
domdocument_create_text(),
domdocument_create_attribute(),
domdocument_create_processing_instruction(),
domdocument_create_entity_reference(), and
domnode_insert_before().

DomDocument->create_processing_instruction
DomDocument->doctype
DOM XML (PHP 4) Функции


Returns the document type

DomDocument->create_text_node
DomDocument->document_element
DOM XML (PHP 4) Функции
PHP Manual

DomDocument->doctype

(PHP 4 >= 4.1.0)

DomDocument->doctype — Returns the document type

Описание

domdocumenttype DomDocument->doctype ( void )

This function returns an object of class DomDocumentType. In versions of PHP before 4.3 this has been the class Dtd, but the DOM Standard does not know such a class.

See also the methods of class DomDocumentType.

DomDocument->create_text_node
DomDocument->document_element
DOM XML (PHP 4) Функции


Returns root element node

DomDocument->doctype
DomDocument->dump_file
DOM XML (PHP 4) Функции
PHP Manual

DomDocument->document_element

(PHP 4 >= 4.1.0)

DomDocument->document_element — Returns root element node

Описание

domelement DomDocument->document_element ( void )

This function returns the root element node of a document.

The following example returns just the element with name CHAPTER and prints it. The other node -- the comment -- is not returned.

Пример #1 Retrieving root element

<?php
include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
  echo "Error while parsing the document\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) Функции


Dumps the internal XML tree back into a file

DomDocument->document_element
DomDocument->dump_mem
DOM XML (PHP 4) Функции
PHP Manual

DomDocument->dump_file

(PHP 4 >= 4.1.0)

DomDocument->dump_file — Dumps the internal XML tree back into a file

Описание

string DomDocument->dump_file ( string $filename [, bool $compressionmode [, bool $format ]] )

Creates an XML document from the dom representation. This function usually is called after building a new dom document from scratch as in the example below. The format specifies whether the output should be neatly formatted, or not. The first parameter specifies the name of the filename and the second parameter, whether it should be compressed or not.

Пример #1 Creating a simple HTML document header

<?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);
?>

See also domdocument_dump_mem(), and domdocument_html_dump_mem().

DomDocument->document_element
DomDocument->dump_mem
DOM XML (PHP 4) Функции


Dumps the internal XML tree back into a string

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 — Dumps the internal XML tree back into a string

Описание

string DomDocument->dump_mem ([ bool $format [, string $encoding ]] )

Creates an XML document from the dom representation. This function usually is called after building a new dom document from scratch as in the example below. The format specifies whether the output should be neatly formatted, or not.

Пример #1 Creating a simple HTML document header

<?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>";
?>

Замечание: The first parameter was added in PHP 4.3.0.

See also domdocument_dump_file(), and domdocument_html_dump_mem().

DomDocument->dump_file
DomDocument->get_element_by_id
DOM XML (PHP 4) Функции


Searches for an element with a certain 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 — Searches for an element with a certain id

Описание

domelement DomDocument->get_element_by_id ( string $id )

This function is similar to domdocument_get_elements_by_tagname() but searches for an element with a given id. According to the DOM standard this requires a DTD which defines the attribute ID to be of type ID, though the current implementation simply does an xpath search for "//*[@ID = '%s']". This does not comply to the DOM standard which requires to return null if it is not known which attribute is of type id. This behaviour is likely to be fixed, so do not rely on the current behaviour.

See also domdocument_get_elements_by_tagname()

DomDocument->dump_mem
DomDocument->get_elements_by_tagname
DOM XML (PHP 4) Функции


Returns array with nodes with given tagname in document or empty array, if not found

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 — Returns array with nodes with given tagname in document or empty array, if not found

Описание

array DomDocument->get_elements_by_tagname ( string $name )

See also domdocument_add_root()

DomDocument->get_element_by_id
DomDocument->html_dump_mem
DOM XML (PHP 4) Функции


Dumps the internal XML tree back into a string as 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 — Dumps the internal XML tree back into a string as HTML

Описание

string DomDocument->html_dump_mem ( void )

Creates an HTML document from the dom representation. This function usually is called after building a new dom document from scratch as in the example below.

Пример #1 Creating a simple HTML document header

<?php

// Creates the document
$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>

See also domdocument_dump_file(), and domdocument_html_dump_mem().

DomDocument->get_elements_by_tagname
DomDocument->xinclude
DOM XML (PHP 4) Функции


Substitutes XIncludes in a DomDocument Object

DomDocument->html_dump_mem
DomDocumentType->entities
DOM XML (PHP 4) Функции
PHP Manual

DomDocument->xinclude

(PHP 5)

DomDocument->xinclude — Substitutes XIncludes in a DomDocument Object

Описание

int DomDocument->xinclude ( void )

This function substitutes » XIncludes in a DomDocument object.

Пример #1 Substituting Xincludes

<?php

// include.xml contains :
// <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 not found</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>

If include.xml doesn't exist, you'll see:

<?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) Функции


Returns list of entities

DomDocument->xinclude
DomDocumentType->internal_subset
DOM XML (PHP 4) Функции
PHP Manual

DomDocumentType->entities

(PHP 4 >= 4.1.0)

DomDocumentType->entities — Returns list of entities

Описание

DomDocumentType
array entities ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Migrating to PHP 5

Use the entities property of the DOMDocumentType object.

DomDocument->xinclude
DomDocumentType->internal_subset
DOM XML (PHP 4) Функции


Returns internal subset

DomDocumentType->entities
DomDocumentType->name
DOM XML (PHP 4) Функции
PHP Manual

DomDocumentType->internal_subset

(PHP 4 >= 4.1.0)

DomDocumentType->internal_subset — Returns internal subset

Описание

DomDocumentType
bool internal_subset ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Migrating to PHP 5

Use the internalSubset property of the DOMDocumentType object.

DomDocumentType->entities
DomDocumentType->name
DOM XML (PHP 4) Функции


Returns name of document type

DomDocumentType->internal_subset
DomDocumentType->notations
DOM XML (PHP 4) Функции
PHP Manual

DomDocumentType->name

(PHP 4 >= 4.1.0)

DomDocumentType->name — Returns name of document type

Описание

DomDocumentType
string name ( void )

This function returns the name of the document type.

Возвращаемые значения

Returns the name of the DomDocumentType, as a string.

Примеры

Пример #1 Getting the document type's name

<?php

include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
    echo "Error while parsing the document\n";
    exit;
}

$doctype = $dom->doctype();
echo $doctype->name(); // chapter

?>

Migrating to PHP 5

Use the name property of the DOMDocumentType object.

DomDocumentType->internal_subset
DomDocumentType->notations
DOM XML (PHP 4) Функции


Returns list of notations

DomDocumentType->name
DomDocumentType->public_id
DOM XML (PHP 4) Функции
PHP Manual

DomDocumentType->notations

(PHP 4 >= 4.1.0)

DomDocumentType->notations — Returns list of notations

Описание

DomDocumentType
array notations ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Migrating to PHP 5

Use the notations property of the DOMDocumentType object.

DomDocumentType->name
DomDocumentType->public_id
DOM XML (PHP 4) Функции


Returns public id of document type

DomDocumentType->notations
DomDocumentType->system_id
DOM XML (PHP 4) Функции
PHP Manual

DomDocumentType->public_id

(PHP 4 >= 4.1.0)

DomDocumentType->public_id — Returns public id of document type

Описание

DomDocumentType
string public_id ( void )

This function returns the public id of the document type.

Возвращаемые значения

Returns the public id of the DomDocumentType, as a string.

Примеры

The following example echos nothing.

Пример #1 Retrieving the public id

<?php
include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
  echo "Error while parsing the document\n";
  exit;
}

$doctype = $dom->doctype();
echo $doctype->public_id();
?>

Migrating to PHP 5

Use the publicId property of the DOMDocumentType object.

DomDocumentType->notations
DomDocumentType->system_id
DOM XML (PHP 4) Функции


Returns the system id of document type

DomDocumentType->public_id
DomElement->get_attribute_node
DOM XML (PHP 4) Функции
PHP Manual

DomDocumentType->system_id

(PHP 4 >= 4.1.0)

DomDocumentType->system_id — Returns the system id of document type

Описание

DomDocumentType
string system_id ( void )

Returns the system id of the document type.

Возвращаемые значения

Returns the system id of the DomDocumentType, as a string.

Примеры

Пример #1 Retrieving the system id

<?php
include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
  echo "Error while parsing the document\n";
  exit;
}

$doctype = $dom->doctype();
echo $doctype->system_id();
?>

Результат выполнения данного примера:

/share/sgml/Norman_Walsh/db3xml10/db3xml10.dtd

Migrating to PHP 5

Use the systemId property of the DOMDocumentType object.

DomDocumentType->public_id
DomElement->get_attribute_node
DOM XML (PHP 4) Функции


Returns the node of the given attribute

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 — Returns the node of the given attribute

Описание

DomElement
DomAttribute get_attribute_node ( string $name )

Returns the node of the given attribute in the current element.

Список параметров

name

The name of the seeked attribute. This parameter is case sensitive.

Возвращаемые значения

Returns the node of the attribute as a DomAttribute or FALSE if no attribute with the given name is found.

Примеры

Пример #1 Getting an attribute node

<?php

include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
    echo "Error while parsing the document\n";
    exit;
}

$root = $dom->document_element();
if ($attribute = $root->get_attribute_node('language')) {
    echo 'Language is: ' . $attribute->value() . "\n";
}

?>

Migrating to PHP 5

Use DOMElement::getAttributeNode.

Смотрите также

  • DomElement->get_attribute
  • DomElement->set_attribute

DomDocumentType->system_id
DomElement->get_attribute
DOM XML (PHP 4) Функции


Returns the value of the given attribute

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 — Returns the value of the given attribute

Описание

DomElement
string get_attribute ( string $name )

Returns the value of the given attribute in the current element.

Since PHP 4.3, if no attribute with given name is found, an empty string is returned.

Список параметров

name

The name of the seeked attribute. This parameter is case sensitive.

Возвращаемые значения

Returns the name of the attribute as a string or an empty string if no attribute with the given name is found.

Примеры

Пример #1 Getting the value of an attribute

<?php

include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
    echo "Error while parsing the document\n";
    exit;
}

// get chapter
$root = $dom->document_element();
echo $root->get_attribute('language'); // en

?>

Migrating to PHP 5

Use DOMElement::getAttribute.

Смотрите также

  • DomElement->get_attribute_node
  • DomElement->set_attribute

DomElement->get_attribute_node
DomElement->get_elements_by_tagname
DOM XML (PHP 4) Функции


Gets elements by tagname

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 — Gets elements by tagname

Описание

DomElement
array get_elements_by_tagname ( string $name )

Gets all the sub elements with the specific name within the current element.

Список параметров

name

The name of the seeked element.

Возвращаемые значения

Returns an array of DomElement objects.

Примеры

Пример #1 Getting a content

<?php
if (!$dom = domxml_open_mem($xmlstr)) {
  echo "Error while parsing the document\n";
  exit;
}

$root = $dom->document_element();

$node_array = $root->get_elements_by_tagname('element');

foreach ($node_array as $node) {
    echo ' - ' . $node->get_content() . "\n";
}

?>

Migrating to PHP 5

Use DOMElement::getElementsByTagName.

DomElement->get_attribute
DomElement->has_attribute
DOM XML (PHP 4) Функции


Checks to see if an attribute exists in the current node

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 — Checks to see if an attribute exists in the current node

Описание

DomElement
bool has_attribute ( string $name )

This functions checks to see if an attribute named name exists in the current node.

Список параметров

name

The name of the tested attribute.

Возвращаемые значения

Returns TRUE if the asked attribute exists, FALSE otherwise.

Примеры

Пример #1 Testing the existence of an attribute

<?php

include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
    echo "Error while parsing the document\n";
    exit;
}

$root = $dom->document_element();

$buffer = '<html';
if ($root->has_attribute('language')) {
    $buffer .= 'lang="' . $root->get_attribute('language') . '"';
}
$buffer .= '>';

?>

Migrating to PHP 5

Use DOMElement::hasAttribute.

DomElement->get_elements_by_tagname
DomElement->remove_attribute
DOM XML (PHP 4) Функции


Removes attribute

DomElement->has_attribute
DomElement->set_attribute_node
DOM XML (PHP 4) Функции
PHP Manual

DomElement->remove_attribute

(PHP 4 >= 4.1.0)

DomElement->remove_attribute — Removes attribute

Описание

DomElement
bool remove_attribute ( string $name )

Removes an attribute from the current DomElement node.

Список параметров

name

The name of the attribute to remove.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Migrating to PHP 5

Use DOMElement::removeAttribute.

DomElement->has_attribute
DomElement->set_attribute_node
DOM XML (PHP 4) Функции


Adds new attribute

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 — Adds new attribute

Описание

DomElement
DomNode set_attribute_node ( DomNode $attr )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

DomElement->remove_attribute
DomElement->set_attribute
DOM XML (PHP 4) Функции


Sets the value of an attribute

DomElement->set_attribute_node
DomElement->tagname
DOM XML (PHP 4) Функции
PHP Manual

DomElement->set_attribute

(PHP 4 >= 4.1.0)

DomElement->set_attribute — Sets the value of an attribute

Описание

DomElement
DomAttribute set_attribute ( string $name , string $value )

Sets an attribute with name name to the given value .

Список параметров

name

The name of the attribute. If this attribute doesn't exist, it will be created.

value

The value of the attribute.

Возвращаемые значения

Returns the old DomAttribute node, or the new one if you are creating the attribute for the first time.

Примеры

Пример #1 Setting an attribute

<?php
$doc = domxml_new_doc("1.0");
$node = $doc->create_element("para");
$newnode = $doc->append_child($node);
$newnode->set_attribute("align", "left");
?>

Migrating to PHP 5

Use DOMElement::setAttribute.

Смотрите также

  • DomElement->get_attribute_node
  • DomElement->get_attribute

DomElement->set_attribute_node
DomElement->tagname
DOM XML (PHP 4) Функции


Returns the name of the current element

DomElement->set_attribute
DomNode->add_namespace
DOM XML (PHP 4) Функции
PHP Manual

DomElement->tagname

(PHP 4 >= 4.1.0)

DomElement->tagname — Returns the name of the current element

Описание

DomElement
string tagname ( void )

Returns the name of the current node. Calling this function is the same as accessing the tagname property, or calling DomNode->node_name on the current node.

Возвращаемые значения

Returns the name of the current DomElement node.

Примеры

Пример #1 Getting the node name

<?php

include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
    echo "Error while parsing the document\n";
    exit;
}

$root = $dom->document_element();
echo $root->tagname();   // chapter
echo $root->tagname;     // chapter
echo $root->node_name(); // chapter

?>

Migrating to PHP 5

Use the tagName property of the DOMElement object.

DomElement->set_attribute
DomNode->add_namespace
DOM XML (PHP 4) Функции


Adds a namespace declaration to a node

DomElement->tagname
DomNode->append_child
DOM XML (PHP 4) Функции
PHP Manual

DomNode->add_namespace

(PHP 4 >= 4.3.0)

DomNode->add_namespace — Adds a namespace declaration to a node

Описание

DOMNode
bool add_namespace ( string $uri , string $prefix )

This method adds a namespace declaration to a node.

Замечание: This method is not part of the DOM specification.

Список параметров

uri

The namespace URI of the node.

prefix

The namespace prefix of the node.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Migrating to PHP 5

You can set the namespace URI and prefix of a DOMElement or a DOMAttr at creation time by using DOMDocument::createElementNS or DOMDocument::createAttributeNS.

Замечание: Remember the an attribute does not inherit its namespace from the element it is attached to.

Смотрите также

  • DomDocument->create_element_ns
  • DomNode->set_namespace

DomElement->tagname
DomNode->append_child
DOM XML (PHP 4) Функции


Adds a new child at the end of the children

DomNode->add_namespace
DomNode->append_sibling
DOM XML (PHP 4) Функции
PHP Manual

DomNode->append_child

(PHP 4 >= 4.1.0)

DomNode->append_child — Adds a new child at the end of the children

Описание

DOMNode
DOMNode append_child ( DOMNode $newnode )

This functions appends a child to an existing list of children or creates a new list of children.

Список параметров

newnode

The node being appended. It can be created with e.g. DomDocument->create_element, DomDocument->create_text_node etc. or simply by using any other node.

Замечание: You can not append a DOMAttribute using this method. Use DomElement->set_attribute instead.

Возвращаемые значения

Returns the appended node on success or FALSE on failure.

Список изменений

Версия | Описание
4.3.0 | You are not allowed anymore to insert a node from another document.
4.3.0 | Prior to PHP 4.3.0, the new child is duplicated before being appended. Therefore the new child is a completely new copy which can be modified without changing the node which was passed to this function. If the node passed has children itself, they will be duplicated as well, which makes it quite easy to duplicate large parts of an XML document. The return value is the appended child. If you plan to do further modifications on the appended child you must use the returned node.
4.3.0 and 4.3.1 | The new child newnode is first unlinked from its existing context, if it's already a child of DomNode. Therefore the newnode is moved and not copies anymore. This is the behaviour according to the W3C specifications. If you need the old behaviour, use DomNode->clone_node before appending.
4.3.2 | The new child newnode is first unlinked from its existing context, if it's already in the tree. Same rules apply.

Примеры

The following example adds a new element node to a fresh document and sets the attribute align to left.

Пример #1 Adding a child

<?php
$doc = domxml_new_doc("1.0");
$node = $doc->create_element("para");
$newnode = $doc->append_child($node);
$newnode->set_attribute("align", "left");
?>

The above example could also be written as the following:

Пример #2 Adding a child

<?php
$doc = domxml_new_doc("1.0");
$node = $doc->create_element("para");
$node->set_attribute("align", "left");
$newnode = $doc->append_child($node);
?>

A more complex example is the one below. It first searches for a certain element, duplicates it including its children and adds it as a sibling. Finally a new attribute is added to one of the children of the new sibling and the whole document is dumped.

Пример #3 Adding a child

<?php
include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
  echo "Error while parsing the document\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);
?>

The above example could also be done with DomNode->insert_before instead of DomNode->append_child.

Migrating to PHP 5

You should use DOMNode::appendChild.

Смотрите также

  • DomNode->insert_before
  • DomNode->clone_node

DomNode->add_namespace
DomNode->append_sibling
DOM XML (PHP 4) Функции


Adds new sibling to a node

DomNode->append_child
DomNode->attributes
DOM XML (PHP 4) Функции
PHP Manual

DomNode->append_sibling

(PHP 4 >= 4.2.0)

DomNode->append_sibling — Adds new sibling to a node

Описание

domelement DomNode->append_sibling ( domelement $newnode )

This functions appends a sibling to an existing node. The child can be created with e.g. domdocument_create_element(), domdocument_create_text() etc. or simply by using any other node.

Before a new sibling is added it is first duplicated. Therefore the new child is a completely new copy which can be modified without changing the node which was passed to this function. If the node passed has children itself, they will be duplicated as well, which makes it quite easy to duplicate large parts of an XML document. The return value is the added sibling. If you plan to do further modifications on the added sibling you must use the returned node.

This function has been added to provide the behaviour of domnode_append_child() as it works till PHP 4.2.

See also domnode_append_before().

DomNode->append_child
DomNode->attributes
DOM XML (PHP 4) Функции


Returns list of attributes

DomNode->append_sibling
DomNode->child_nodes
DOM XML (PHP 4) Функции
PHP Manual

DomNode->attributes

(PHP 4 >= 4.1.0)

DomNode->attributes — Returns list of attributes

Описание

array DomNode->attributes ( void )

This function only returns an array of attributes if the node is of type XML_ELEMENT_NODE.

(PHP >= 4.3 only) If no attributes are found, NULL is returned.

DomNode->append_sibling
DomNode->child_nodes
DOM XML (PHP 4) Функции


Returns children of node

DomNode->attributes
DomNode->clone_node
DOM XML (PHP 4) Функции
PHP Manual

DomNode->child_nodes

(PHP 4 >= 4.1.0)

DomNode->child_nodes — Returns children of node

Описание

array DomNode->child_nodes ( void )

Returns all children of the node.

See also domnode_next_sibling(), and domnode_previous_sibling().

DomNode->attributes
DomNode->clone_node
DOM XML (PHP 4) Функции


Clones a node

DomNode->child_nodes
DomNode->dump_node
DOM XML (PHP 4) Функции
PHP Manual

DomNode->clone_node

(PHP 4 >= 4.1.0)

DomNode->clone_node — Clones a node

Описание

domelement DomNode->clone_node ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

DomNode->child_nodes
DomNode->dump_node
DOM XML (PHP 4) Функции


Dumps a single node

DomNode->clone_node
DomNode->first_child
DOM XML (PHP 4) Функции
PHP Manual

DomNode->dump_node

(PHP 4 >= 4.1.0)

DomNode->dump_node — Dumps a single node

Описание

string DomNode->dump_node ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

See also domdocument_dump_mem().

DomNode->clone_node
DomNode->first_child
DOM XML (PHP 4) Функции


Returns first child of node

DomNode->dump_node
DomNode->get_content
DOM XML (PHP 4) Функции
PHP Manual

DomNode->first_child

(PHP 4 >= 4.1.0)

DomNode->first_child — Returns first child of node

Описание

domelement DomNode->first_child ( void )

Returns the first child of the node.

(PHP >= 4.3 only) If no first child is found, NULL is returned.

See also domnode_last_child(), and
domnode_next_sibling(),
domnode_previous_sibling().

DomNode->dump_node
DomNode->get_content
DOM XML (PHP 4) Функции


Gets content of node

DomNode->first_child
DomNode->has_attributes
DOM XML (PHP 4) Функции
PHP Manual

DomNode->get_content

(PHP 4 >= 4.2.0)

DomNode->get_content — Gets content of node

Описание

string DomNode->get_content ( void )

This function returns the content of the actual node.

Пример #1 Getting a content

<?php
if (!$dom = domxml_open_mem($xmlstr)) {
  echo "Error while parsing the document\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) Функции


Checks if node has attributes

DomNode->get_content
DomNode->has_child_nodes
DOM XML (PHP 4) Функции
PHP Manual

DomNode->has_attributes

(PHP 4 >= 4.1.0)

DomNode->has_attributes — Checks if node has attributes

Описание

bool DomNode->has_attributes ( void )

This function checks if the node has attributes.

See also domnode_has_child_nodes().

DomNode->get_content
DomNode->has_child_nodes
DOM XML (PHP 4) Функции


Checks if node has children

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 — Checks if node has children

Описание

bool DomNode->has_child_nodes ( void )

This function checks if the node has children.

See also domnode_child_nodes().

DomNode->has_attributes
DomNode->insert_before
DOM XML (PHP 4) Функции


Inserts new node as child

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 — Inserts new node as child

Описание

domelement DomNode->insert_before ( domelement $newnode , domelement $refnode )

This function inserts the new node newnode right before the node refnode . The return value is the inserted node. If you plan to do further modifications on the appended child you must use the returned node.

(PHP >= 4.3 only) If newnode already is part of a document, it will be first unlinked from its existing context. If refnode is NULL, then newnode will be inserted at the end of the list of children.

domnode_insert_before() is very similar to domnode_append_child() as the following example shows which does the same as the example at domnode_append_child().

Пример #1 Adding a child

<?php
include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
  echo "Error while parsing the document\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>";
?>

See also domnode_append_child().

DomNode->has_child_nodes
DomNode->is_blank_node
DOM XML (PHP 4) Функции


Checks if node is blank

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 — Checks if node is blank

Описание

bool DomNode->is_blank_node ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

DomNode->insert_before
DomNode->last_child
DOM XML (PHP 4) Функции


Returns last child of node

DomNode->is_blank_node
DomNode->next_sibling
DOM XML (PHP 4) Функции
PHP Manual

DomNode->last_child

(PHP 4 >= 4.1.0)

DomNode->last_child — Returns last child of node

Описание

domelement DomNode->last_child ( void )

Returns the last child of the node.

(PHP >= 4.3 only) If no last child is found, NULL is returned.

See also domnode_first_child(), and
domnode_next_sibling(),
domnode_previous_sibling().

DomNode->is_blank_node
DomNode->next_sibling
DOM XML (PHP 4) Функции


Returns the next sibling of node

DomNode->last_child
DomNode->node_name
DOM XML (PHP 4) Функции
PHP Manual

DomNode->next_sibling

(PHP 4 >= 4.1.0)

DomNode->next_sibling — Returns the next sibling of node

Описание

domelement DomNode->next_sibling ( void )

This function returns the next sibling of the current node. If there is no next sibling it returns FALSE (< 4.3) or null (>= 4.3). You can use this function to iterate over all children of a node as shown in the example.

Пример #1 Iterate over children

<?php
include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
  echo "Error while parsing the document\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();
}
?>

See also domnode_previous_sibling().

DomNode->last_child
DomNode->node_name
DOM XML (PHP 4) Функции


Returns name of node

DomNode->next_sibling
DomNode->node_type
DOM XML (PHP 4) Функции
PHP Manual

DomNode->node_name

(PHP 4 >= 4.1.0)

DomNode->node_name — Returns name of node

Описание

string DomNode->node_name ( void )

Returns name of the node. The name has different meanings for the different types of nodes as illustrated in the following table.

Meaning of value
Type | Meaning
DomAttribute | value of attribute
DomAttribute |
DomCDataSection | #cdata-section
DomComment | #comment
DomDocument | #document
DomDocumentType | document type name
DomElement | tag name
DomEntity | name of entity
DomEntityReference | name of entity reference
DomNotation | notation name
DomProcessingInstruction | target
DomText | #text

DomNode->next_sibling
DomNode->node_type
DOM XML (PHP 4) Функции


Returns type of node

DomNode->node_name
DomNode->node_value
DOM XML (PHP 4) Функции
PHP Manual

DomNode->node_type

(PHP 4 >= 4.1.0)

DomNode->node_type — Returns type of node

Описание

int DomNode->node_type ( void )

Returns the type of the node. All possible types are listed in the table in the introduction.

<?php

include 'example.inc';

$dom = domxml_open_mem($xmlstr);

$chapter = $dom->document_element();

// Let's see the elements contained in 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) Функции


Returns value of a node

DomNode->node_type
DomNode->owner_document
DOM XML (PHP 4) Функции
PHP Manual

DomNode->node_value

(PHP 4 >= 4.1.0)

DomNode->node_value — Returns value of a node

Описание

string DomNode->node_value ( void )

Returns value of the node. The value has different meanings for the different types of nodes as illustrated in the following table.

Meaning of value
Type | Meaning
DomAttribute | value of attribute
DomAttribute |
DomCDataSection | content
DomComment | content of comment
DomDocument | null
DomDocumentType | null
DomElement | null
DomEntity | null
DomEntityReference | null
DomNotation | null
DomProcessingInstruction | entire content without target
DomText | content of text

DomNode->node_type
DomNode->owner_document
DOM XML (PHP 4) Функции


Returns the document this node belongs to

DomNode->node_value
DomNode->parent_node
DOM XML (PHP 4) Функции
PHP Manual

DomNode->owner_document

(PHP 4 >= 4.1.0)

DomNode->owner_document — Returns the document this node belongs to

Описание

domdocument DomNode->owner_document ( void )

This function returns the document the current node belongs to.

The following example will create two identical lists of children.

Пример #1 Finding the document of a node

<?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);
?>

See also domnode_insert_before().

DomNode->node_value
DomNode->parent_node
DOM XML (PHP 4) Функции


Returns the parent of the node

DomNode->owner_document
DomNode->prefix
DOM XML (PHP 4) Функции
PHP Manual

DomNode->parent_node

(PHP 4 >= 4.1.0)

DomNode->parent_node — Returns the parent of the node

Описание

domnode DomNode->parent_node ( void )

This function returns the parent node.

(PHP >= 4.3 only) If no parent is found, NULL is returned.

The following example will show two identical lists of children.

Пример #1 Finding the document of a node

<?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) Функции


Returns name space prefix of node

DomNode->parent_node
DomNode->previous_sibling
DOM XML (PHP 4) Функции
PHP Manual

DomNode->prefix

(PHP 4 >= 4.1.0)

DomNode->prefix — Returns name space prefix of node

Описание

string DomNode->prefix ( void )

Returns the name space prefix of the node.

DomNode->parent_node
DomNode->previous_sibling
DOM XML (PHP 4) Функции


Returns the previous sibling of node

DomNode->prefix
DomNode->remove_child
DOM XML (PHP 4) Функции
PHP Manual

DomNode->previous_sibling

(PHP 4 >= 4.1.0)

DomNode->previous_sibling — Returns the previous sibling of node

Описание

domelement DomNode->previous_sibling ( void )

This function returns the previous sibling of the current node. If there is no previous sibling it returns FALSE (< 4.3) or NULL (>= 4.3). You can use this function to iterate over all children of a node as shown in the example.

See also domnode_next_sibling().

DomNode->prefix
DomNode->remove_child
DOM XML (PHP 4) Функции


Removes child from list of children

DomNode->previous_sibling
DomNode->replace_child
DOM XML (PHP 4) Функции
PHP Manual

DomNode->remove_child

(PHP 4 >= 4.2.0)

DomNode->remove_child — Removes child from list of children

Описание

domtext DomNode->remove_child ( domtext $oldchild )

This functions removes a child from a list of children. If child cannot be removed or is not a child the function will return FALSE. If the child could be removed the functions returns the old child.

Пример #1 Removing a child

<?php
include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
  echo "Error while parsing the document\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>";
?>

See also domnode_append_child().

DomNode->previous_sibling
DomNode->replace_child
DOM XML (PHP 4) Функции


Replaces a child

DomNode->remove_child
DomNode->replace_node
DOM XML (PHP 4) Функции
PHP Manual

DomNode->replace_child

(PHP 4 >= 4.2.0)

DomNode->replace_child — Replaces a child

Описание

domelement DomNode->replace_child ( domelement $newnode , domelement $oldnode )

(PHP 4.2) This function replaces the child oldnode with the passed new node. If the new node is already a child it will not be added a second time. If the old node cannot be found the function returns FALSE. If the replacement succeeds the old node is returned.

(PHP 4.3) This function replaces the child oldnode with the passed newnode , even if the new node already is a child of the DomNode. If newnode was already inserted in the document it is first unlinked from its existing context. If the old node cannot be found the function returns FALSE. If the replacement succeeds the old node is returned. (This behaviour is according to the W3C specs).

See also domnode_append_child()

DomNode->remove_child
DomNode->replace_node
DOM XML (PHP 4) Функции


Replaces node

DomNode->replace_child
DomNode->set_content
DOM XML (PHP 4) Функции
PHP Manual

DomNode->replace_node

(PHP 4 >= 4.2.0)

DomNode->replace_node — Replaces node

Описание

domelement DomNode->replace_node ( domelement $newnode )

(PHP 4.2) This function replaces an existing node with the passed new node. Before the replacement newnode is copied if it has a parent to make sure a node which is already in the document will not be inserted a second time. This behaviour enforces doing all modifications on the node before the replacement or to refetch the inserted node afterwards with functions like domnode_first_child(), domnode_child_nodes() etc..

(PHP 4.3) This function replaces an existing node with the passed new node. It is not copied anymore. If newnode was already inserted in the document it is first unlinked from its existing context. If the replacement succeeds the old node is returned.

See also domnode_append_child()

DomNode->replace_child
DomNode->set_content
DOM XML (PHP 4) Функции


Sets content of node

DomNode->replace_node
DomNode->set_name
DOM XML (PHP 4) Функции
PHP Manual

DomNode->set_content

(PHP 4 >= 4.1.0)

DomNode->set_content — Sets content of node

Описание

bool DomNode->set_content ( string $content )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

DomNode->replace_node
DomNode->set_name
DOM XML (PHP 4) Функции


Sets name of node

DomNode->set_content
DomNode->set_namespace
DOM XML (PHP 4) Функции
PHP Manual

DomNode->set_name

(PHP 4 >= 4.1.0)

DomNode->set_name — Sets name of node

Описание

bool DomNode->set_name ( void )

Sets name of node.

See also domnode_node_name().

DomNode->set_content
DomNode->set_namespace
DOM XML (PHP 4) Функции


Sets namespace of a node

DomNode->set_name
DomNode->unlink_node
DOM XML (PHP 4) Функции
PHP Manual

DomNode->set_namespace

(PHP 4 >= 4.3.0)

DomNode->set_namespace — Sets namespace of a node

Описание

void DomNode->set_namespace ( string $uri [, string $prefix ] )

Sets the namespace of a node to uri . If there is already a namespace declaration with the same uri in one of the parent nodes of the node, the prefix of this is taken, otherwise it will take the one provided in the optional parameter prefix or generate a random one.

See also domdocument_create_element_ns(), and domnode_add_namespace()

DomNode->set_name
DomNode->unlink_node
DOM XML (PHP 4) Функции


Deletes node

DomNode->set_namespace
DomProcessingInstruction->data
DOM XML (PHP 4) Функции
PHP Manual

DomNode->unlink_node

(PHP 4 >= 4.1.0)

DomNode->unlink_node — Deletes node

Описание

void DomNode->unlink_node ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

DomNode->set_namespace
DomProcessingInstruction->data
DOM XML (PHP 4) Функции


Returns the data of ProcessingInstruction node

DomNode->unlink_node
DomProcessingInstruction->target
DOM XML (PHP 4) Функции
PHP Manual

DomProcessingInstruction->data

(PHP 4 >= 4.1.0)

DomProcessingInstruction->data — Returns the data of ProcessingInstruction node

Описание

DomProcessingInstruction
string data ( void )

This method gets the data of the ProcessingInstruction node.

Возвращаемые значения

Returns the data of the Processing Instruction.

Migrating to PHP 5

Use the data property of DOMProcessingInstruction.

DomNode->unlink_node
DomProcessingInstruction->target
DOM XML (PHP 4) Функции


Returns the target of a ProcessingInstruction node

DomProcessingInstruction->data
DomXsltStylesheet->process
DOM XML (PHP 4) Функции
PHP Manual

DomProcessingInstruction->target

(PHP 4 >= 4.1.0)

DomProcessingInstruction->target — Returns the target of a ProcessingInstruction node

Описание

DomProcessingInstruction
string target ( void )

This method gets the target of the ProcessingInstruction node.

Возвращаемые значения

Returns the target of the Processing Instruction.

Migrating to PHP 5

Use the target property of DOMProcessingInstruction.

DomProcessingInstruction->data
DomXsltStylesheet->process
DOM XML (PHP 4) Функции


Applies the XSLT-Transformation on a DomDocument Object

DomProcessingInstruction->target
DomXsltStylesheet->result_dump_file
DOM XML (PHP 4) Функции
PHP Manual

DomXsltStylesheet->process

(PHP 4 >= 4.1.0)

DomXsltStylesheet->process — Applies the XSLT-Transformation on a DomDocument Object

Описание

DomXsltStylesheet
DomDocument process ( DomDocument $xml_doc [, array $xslt_params [, bool $is_xpath_param [, string $profile_filename ]]] )

Applies an XSLT Transformation on the given DomDocument object.

Список параметров

xml_doc

The XML document being transformed, as a DomDocument object.

xslt_params

An associative array that takes pairs of parameter names and values.

is_xpath_param

If set to FALSE the values of the xslt_params will be quoted. This is the default behavior. It allows you to pass the values as PHP strings.

Замечание: If your strings contains both single and double quotes, you must take care of quoting all the values by yourself and set this parameter to TRUE.

profile_filename

Set this to the path of a filename, if you want profiling information.

Возвращаемые значения

Returns the result of the processing, as a DomDocument object.

Migrating to PHP 5

Use XSLTProcessor::setParameter() and XSLTProcessor::transform-to-doc().

Список изменений

Версия | Описание
4.3.0 | The profile_filename parameter was added.

Смотрите также

  • domxml_xslt_stylesheet() - Creates a DomXsltStylesheet object from an XSL document in a string
  • domxml_xslt_stylesheet_file() - Creates a DomXsltStylesheet Object from an XSL document in a file
  • domxml_xslt_stylesheet_doc() - Creates a DomXsltStylesheet Object from a DomDocument Object

DomProcessingInstruction->target
DomXsltStylesheet->result_dump_file
DOM XML (PHP 4) Функции


Dumps the result from a XSLT-Transformation into a file

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 — Dumps the result from a XSLT-Transformation into a file

Описание

DomXsltStylesheet
string result_dump_file ( DomDocument $xmldoc , string $filename )

Since DomXsltStylesheet->process always returns a well-formed XML DomDocument, no matter what output method was declared in

<xsl:output>
and similar attributes/elements, it's of not much use, if you want to output HTML 4 or text data.

This function on the contrary honors

<xsl:output method="html|text">
and other output control directives. See the example for instruction on how to use it.

Примеры

Пример #1 Saving the result of a XSLT transformation in a file

<?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) Функции


Dumps the result from a XSLT-Transformation back into a string

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 — Dumps the result from a XSLT-Transformation back into a string

Описание

DomXsltStylesheet
string result_dump_mem ( DomDocument $xmldoc )

Since DomXsltStylesheet->process always returns a well-formed XML DomDocument, no matter what output method was declared in

<xsl:output>
and similar attributes/elements, it's of not much use, if you want to output HTML 4 or text data.

This function on the contrary honors

<xsl:output method="html|text">
and other output control directives. See the example for instruction on how to use it.

Примеры

Пример #1 Outputting the result of a XSLT transformation

<?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) Функции


Creates new empty XML document

DomXsltStylesheet->result_dump_mem
domxml_open_file
DOM XML (PHP 4) Функции
PHP Manual

domxml_new_doc

(PHP 4 >= 4.2.0)

domxml_new_doc — Creates new empty XML document

Описание

DomDocument domxml_new_doc ( string $version )

Creates a new Dom document from scratch and returns it.

Список параметров

version

The XML version number of the document.

Возвращаемые значения

Returns a new DomDocument instance.

DomXsltStylesheet->result_dump_mem
domxml_open_file
DOM XML (PHP 4) Функции


Creates a DOM object from an XML file

domxml_new_doc
domxml_open_mem
DOM XML (PHP 4) Функции
PHP Manual

domxml_open_file

(PHP 4 >= 4.2.0)

domxml_open_file — Creates a DOM object from an XML file

Описание

DomDocument domxml_open_file ( string $filename [, int $mode [, array &$error ]] )

The function parses the XML document in the given file.

Список параметров

filename

The path to the XML file. The file is accessed in read-only mode.

mode

This optional parameter can be used to change the behavior of this function.

You can use one of the following constants for it: DOMXML_LOAD_PARSING (default), DOMXML_LOAD_VALIDATING or DOMXML_LOAD_RECOVERING. You can add to it also DOMXML_LOAD_DONT_KEEP_BLANKS, DOMXML_LOAD_SUBSTITUTE_ENTITIES and DOMXML_LOAD_COMPLETE_ATTRS by bitwise or.

error

If used, it will contain the error messages. error must be passed in by reference.

Возвращаемые значения

Returns a DomDocument instance of the given file.

Примеры

Пример #1 Opening an XML document from a file

<?php

if (!$dom = domxml_open_file("example.xml")) {
  echo "Error while parsing the document\n";
  exit;
}

$root = $dom->document_element();
?>

Список изменений

Версия | Описание
4.3.0 | The parameters mode and error were added.

Смотрите также

  • domxml_open_mem() - Creates a DOM object of an XML document
  • domxml_new_doc() - Creates new empty XML document

domxml_new_doc
domxml_open_mem
DOM XML (PHP 4) Функции


Creates a DOM object of an XML document

domxml_open_file
domxml_version
DOM XML (PHP 4) Функции
PHP Manual

domxml_open_mem

(PHP 4 >= 4.2.0)

domxml_open_mem — Creates a DOM object of an XML document

Описание

DomDocument domxml_open_mem ( string $str [, int $mode [, array &$error ]] )

The function parses the XML document in the given string.

Список параметров

str

The contents of the XML file.

mode

This optional parameter can be used to change the behavior of this function.

You can use one of the following constants for it: DOMXML_LOAD_PARSING (default), DOMXML_LOAD_VALIDATING or DOMXML_LOAD_RECOVERING. You can add to it also DOMXML_LOAD_DONT_KEEP_BLANKS, DOMXML_LOAD_SUBSTITUTE_ENTITIES and DOMXML_LOAD_COMPLETE_ATTRS by bitwise or.

error

If used, it will contain the error messages. error must be passed in by reference.

Возвращаемые значения

Returns a DomDocument instance of the given XML contents.

Список изменений

Версия | Описание
4.3.0 | The mode and error parameters were added.

Примеры

Пример #1 Opening an XML document in a string

<?php
include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
  echo "Error while parsing the document\n";
  exit;
}

$root = $dom->document_element();
?>

Смотрите также

  • domxml_open_file() - Creates a DOM object from an XML file
  • domxml_new_doc() - Creates new empty XML document

domxml_open_file
domxml_version
DOM XML (PHP 4) Функции


Gets the XML library version

domxml_open_mem
domxml_xmltree
DOM XML (PHP 4) Функции
PHP Manual

domxml_version

(PHP 4 >= 4.1.0)

domxml_version — Gets the XML library version

Описание

string domxml_version ( void )

Gets the version of the XML library currently used.

Возвращаемые значения

The version of the XML library, as a string.

Примеры

Пример #1 domxml_version() Example

<?php

echo domxml_version();

?>

Результатом выполнения данного примера будет что-то подобное:

20607

domxml_open_mem
domxml_xmltree
DOM XML (PHP 4) Функции


Creates a tree of PHP objects from an XML document

domxml_version
domxml_xslt_stylesheet_doc
DOM XML (PHP 4) Функции
PHP Manual

domxml_xmltree

(PHP 4 >= 4.2.0)

domxml_xmltree — Creates a tree of PHP objects from an XML document

Описание

DomDocument domxml_xmltree ( string $str )

The function parses the XML document in str and returns a tree PHP objects as the parsed document.

This function is isolated from the other functions, which means you cannot access the tree with any of the other functions. Modifying it, for example by adding nodes, makes no sense since there is currently no way to dump it as an XML file.

However this function may be valuable if you want to read a file and investigate the content.

Список параметров

str

The contents of the XML file.

Возвращаемые значения

Returns a tree of Dom objects starting by a DomDocument.

domxml_version
domxml_xslt_stylesheet_doc
DOM XML (PHP 4) Функции


Creates a DomXsltStylesheet Object from a DomDocument Object

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 — Creates a DomXsltStylesheet Object from a DomDocument Object

Описание

DomXsltStylesheet domxml_xslt_stylesheet_doc ( DomDocument $xsl_doc )

Creates a DomXsltStylesheet object from the given XSL document.

Список параметров

xsl_doc

The XSL document, as a DomDocument object.

Возвращаемые значения

Returns a new instance of DomXsltStylesheet.

Migrating to PHP 5

Call XSLTProcessor::importStylesheet() with the xsl_doc parameter.

Смотрите также

  • DomXsltStylesheet->process
  • domxml_xslt_stylesheet() - Creates a DomXsltStylesheet object from an XSL document in a string
  • domxml_xslt_stylesheet_file() - Creates a DomXsltStylesheet Object from an XSL document in a file

domxml_xmltree
domxml_xslt_stylesheet_file
DOM XML (PHP 4) Функции


Creates a DomXsltStylesheet Object from an XSL document in a file

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 — Creates a DomXsltStylesheet Object from an XSL document in a file

Описание

DomXsltStylesheet domxml_xslt_stylesheet_file ( string $xsl_file )

Creates a DomXsltStylesheet object from the given XSL file.

Список параметров

xsl_file

The path to the XSL document, as a string.

Возвращаемые значения

Returns a new instance of DomXsltStylesheet.

Migrating to PHP 5

Call XSLTProcessor::importStylesheet() with DOMDocument::load($xsl_file) as parameter.

Смотрите также

  • DomXsltStylesheet->process
  • domxml_xslt_stylesheet() - Creates a DomXsltStylesheet object from an XSL document in a string
  • domxml_xslt_stylesheet_doc() - Creates a DomXsltStylesheet Object from a DomDocument Object

domxml_xslt_stylesheet_doc
domxml_xslt_stylesheet
DOM XML (PHP 4) Функции


Creates a DomXsltStylesheet object from an XSL document in a string

domxml_xslt_stylesheet_file
domxml_xslt_version
DOM XML (PHP 4) Функции
PHP Manual

domxml_xslt_stylesheet

(PHP 4 >= 4.2.0)

domxml_xslt_stylesheet — Creates a DomXsltStylesheet object from an XSL document in a string

Описание

DomXsltStylesheet domxml_xslt_stylesheet ( string $xsl_buf )

Creates a DomXsltStylesheet object from the given XSL buffer.

Список параметров

xsl_buf

The XSL document, as a string.

Возвращаемые значения

Returns a new instance of DomXsltStylesheet.

Migrating to PHP 5

Call XSLTProcessor::importStylesheet() with DOMDocument::loadXML($xsl_buf) as parameter.

Смотрите также

  • DomXsltStylesheet->process
  • domxml_xslt_stylesheet_file() - Creates a DomXsltStylesheet Object from an XSL document in a file
  • domxml_xslt_stylesheet_doc() - Creates a DomXsltStylesheet Object from a DomDocument Object

domxml_xslt_stylesheet_file
domxml_xslt_version
DOM XML (PHP 4) Функции


Gets the XSLT library version

domxml_xslt_stylesheet
xpath_eval_expression
DOM XML (PHP 4) Функции
PHP Manual

domxml_xslt_version

(PHP 4 >= 4.2.0)

domxml_xslt_version — Gets the XSLT library version

Описание

int domxml_xslt_version ( void )

Gets the XSLT library version.

Возвращаемые значения

Returns the version number of the XSLT library, as an integer.

Примеры

Пример #1 domxml_xslt_version() Example

<?php

echo domxml_xslt_version();

?>

Результатом выполнения данного примера будет что-то подобное:

10112

Смотрите также

  • domxml_version() - Gets the XML library version

domxml_xslt_stylesheet
xpath_eval_expression
DOM XML (PHP 4) Функции


Evaluates the XPath Location Path in the given string

domxml_xslt_version
xpath_eval
DOM XML (PHP 4) Функции
PHP Manual

xpath_eval_expression

(PHP 4)

xpath_eval_expression — Evaluates the XPath Location Path in the given string

Описание

XPathContext
XPathObject xpath_eval_expression ( string $expression [, domnode $contextnode ] )
XPathObject xpath_eval_expression ( XPathContext $xpath_context , string $expression [, domnode $contextnode ] )

Пример #1 xpath_eval_expression() Example

<?php

include("example.inc");

if (!$dom = domxml_open_mem($xmlstr)) {
    echo "Error while parsing the document\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)
     }
  }
}

See also xpath_eval().

domxml_xslt_version
xpath_eval
DOM XML (PHP 4) Функции


Evaluates the XPath Location Path in the given string

xpath_eval_expression
xpath_new_context
DOM XML (PHP 4) Функции
PHP Manual

xpath_eval

(PHP 4)

xpath_eval — Evaluates the XPath Location Path in the given string

Описание

XPathContext
XPathObject xpath_eval ( string $xpath_expression [, domnode $contextnode ] )
XPathObject xpath_eval ( XPathContext $xpath_context , string $xpath_expression [, domnode $contextnode ] )

The optional contextnode can be specified for doing relative XPath queries.

See also xpath_new_context().

xpath_eval_expression
xpath_new_context
DOM XML (PHP 4) Функции


Creates new xpath context

xpath_eval
xpath_register_ns_auto
DOM XML (PHP 4) Функции
PHP Manual

xpath_new_context

(PHP 4)

xpath_new_context — Creates new xpath context

Описание

XPathContext xpath_new_context ( domdocument $dom_document )

Creates a new xpath context.

Смотрите также

  • xpath_eval() - Evaluates the XPath Location Path in the given string

xpath_eval
xpath_register_ns_auto
DOM XML (PHP 4) Функции


Register the given namespace in the passed XPath context

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 — Register the given namespace in the passed XPath context

Описание

bool xpath_register_ns_auto ( XPathContext $xpath_context [, object $context_node ] )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • xpath_register_ns() - Register the given namespace in the passed XPath context

xpath_new_context
xpath_register_ns
DOM XML (PHP 4) Функции


Register the given namespace in the passed XPath context

xpath_register_ns_auto
xptr_eval
DOM XML (PHP 4) Функции
PHP Manual

xpath_register_ns

(PHP 4 >= 4.2.0)

xpath_register_ns — Register the given namespace in the passed XPath context

Описание

bool xpath_register_ns ( XPathContext $xpath_context , string $prefix , string $uri )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • xpath_register_ns_auto() - Register the given namespace in the passed XPath context

xpath_register_ns_auto
xptr_eval
DOM XML (PHP 4) Функции


Evaluate the XPtr Location Path in the given string

xpath_register_ns
xptr_new_context
DOM XML (PHP 4) Функции
PHP Manual

xptr_eval

(PHP 4)

xptr_eval — Evaluate the XPtr Location Path in the given string

Описание

XPathContext
int 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) Функции


Create new XPath Context

xptr_eval
libxml
DOM XML (PHP 4) Функции
PHP Manual

xptr_new_context

(PHP 4)

xptr_new_context — Create new XPath Context

Описание

XPathContext xptr_new_context ( void )

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

xptr_eval
libxml
DOM XML (PHP 4) Функции


libxml

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • libXMLError — The libXMLError class
  • libxml Функции
    • libxml_clear_errors — Clear libxml error buffer
    • libxml_get_errors — Retrieve array of errors
    • libxml_get_last_error — Retrieve last error from libxml
    • libxml_set_streams_context — Set the streams context for the next libxml document load or write
    • libxml_use_internal_errors — Disable libxml errors and allow user to fetch error information as needed
xptr_new_context
Введение
XML Manipulation


Введение

These functions/constants are available since PHP 5.1.0 and if you have compiled one of the extensions based on libxml, like DOM, SimpleXML and XSLT.

libxml
Установка и настройка
libxml


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
libxml


Требования

This extension requires » libxml >= 2.6.0.

Установка и настройка
Установка
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение подгружается во время выполнения.

LIBXML_COMPACT (integer)
Activate small nodes allocation optimization. This may speed up your application without needing to change the code.

Замечание: Only available in Libxml >= 2.6.21

LIBXML_DTDATTR (integer)
Default DTD attributes
LIBXML_DTDLOAD (integer)
Load the external subset
LIBXML_DTDVALID (integer)
Validate with the DTD
LIBXML_NOBLANKS (integer)
Remove blank nodes
LIBXML_NOCDATA (integer)
Merge CDATA as text nodes
LIBXML_NOEMPTYTAG (integer)
Expand empty tags (e.g. <br/> to <br></br>)

Замечание: This option is currently just available in the DOMDocument::save and DOMDocument::saveXML functions.

LIBXML_NOENT (integer)
Substitute entities
LIBXML_NOERROR (integer)
Suppress error reports
LIBXML_NONET (integer)
Disable network access when loading documents
LIBXML_NOWARNING (integer)
Suppress warning reports
LIBXML_NOXMLDECL (integer)
Drop the XML declaration when saving a document

Замечание: Only available in Libxml >= 2.6.21

LIBXML_NSCLEAN (integer)
Remove redundant namespaces declarations
LIBXML_XINCLUDE (integer)
Implement XInclude substitution
LIBXML_ERR_ERROR (integer)
A recoverable error
LIBXML_ERR_FATAL (integer)
A fatal error
LIBXML_ERR_NONE (integer)
No errors
LIBXML_ERR_WARNING (integer)
A simple warning
LIBXML_VERSION (integer)
libxml version like 20605 or 20617
LIBXML_DOTTED_VERSION (string)
libxml version like 2.6.5 or 2.6.17
Типы ресурсов
libXMLError
libxml


The libXMLError class

Введение

Contains various information about errors thrown by libxml.

Class synopsis

libXMLError
libXMLError {
/* Properties */
public int $level ;
public int $code ;
public int $column ;
public string $message ;
public string $file ;
public int $line ;
}

Свойства

level

the severity of the error (one of the following constants: LIBXML_ERR_WARNING, LIBXML_ERR_ERROR or LIBXML_ERR_FATAL)

code

The error's code.

column

The column where the error occurred.

Замечание: This property isn't entirely implemented in libxml and therefore 0 is often returned.

message

The error message, if any.

file

The filename, or empty if the XML was loaded from a string.

line

The line where the error occurred.

Предопределенные константы
libxml Функции
libxml


libxml Функции

Содержание

  • libxml_clear_errors — Clear libxml error buffer
  • libxml_get_errors — Retrieve array of errors
  • libxml_get_last_error — Retrieve last error from libxml
  • libxml_set_streams_context — Set the streams context for the next libxml document load or write
  • libxml_use_internal_errors — Disable libxml errors and allow user to fetch error information as needed
libXMLError
libxml_clear_errors
libxml


Clear libxml error buffer

libxml Функции
libxml_get_errors
libxml Функции
PHP Manual

libxml_clear_errors

(PHP 5 >= 5.1.0)

libxml_clear_errors — Clear libxml error buffer

Описание

void libxml_clear_errors ( void )

libxml_clear_errors() clears the libxml error buffer.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • libxml_get_errors() - Retrieve array of errors
  • libxml_get_last_error() - Retrieve last error from libxml

libxml Функции
libxml_get_errors
libxml Функции


Retrieve array of errors

libxml_clear_errors
libxml_get_last_error
libxml Функции
PHP Manual

libxml_get_errors

(PHP 5 >= 5.1.0)

libxml_get_errors — Retrieve array of errors

Описание

array libxml_get_errors ( void )

Retrieve array of errors.

Возвращаемые значения

Returns an array with LibXMLError objects if there are any errors in the buffer, or an empty array otherwise.

Примеры

Пример #1 A libxml_get_errors() example

This example demonstrates how to build a simple libxml error handler.

<?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: 0

--------------------------------------------

Смотрите также

  • libxml_get_last_error() - Retrieve last error from libxml
  • libxml_clear_errors() - Clear libxml error buffer

libxml_clear_errors
libxml_get_last_error
libxml Функции


Retrieve last error from libxml

libxml_get_errors
libxml_set_streams_context
libxml Функции
PHP Manual

libxml_get_last_error

(PHP 5 >= 5.1.0)

libxml_get_last_error — Retrieve last error from libxml

Описание

LibXMLError libxml_get_last_error ( void )

Retrieve last error from libxml.

Возвращаемые значения

Returns a LibXMLError object if there is any error in the buffer, FALSE otherwise.

Смотрите также

  • libxml_get_errors() - Retrieve array of errors
  • libxml_clear_errors() - Clear libxml error buffer

libxml_get_errors
libxml_set_streams_context
libxml Функции


Set the streams context for the next libxml document load or write

libxml_get_last_error
libxml_use_internal_errors
libxml Функции
PHP Manual

libxml_set_streams_context

(PHP 5)

libxml_set_streams_context — Set the streams context for the next libxml document load or write

Описание

void libxml_set_streams_context ( resource $streams_context )

Sets the streams context for the next libxml document load or write.

Список параметров

streams_context

The stream context resource (created with stream_context_create())

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 A libxml_set_streams_context() example

<?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() - Create a streams context

libxml_get_last_error
libxml_use_internal_errors
libxml Функции


Disable libxml errors and allow user to fetch error information as needed

libxml_set_streams_context
qtdom
libxml Функции
PHP Manual

libxml_use_internal_errors

(PHP 5 >= 5.1.0)

libxml_use_internal_errors — Disable libxml errors and allow user to fetch error information as needed

Описание

bool libxml_use_internal_errors ([ bool $use_errors= false ] )

libxml_use_internal_errors() allows you to disable standard libxml errors and enable user error handling.

Список параметров

use_errors

Whether to enable user error handling. Defaults to FALSE.

Возвращаемые значения

This function returns the previous value of use_errors .

Примеры

Пример #1 A libxml_use_internal_errors() example

This example demonstrates the basic usage of libxml errors and the value returned by this function.

<?php

// enable user error handling
var_dump(libxml_use_internal_errors(true));

$doc = DOMDocument::load('file.xml');

if (!$doc) {
    $errors = libxml_get_errors();
    foreach ($errors as $error) {
        // handle errors here
    }

    libxml_clear_errors();
}

?>

Результат выполнения данного примера:

bool(false)

Смотрите также

  • libxml_clear_errors() - Clear libxml error buffer
  • libxml_get_errors() - Retrieve array of errors

libxml_set_streams_context
qtdom
libxml Функции


qtdom

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • qtdom Функции
    • qdom_error — Returns the error string from the last QDOM operation or FALSE if no errors occurred
    • qdom_tree — Creates a tree of an XML string
libxml_use_internal_errors
Введение
XML Manipulation


Введение

Внимание

Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, включая имена его функций и относящуюся к нему документацию, может измениться в последующих версиях PHP без уведомления. Используйте это расширение на свой страх и риск.

Замечание: Для Windows-платформ это расширение недоступно.

Замечание: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 5.0.0.

qtdom
Установка и настройка
qtdom


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
qtdom


Требования

You need the Qt-library >=2.2.0

Установка и настройка
Установка
Установка и настройка


Установка

Configure PHP --with-qtdom to use these functions.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
qtdom Функции
qtdom


qtdom Функции

Содержание

  • qdom_error — Returns the error string from the last QDOM operation or FALSE if no errors occurred
  • qdom_tree — Creates a tree of an XML string
Предопределенные константы
qdom_error
qtdom


Returns the error string from the last QDOM operation or FALSE if no errors occurred

qtdom Функции
qdom_tree
qtdom Функции
PHP Manual

qdom_error

(PHP 4 >= 4.0.5)

qdom_error — Returns the error string from the last QDOM operation or FALSE if no errors occurred

Описание

string qdom_error ( void )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

qtdom Функции
qdom_tree
qtdom Функции


Creates a tree of an XML string

qdom_error
SDO
qtdom Функции
PHP Manual

qdom_tree

(PHP 4 >= 4.0.4)

qdom_tree — Creates a tree of an XML string

Описание

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 Manipulation


Введение

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/.

Установка и настройка
Установка
Установка и настройка


Установка

Замечание: 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 CVS.

  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 the Unicode-enabled version of PHP. See Unicode Functions.

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.

Errors/Exceptions

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.

Errors/Exceptions

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.

Errors/Exceptions

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.

Errors/Exceptions

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.

Errors/Exceptions

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.

Errors/Exceptions

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 Manipulation


Введение

Внимание

Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, включая имена его функций и относящуюся к нему документацию, может измениться в последующих версиях 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 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 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.

Errors/Exceptions

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 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 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.

Errors/Exceptions

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.

Errors/Exceptions

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 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 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.

Errors/Exceptions

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 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.

Errors/Exceptions

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 Manipulation


Введение

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="ISO-8859-1"?>
.../...

Пример #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 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.

Errors/Exceptions

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.

Errors/Exceptions

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.

Errors/Exceptions

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.

Errors/Exceptions

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.

Errors/Exceptions

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.

Errors/Exceptions

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.

Errors/Exceptions

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

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Include file example.php with XML string
  • SimpleXML Функции
    • SimpleXMLElement::addAttribute — Adds an attribute to the SimpleXML element
    • SimpleXMLElement::addChild — Adds a child element to the XML node
    • SimpleXMLElement::asXML — Return a well-formed XML string based on SimpleXML element
    • SimpleXMLElement::attributes — Identifies an element's attributes
    • SimpleXMLElement::children — Finds children of given node
    • SimpleXMLElement::__construct — Creates a new SimpleXMLElement object
    • SimpleXMLElement::getDocNamespaces — Returns namespaces declared in document
    • SimpleXMLElement::getName — Gets the name of the XML element
    • SimpleXMLElement::getNamespaces — Returns namespaces used in document
    • SimpleXMLElement::registerXPathNamespace — Creates a prefix/ns context for the next XPath query
    • SimpleXMLElement::xpath — Runs XPath query on XML data
    • simplexml_import_dom — Get a SimpleXMLElement object from a DOM node.
    • simplexml_load_file — Interprets an XML file into an object
    • simplexml_load_string — Interprets a string of XML into an object
SDO_DAS_XML::saveString
Введение
XML Manipulation


Введение

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


Требования

The SimpleXML extension requires PHP 5.

Установка и настройка
Установка
Установка и настройка


Установка

The SimpleXML extension is enabled by default. To disable it, use the --disable-simplexml configure option.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Примеры
SimpleXML


Примеры

Содержание

  • Include file example.php with XML string
Предопределенные константы
Include file example.php with XML string
SimpleXML


Include file example.php with XML string

Примеры
SimpleXML Функции
Примеры
PHP Manual

Many examples in this reference require an XML string. Instead of repeating this string in every example, we put it into a file which we include in each example. This included file is shown in the following example section. Alternatively, you could create an XML document and read it with simplexml_load_file().

Пример #1 Include file example.php with XML string

<?php
$xmlstr = <<<XML
<?xml version='1.0' standalone='yes'?>
<movies>
 <movie>
  <title>PHP: Behind the Parser</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>
   So, this language. It's like, a programming language. Or is it a
   scripting language? All is revealed in this thrilling horror spoof
   of a documentary.
  </plot>
  <great-lines>
   <line>PHP solves all my web problems</line>
  </great-lines>
  <rating type="thumbs">7</rating>
  <rating type="stars">5</rating>
 </movie>
</movies>
XML;
?>

The simplicity of SimpleXML appears most clearly when one extracts a string or number from a basic XML document.

Пример #2 Getting <plot>

<?php
include 'example.php';

$xml = new SimpleXMLElement($xmlstr);

echo $xml->movie[0]->plot; // "So this language. It's like..."
?>

Accessing elements within an XML document 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.

Пример #3 Getting <line>

<?php
include 'example.php';

$xml = new SimpleXMLElement($xmlstr);

echo $xml->movie->{'great-lines'}->line; // "PHP solves all my web problems"
?>

Пример #4 Accessing non-unique elements in SimpleXML

When multiple instances of an element exist as children of a single parent element, normal iteration techniques apply.

<?php
include 'example.php';

$xml = new SimpleXMLElement($xmlstr);

/* For each <movie> node, we echo a separate <plot>. */
foreach ($xml->movie as $movie) {
   echo $movie->plot, '<br />';
}

?>

Пример #5 Using attributes

So far, we have only covered the work of reading element names and their values. SimpleXML can also access element attributes. Access attributes of an element just as you would elements of an array.

<?php
include 'example.php';

$xml = new SimpleXMLElement($xmlstr);

/* Access the <rating> nodes of the first movie.
 * Output the rating scale, too. */
foreach ($xml->movie[0]->rating as $rating) {
    switch((string) $rating['type']) { // Get attributes as element indices
    case 'thumbs':
        echo $rating, ' thumbs up';
        break;
    case 'stars':
        echo $rating, ' stars';
        break;
    }
}
?>

Пример #6 Comparing Elements and Attributes with Text

To compare an element or attribute with a string or pass it into a function that requires a string, you must cast it to a string using (string). Otherwise, PHP treats the element as an object.

<?php
include 'example.php';

$xml = new SimpleXMLElement($xmlstr);

if ((string) $xml->movie->title == 'PHP: Behind the Parser') {
    print 'My favorite movie.';
}

htmlentities((string) $xml->movie->title);
?>

Пример #7 Comparing Two Elements

Two SimpleXMLElements are considered different even if they point to the same element since PHP 5.2.0.

<?php
$el1 = new SimpleXMLElement($xmlstr);
$el2 = new SimpleXMLElement($xmlstr);
var_dump($el1 == $el2); // false since PHP 5.2.0
?>

Пример #8 Using XPath

SimpleXML includes built-in XPath support. To find all <character> elements:

<?php
include 'example.php';
$xml = new SimpleXMLElement($xmlstr);

foreach ($xml->xpath('//character') as $character) {
    echo $character->name, 'played by ', $character->actor, '<br />';
}
?>

'//' serves as a wildcard. To specify absolute paths, omit one of the slashes.

Пример #9 Setting values

Data in SimpleXML doesn't have to be constant. The object allows for manipulation of all of its elements.

<?php
include 'example.php';
$xml = new SimpleXMLElement($xmlstr);

$xml->movie[0]->characters->character[0]->name = 'Miss Coder';

echo $xml->asXML();
?>

The above code will output a new XML document, just like the original, except that the new XML will change Ms. Coder to Miss Coder.

Пример #10 Adding elements and attributes

Since PHP 5.1.3, SimpleXML has had the ability to easily add children and attributes.

<?php
include 'example.php';
$xml = new SimpleXMLElement($xmlstr);

$character = $xml->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 $xml->asXML();
?>

The above code will output an XML document based on the original but having a new character and rating.

Пример #11 DOM Interoperability

PHP has a mechanism to convert XML nodes between SimpleXML and DOM formats. This example shows how one might change a DOM element to SimpleXML.

<?php
$dom = new domDocument;
$dom->loadXML('<books><book><title>blah</title></book></books>');
if (!$dom) {
     echo 'Error while parsing the document';
     exit;
}

$s = simplexml_import_dom($dom);

echo $s->book[0]->title;
?>

Примеры
SimpleXML Функции
Примеры


SimpleXML Функции

Содержание

  • SimpleXMLElement::addAttribute — Adds an attribute to the SimpleXML element
  • SimpleXMLElement::addChild — Adds a child element to the XML node
  • SimpleXMLElement::asXML — Return a well-formed XML string based on SimpleXML element
  • SimpleXMLElement::attributes — Identifies an element's attributes
  • SimpleXMLElement::children — Finds children of given node
  • SimpleXMLElement::__construct — Creates a new SimpleXMLElement object
  • SimpleXMLElement::getDocNamespaces — Returns namespaces declared in document
  • SimpleXMLElement::getName — Gets the name of the XML element
  • SimpleXMLElement::getNamespaces — Returns namespaces used in document
  • SimpleXMLElement::registerXPathNamespace — Creates a prefix/ns context for the next XPath query
  • SimpleXMLElement::xpath — Runs XPath query on XML data
  • simplexml_import_dom — Get a SimpleXMLElement object from a DOM node.
  • simplexml_load_file — Interprets an XML file into an object
  • simplexml_load_string — Interprets a string of XML into an object
Include file example.php with XML string
SimpleXMLElement::addAttribute
SimpleXML


Adds an attribute to the SimpleXML element

SimpleXML Функции
SimpleXMLElement::addChild
SimpleXML Функции
PHP Manual

SimpleXMLElement::addAttribute

(PHP 5 >= 5.1.3)

SimpleXMLElement::addAttribute — Adds an attribute to the SimpleXML element

Описание

SimpleXMLElement
void addAttribute ( string $name , string $value [, string $namespace ] )

Adds an attribute to the SimpleXML element.

Список параметров

name

The name of the attribute to add.

value

The value of the attribute.

namespace

If specified, the namespace to which the attribute belongs.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Add attributes and children to a SimpleXML element

<?php

include 'example.php';

$sxe = new SimpleXMLElement($xmlstr);
$sxe->addAttribute('type', 'documentary');

$movie = $sxe->addChild('movie');
$movie->addChild('title', 'PHP2: More Parser Stories');
$movie->addChild('plot', 'This is all about the people who make it work.');

$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();

?>

Смотрите также

  • SimpleXMLElement::addChild - Adds a child element to the XML node

SimpleXML Функции
SimpleXMLElement::addChild
SimpleXML Функции


Adds a child element to the XML node

SimpleXMLElement::addAttribute
SimpleXMLElement::asXML
SimpleXML Функции
PHP Manual

SimpleXMLElement::addChild

(PHP 5 >= 5.1.3)

SimpleXMLElement::addChild — Adds a child element to the XML node

Описание

SimpleXMLElement
SimpleXMLElement addChild ( string $name [, string $value [, string $namespace ]] )

Adds a child element to the node and returns a SimpleXMLElement of the child.

Список параметров

name

The name of the child element to add.

value

If specified, the value of the child element.

namespace

If specified, the namespace to which the child element belongs.

Возвращаемые значения

The addChild method returns a SimpleXMLElement object representing the child added to the XML node.

Примеры

Пример #1 Add attributes and children to a SimpleXML element

<?php

include 'example.php';

$sxe = new SimpleXMLElement($xmlstr);
$sxe->addAttribute('type', 'documentary');

$movie = $sxe->addChild('movie');
$movie->addChild('title', 'PHP2: More Parser Stories');
$movie->addChild('plot', 'This is all about the people who make it work.');

$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();

?>

Смотрите также

  • SimpleXMLElement::addAttribute - Adds an attribute to the SimpleXML element

SimpleXMLElement::addAttribute
SimpleXMLElement::asXML
SimpleXML Функции


Return a well-formed XML string based on SimpleXML element

SimpleXMLElement::addChild
SimpleXMLElement::attributes
SimpleXML Функции
PHP Manual

SimpleXMLElement::asXML

(PHP 5 >= 5.0.1)

SimpleXMLElement::asXML — Return a well-formed XML string based on SimpleXML element

Описание

SimpleXMLElement
mixed asXML ([ string $filename ] )

The asXML method formats the parent object's data in XML version 1.0.

Список параметров

filename

If specified, the function writes the data to the file rather than returning it.

Возвращаемые значения

If the filename isn't specified, this function returns a string on success and FALSE on error. If the parameter is specified, it returns TRUE if the file was written successfully and FALSE otherwise.

Примеры

Пример #1 Get XML

<?php
$string = <<<XML
<a>
 <b>
  <c>text</c>
  <c>stuff</c>
 </b>
 <d>
  <c>code</c>
 </d>
</a>
XML;

$xml = new SimpleXMLElement($string);

echo $xml->asXML(); // <?xml ... <a><b><c>text</c><c>stuff</c> ...

?>

asXML also works on Xpath results:

Пример #2 Using asXML() on SimpleXMLElement::xpath results

<?php
// Continued from example XML above.

/* Search for <a><b><c> */
$result = $xml->xpath('/a/b/c');

while(list( , $node) = each($result)) {
    echo $node->asXML(); // <c>text</c> and <c>stuff</c>
}
?>

SimpleXMLElement::addChild
SimpleXMLElement::attributes
SimpleXML Функции


Identifies an element's attributes

SimpleXMLElement::asXML
SimpleXMLElement::children
SimpleXML Функции
PHP Manual

SimpleXMLElement::attributes

(PHP 5 >= 5.0.1)

SimpleXMLElement::attributes — Identifies an element's attributes

Описание

SimpleXMLElement
SimpleXMLElement attributes ([ string $ns [, bool $is_prefix ]] )

This function provides the attributes and values defined within an xml tag.

Замечание: SimpleXML содержит правило добавления итеративных свойств к большинству методов. Они не могут быть просмотрены с испольванием var_dump() или каких-либо других средств анализа объектов.

Список параметров

ns

An optional namespace for the retrieved attributes

is_prefix

Default to FALSE

Возвращаемые значения

Примеры

Пример #1 Interpret an XML string

<?php
$string = <<<XML
<a xmlns:b>
 <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"

SimpleXMLElement::asXML
SimpleXMLElement::children
SimpleXML Функции


Finds children of given node

SimpleXMLElement::attributes
SimpleXMLElement::__construct
SimpleXML Функции
PHP Manual

SimpleXMLElement::children

(PHP 5 >= 5.0.1)

SimpleXMLElement::children — Finds children of given node

Описание

SimpleXMLElement
SimpleXMLElement children ([ string $ns [, bool $is_prefix ]] )

This method finds the children of the element of which it is a member. The result follows normal iteration rules.

Замечание: SimpleXML содержит правило добавления итеративных свойств к большинству методов. Они не могут быть просмотрены с испольванием var_dump() или каких-либо других средств анализа объектов.

Список параметров

ns

is_prefix

Default to FALSE

Возвращаемые значения

Список изменений

Версия | Описание
5.2.0 | The optional parameter is_prefix was added.

Примеры

Пример #1 Traversing a children() pseudo-array

<?php
$xml = new SimpleXMLElement(
'<person>
 <child role="son">
  <child role="daughter"/>
 </child>
 <child role="daughter">
  <child role="son">
   <child role="son"/>
  </child>
 </child>
</person>');

foreach ($xml->children() as $second_gen) {
    echo ' The person begot a ' . $second_gen['role'];

    foreach ($second_gen->children() as $third_gen) {
        echo ' who begot a ' . $third_gen['role'] . ';';

        foreach ($third_gen->children() as $fourth_gen) {
            echo ' and that ' . $third_gen['role'] .
                ' begot a ' . $fourth_gen['role'];
        }
    }
}
?>

Результат выполнения данного примера:

The person begot a son who begot a daughter; The person
begot a daughter who begot a son; and that son begot a son

SimpleXMLElement::attributes
SimpleXMLElement::__construct
SimpleXML Функции


Creates a new SimpleXMLElement object

SimpleXMLElement::children
SimpleXMLElement::getDocNamespaces
SimpleXML Функции
PHP Manual

SimpleXMLElement::__construct

(PHP 5 >= 5.0.1)

SimpleXMLElement::__construct — Creates a new SimpleXMLElement object

Описание

SimpleXMLElement
__construct ( string $data [, int $options [, bool $data_is_url [, string $ns [, bool $is_prefix ]]]] )

Creates a new SimpleXMLElement object.

Список параметров

data

A well-formed XML string or the path or URL to an XML document if data_is_url is TRUE.

options

Optionally used to specify additional Libxml parameters.

data_is_url

By default, data_is_url is FALSE. Use TRUE to specify that data is a path or URL to an XML document instead of string data.

ns

is_prefix

Возвращаемые значения

Returns a SimpleXMLElement object representing data .

Errors/Exceptions

Produces an E_WARNING error message for each error found in the XML data and throws an exception if errors were detected.

Примеры

Пример #1 Create a SimpleXMLElement object

<?php

include 'example.php';

$sxe = new SimpleXMLElement($xmlstr);
echo $sxe->movie[0]->title;

?>

Пример #2 Create a SimpleXMLElement object from a URL

<?php

$sxe = new SimpleXMLElement('http://example.org/document.xml', NULL, TRUE);
echo $sxe->asXML();

?>

Смотрите также

  • simplexml_load_string() - Interprets a string of XML into an object
  • simplexml_load_file() - Interprets an XML file into an object

SimpleXMLElement::children
SimpleXMLElement::getDocNamespaces
SimpleXML Функции


Returns namespaces declared in document

SimpleXMLElement::__construct
SimpleXMLElement::getName
SimpleXML Функции
PHP Manual

SimpleXMLElement::getDocNamespaces

(PHP 5 >= 5.1.2)

SimpleXMLElement::getDocNamespaces — Returns namespaces declared in document

Описание

SimpleXMLElement
array getDocNamespaces ([ bool $recursive ] )

Returns namespaces declared in document

Список параметров

recursive

If specified, returns all namespaces declared in parent and child nodes. Otherwise, returns only namespaces declared in root node.

Возвращаемые значения

The getDocNamespaces method returns an array of namespace names with their associated URIs.

Примеры

Пример #1 Get document namespaces

<?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);

?>

Пример #2 Working with multiple namespaces

<?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);

?>

Смотрите также

  • SimpleXMLElement::getNamespaces - Returns namespaces used in document
  • SimpleXMLElement::registerXPathNamespace - Creates a prefix/ns context for the next XPath query

SimpleXMLElement::__construct
SimpleXMLElement::getName
SimpleXML Функции


Gets the name of the XML element

SimpleXMLElement::getDocNamespaces
SimpleXMLElement::getNamespaces
SimpleXML Функции
PHP Manual

SimpleXMLElement::getName

(PHP 5 >= 5.1.3)

SimpleXMLElement::getName — Gets the name of the XML element

Описание

SimpleXMLElement
string getName ( void )

Gets the name of the XML element.

Возвращаемые значения

The getName method returns as a string the name of the XML tag referenced by the SimpleXMLElement object.

Примеры

Пример #1 Get XML element names

<?php

$sxe = new SimpleXMLElement($xmlstr);

echo $sxe->getName() . "\n";

foreach ($sxe->children() as $child)
{
    echo $child->getName() . "\n";
}

?>

SimpleXMLElement::getDocNamespaces
SimpleXMLElement::getNamespaces
SimpleXML Функции


Returns namespaces used in document

SimpleXMLElement::getName
SimpleXMLElement::registerXPathNamespace
SimpleXML Функции
PHP Manual

SimpleXMLElement::getNamespaces

(PHP 5 >= 5.1.2)

SimpleXMLElement::getNamespaces — Returns namespaces used in document

Описание

SimpleXMLElement
array getNamespaces ([ bool $recursive ] )

Returns namespaces used in document

Список параметров

recursive

If specified, returns all namespaces used in parent and child nodes. Otherwise, returns only namespaces used in root node.

Возвращаемые значения

The getNamespaces method returns an array of namespace names with their associated URIs.

Примеры

Пример #1 Get document namespaces in use

<?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 - Returns namespaces declared in document
  • SimpleXMLElement::registerXPathNamespace - Creates a prefix/ns context for the next XPath query

SimpleXMLElement::getName
SimpleXMLElement::registerXPathNamespace
SimpleXML Функции


Creates a prefix/ns context for the next XPath query

SimpleXMLElement::getNamespaces
SimpleXMLElement::xpath
SimpleXML Функции
PHP Manual

SimpleXMLElement::registerXPathNamespace

(PHP 5 >= 5.2.0)

SimpleXMLElement::registerXPathNamespace — Creates a prefix/ns context for the next XPath query

Описание

SimpleXMLElement
bool registerXPathNamespace ( string $prefix , string $ns )

Creates a prefix/ns context for the next XPath query. In particular, this is helpful if the provider of the given XML document alters the namespace prefixes. registerXPathNamespace will create a prefix for the associated namespace, allowing one to access nodes in that namespace without the need to change code to allow for the new prefixes dictated by the provider.

Список параметров

prefix

The namespace prefix to use in the XPath query for the namespace given in ns .

ns

The namespace to use for the XPath query. This must match a namespace in use by the XML document or the XPath query using prefix will not return any results.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Setting a namespace prefix to use in an XPath query

<?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";
}

?>

Notice how the XML document shown in the example sets a namespace with a prefix of chap. Imagine that this document (or another one like it) may have used a prefix of c in the past for the same namespace. Since it has changed, the XPath query will no longer return the proper results and the query will require modification. Using registerXPathNamespace avoids future modification of the query even if the provider changes the namespace prefix.

Смотрите также

  • SimpleXMLElement::getDocNamespaces - Returns namespaces declared in document
  • SimpleXMLElement::getNamespaces - Returns namespaces used in document

SimpleXMLElement::getNamespaces
SimpleXMLElement::xpath
SimpleXML Функции


Runs XPath query on XML data

SimpleXMLElement::registerXPathNamespace
simplexml_import_dom
SimpleXML Функции
PHP Manual

SimpleXMLElement::xpath

(PHP 5 >= 5.2.0)

SimpleXMLElement::xpath — Runs XPath query on XML data

Описание

SimpleXMLElement
array xpath ( string $path )

The xpath method searches the SimpleXML node for children matching the XPath path .

Список параметров

path

An XPath path

Возвращаемые значения

Returns an array of SimpleXMLElement objects or FALSE in case of an error.

Примеры

Пример #1 Xpath

<?php
$string = <<<XML
<a>
 <b>
  <c>text</c>
  <c>stuff</c>
 </b>
 <d>
  <c>code</c>
 </d>
</a>
XML;

$xml = new SimpleXMLElement($string);

/* Search for <a><b><c> */
$result = $xml->xpath('/a/b/c');

while(list( , $node) = each($result)) {
    echo '/a/b/c: ',$node,"\n";
}

/* Relative paths also work... */
$result = $xml->xpath('b/c');

while(list( , $node) = each($result)) {
    echo 'b/c: ',$node,"\n";
}
?>

Результат выполнения данного примера:

/a/b/c: text
/a/b/c: stuff
b/c: text
b/c: stuff

Notice that the two results are equal.

SimpleXMLElement::registerXPathNamespace
simplexml_import_dom
SimpleXML Функции


Get a SimpleXMLElement object from a DOM node.

SimpleXMLElement::xpath
simplexml_load_file
SimpleXML Функции
PHP Manual

simplexml_import_dom

(PHP 5)

simplexml_import_dom — Get a SimpleXMLElement object from a DOM node.

Описание

SimpleXMLElement simplexml_import_dom ( DOMNode $node [, string $class_name= "SimpleXMLElement" ] )

This function takes a node of a DOM document and makes it into a SimpleXML node. This new object can then be used as a native SimpleXML element.

Список параметров

node

A DOM Element node

class_name

You may use this optional parameter so that simplexml_import_dom() will return an object of the specified class. That class should extend the SimpleXMLElement class.

Возвращаемые значения

Returns a SimpleXMLElement or FALSE on failure.

Примеры

Пример #1 Importing DOM

<?php
$dom = new DOMDocument;
$dom->loadXML('<books><book><title>blah</title></book></books>');
if (!$dom) {
    echo 'Error while parsing the document';
    exit;
}

$s = simplexml_import_dom($dom);

echo $s->book[0]->title; // blah
?>

Смотрите также

  • dom_import_simplexml() - Gets a DOMElement object from a SimpleXMLElement object

SimpleXMLElement::xpath
simplexml_load_file
SimpleXML Функции


Interprets an XML file into an object

simplexml_import_dom
simplexml_load_string
SimpleXML Функции
PHP Manual

simplexml_load_file

(PHP 5)

simplexml_load_file — Interprets an XML file into an object

Описание

object simplexml_load_file ( string $filename [, string $class_name= "SimpleXMLElement" [, int $options= 0 [, string $ns [, bool $is_prefix= false ]]]] )

Convert the well-formed XML document in the given file to an object.

Список параметров

filename

Path to the XML file

Замечание: Libxml 2 unescapes the URI, so if you want to pass e.g. b&c as the URI parameter a, you have to call simplexml_load_file(rawurlencode('http://example.com/?a=' . urlencode('b&c'))). Since PHP 5.1.0 you don't need to do this because PHP will do it for you.

class_name

You may use this optional parameter so that simplexml_load_file() will return an object of the specified class. That class should extend the SimpleXMLElement class.

options

Since PHP 5.1.0 and Libxml 2.6.0, you may also use the options parameter to specify additional Libxml parameters.

ns

is_prefix

Возвращаемые значения

Returns an object of class SimpleXMLElement with properties containing the data held within the XML document. On errors, it will return FALSE.

Примеры

Пример #1 Interpret an XML document

<?php
// The file test.xml contains an XML document with a root element
// and at least an element /[root]/title.

if (file_exists('test.xml')) {
    $xml = simplexml_load_file('test.xml');

    print_r($xml);
} else {
    exit('Failed to open test.xml.');
}
?>

This script will display, on success:

SimpleXMLElement Object
(
  [title] => Example Title
  ...
)

At this point, you can go about using $xml->title and any other elements.

Смотрите также

  • simplexml_load_string() - Interprets a string of XML into an object
  • SimpleXMLElement::__construct - Creates a new SimpleXMLElement object

simplexml_import_dom
simplexml_load_string
SimpleXML Функции


Interprets a string of XML into an object

simplexml_load_file
WDDX
SimpleXML Функции
PHP Manual

simplexml_load_string

(PHP 5)

simplexml_load_string — Interprets a string of XML into an object

Описание

object simplexml_load_string ( string $data [, string $class_name= "SimpleXMLElement" [, int $options= 0 [, string $ns [, bool $is_prefix= false ]]]] )

Takes a well-formed XML string and returns it as an object.

Список параметров

data

A well-formed XML string

class_name

You may use this optional parameter so that simplexml_load_string() will return an object of the specified class. That class should extend the SimpleXMLElement class.

options

Since PHP 5.1.0 and Libxml 2.6.0, you may also use the options parameter to specify additional Libxml parameters.

ns

is_prefix

Возвращаемые значения

Returns an object of class SimpleXMLElement with properties containing the data held within the xml document. On errors, it will return FALSE.

Примеры

Пример #1 Interpret an XML string

<?php
$string = <<<XML
<?xml version='1.0'?>
<document>
 <title>Forty What?</title>
 <from>Joe</from>
 <to>Jane</to>
 <body>
  I know that's the answer -- but what's the question?
 </body>
</document>
XML;

$xml = simplexml_load_string($string);

var_dump($xml);
?>

Результат выполнения данного примера:

SimpleXMLElement Object
(
  [title] => Forty What?
  [from] => Joe
  [to] => Jane
  [body] =>
   I know that's the answer -- but what's the question?
)

At this point, you can go about using $xml->body and such.

Смотрите также

  • simplexml_load_file() - Interprets an XML file into an object
  • SimpleXMLElement::__construct - Creates a new SimpleXMLElement object

simplexml_load_file
WDDX
SimpleXML Функции


WDDX

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • Serializing a single value with WDDX
  • WDDX Функции
    • wddx_add_vars — Add variables to a WDDX packet with the specified ID
    • wddx_deserialize — Псевдоним wddx_unserialize
    • 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_unserialize — Unserializes a WDDX packet
simplexml_load_string
Введение
XML Manipulation


Введение

These functions are intended for work with » WDDX.

WDDX
Установка и настройка
WDDX


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
WDDX


Требования

In order to use WDDX, you will need to install the expat library (which comes with Apache 1.3.7 or higher).

Установка и настройка
Установка
Установка и настройка


Установка

After installing expat compile PHP with --enable-wddx.

Версия PHP для Windows имеет встроенную поддержку данного расширения. Это означает, что для использования данных функций не требуется загрузка никаких дополнительных расширений.

Требования
Настройка во время выполнения
Установка и настройка


Типы ресурсов

This extension defines a WDDX packet identifier returned by wddx_packet_start().

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
Примеры
WDDX


Примеры

Содержание

  • Serializing a single value with WDDX
Предопределенные константы
Serializing a single value with WDDX
WDDX


Serializing a single value with WDDX

Примеры
WDDX Функции
Примеры
PHP Manual

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 — Псевдоним wddx_unserialize
  • 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_unserialize — Unserializes a WDDX packet
Serializing a single value with WDDX
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 Функции


Псевдоним wddx_unserialize

wddx_add_vars
wddx_packet_end
WDDX Функции
PHP Manual

wddx_deserialize

(PHP 4, PHP 5)

wddx_deserialize — Псевдоним wddx_unserialize()

Описание

Эта функция является псевдонимом wddx_unserialize().

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
wddx_unserialize
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
wddx_unserialize
WDDX Функции


Unserializes a WDDX packet

wddx_serialize_vars
XML Parser
WDDX Функции
PHP Manual

wddx_unserialize

(PHP 4, PHP 5)

wddx_unserialize — Unserializes a WDDX packet

Описание

mixed wddx_unserialize ( string $packet )

Unserializes a WDDX packet .

Список параметров

packet

A WDDX packet, as a string or stream.

Возвращаемые значения

Returns the unserialized value which can be a string, a number or an array. Note that structures are unserialized into associative arrays.

wddx_serialize_vars
XML Parser
WDDX Функции


XML Parser

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Event Handlers
  • Case Folding
  • Error Codes
  • Character Encoding
  • Примеры
    • XML Element Structure Example
    • XML Tag Mapping Example
    • XML External Entity Example
  • XML Parser Функции
    • utf8_decode — Converts a string with ISO-8859-1 characters encoded with UTF-8 to single-byte ISO-8859-1
    • utf8_encode — Encodes an ISO-8859-1 string to UTF-8
    • xml_error_string — Get XML parser error string
    • xml_get_current_byte_index — Get current byte index for an XML parser
    • xml_get_current_column_number — Get current column number for an XML parser
    • xml_get_current_line_number — Get current line number for an XML parser
    • xml_get_error_code — Get XML parser error code
    • xml_parse_into_struct — Parse XML data into an array structure
    • xml_parse — Start parsing an XML document
    • xml_parser_create_ns — Create an XML parser with namespace support
    • xml_parser_create — Create an XML parser
    • xml_parser_free — Free an XML parser
    • xml_parser_get_option — Get options from an XML parser
    • xml_parser_set_option — Set options in an XML parser
    • xml_set_character_data_handler — Set up character data handler
    • xml_set_default_handler — Set up default handler
    • xml_set_element_handler — Set up start and end element handlers
    • xml_set_end_namespace_decl_handler — Set up end namespace declaration handler
    • xml_set_external_entity_ref_handler — Set up external entity reference handler
    • xml_set_notation_decl_handler — Set up notation declaration handler
    • xml_set_object — Use XML Parser within an object
    • xml_set_processing_instruction_handler — Set up processing instruction (PI) handler
    • xml_set_start_namespace_decl_handler — Set up start namespace declaration handler
    • xml_set_unparsed_entity_decl_handler — Set up unparsed entity declaration handler
wddx_unserialize
Введение
XML Manipulation


Введение

XML (eXtensible Markup Language) is a data format for structured document interchange on the Web. It is a standard defined by The World Wide Web consortium (W3C). Information about XML and related technologies can be found at » http://www.w3.org/XML/.

This PHP extension implements support for James Clark's expat in PHP. This toolkit lets you parse, but not validate, XML documents. It supports three source character encodings also provided by PHP: US-ASCII, ISO-8859-1 and UTF-8. UTF-16 is not supported.

This extension lets you create XML parsers and then define handlers for different XML events. Each XML parser also has a few parameters you can adjust.

XML Parser
Установка и настройка
XML Parser


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
XML Parser


Требования

This extension uses an expat compat layer by default. It can use also expat, which can be found at » http://www.jclark.com/xml/expat.html. The Makefile that comes with expat does not build a library by default, you can use this make rule for that:

libexpat.a: $(OBJS)
    ar -rc $@ $(OBJS)
    ranlib $@

A source RPM package of expat can be found at » http://sourceforge.net/projects/expat/.

Установка и настройка
Установка
Установка и настройка


Установка

These functions are enabled by default, using the bundled expat library. You can disable XML support with --disable-xml. If you compile PHP as a module for Apache 1.3.9 or later, PHP will automatically use the bundled expat library from Apache. In order you don't want to use the bundled expat library configure PHP --with-expat-dir=DIR, where DIR should point to the base installation directory of expat.

Версия PHP для Windows имеет встроенную поддержку данного расширения. Это означает, что для использования данных функций не требуется загрузка никаких дополнительных расширений.

Требования
Настройка во время выполнения
Установка и настройка


Типы ресурсов

The xml resource as returned by xml_parser_create() and xml_parser_create_ns() references an xml parser instance to be used with the functions provided by this extension.

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если 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)
Holds the SAX implementation method. Can be libxml or expat.
Типы ресурсов
Event Handlers
XML Parser


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.

Предопределенные константы
Case Folding
XML Parser


Case Folding

The element handler functions may get their element names case-folded. Case-folding is defined as "a process applied to a sequence of characters, in which those identified as non-uppercase are replaced by their uppercase equivalents". In other words, when it comes to XML, case-folding simply means uppercasing.

By default, all the element names that are passed to the handler functions are case-folded. This behaviour can be queried and controlled per XML parser with the xml_parser_get_option() and xml_parser_set_option() functions, respectively.

Event Handlers
Error Codes
XML Parser


Error Codes

The following constants are defined for XML error codes (as returned by 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

Case Folding
Character Encoding
XML Parser


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.

Error Codes
Примеры
XML Parser


Примеры

Содержание

  • XML Element Structure Example
  • XML Tag Mapping Example
  • XML External Entity Example
Character Encoding
XML Element Structure Example
XML Parser


XML Element Structure Example

This first example displays the structure of the start elements in a document with indentation.

Пример #1 Show XML Element Structure

<?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("could not open XML input");
}

while ($data = fread($fp, 4096)) {
    if (!xml_parse($xml_parser, $data, feof($fp))) {
        die(sprintf("XML error: %s at line %d",
                    xml_error_string(xml_get_error_code($xml_parser)),
                    xml_get_current_line_number($xml_parser)));
    }
}
xml_parser_free($xml_parser);
?>

Примеры
XML Tag Mapping Example
Примеры


XML Tag Mapping Example

Пример #1 Map XML to HTML

This example maps tags in an XML document directly to HTML tags. Elements not found in the "map array" are ignored. Of course, this example will only work with a specific XML document type.

<?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("could not open XML input");
}

while ($data = fread($fp, 4096)) {
    if (!xml_parse($xml_parser, $data, feof($fp))) {
        die(sprintf("XML error: %s at line %d",
                    xml_error_string(xml_get_error_code($xml_parser)),
                    xml_get_current_line_number($xml_parser)));
    }
}
xml_parser_free($xml_parser);
?>

XML Element Structure Example
XML External Entity Example
Примеры


XML External Entity Example

This example highlights XML code. It illustrates how to use an external entity reference handler to include and parse other documents, as well as how PIs can be processed, and a way of determining "trust" for PIs containing code.

XML documents that can be used for this example are found below the example (xmltest.xml and xmltest2.xml.)

Пример #1 External Entity Example

<?php
$file = "xmltest.xml";

function trustedFile($file)
{
    // only trust local files owned by ourselves
    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 the parsed document is "trusted", we say it is safe
            // to execute PHP code inside it.  If not, display the code
            // instead.
            if (trustedFile($parser_file[$parser])) {
                eval($data);
            } else {
                printf("Untrusted PHP code: <i>%s</i>",
                        htmlspecialchars($data));
            }
            break;
    }
}

function defaultHandler($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("Could not open entity %s at %s\n", $openEntityNames,
                   $systemId);
            return false;
        }
        while ($data = fread($fp, 4096)) {
            if (!xml_parse($parser, $data, feof($fp))) {
                printf("XML error: %s at line %d while parsing entity %s\n",
                       xml_error_string(xml_get_error_code($parser)),
                       xml_get_current_line_number($parser), $openEntityNames);
                xml_parser_free($parser);
                return false;
            }
        }
        xml_parser_free($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("could not open XML input");
}

echo "<pre>";
while ($data = fread($fp, 4096)) {
    if (!xml_parse($xml_parser, $data, feof($fp))) {
        die(sprintf("XML error: %s at line %d\n",
                    xml_error_string(xml_get_error_code($xml_parser)),
                    xml_get_current_line_number($xml_parser)));
    }
}
echo "</pre>";
echo "parse complete\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>

This file is included from xmltest.xml:

Пример #3 xmltest2.xml

<?xml version="1.0"?>
<!DOCTYPE foo [
<!ENTITY testEnt "test entity">
]>
<foo>
   <element attrib="value"/>
   &testEnt;
   <?php echo "This is some more PHP code being executed."; ?>
</foo>

XML Tag Mapping Example
XML Parser Функции
Примеры


XML Parser Функции

Содержание

  • utf8_decode — Converts a string with ISO-8859-1 characters encoded with UTF-8 to single-byte ISO-8859-1
  • utf8_encode — Encodes an ISO-8859-1 string to UTF-8
  • xml_error_string — Get XML parser error string
  • xml_get_current_byte_index — Get current byte index for an XML parser
  • xml_get_current_column_number — Get current column number for an XML parser
  • xml_get_current_line_number — Get current line number for an XML parser
  • xml_get_error_code — Get XML parser error code
  • xml_parse_into_struct — Parse XML data into an array structure
  • xml_parse — Start parsing an XML document
  • xml_parser_create_ns — Create an XML parser with namespace support
  • xml_parser_create — Create an XML parser
  • xml_parser_free — Free an XML parser
  • xml_parser_get_option — Get options from an XML parser
  • xml_parser_set_option — Set options in an XML parser
  • xml_set_character_data_handler — Set up character data handler
  • xml_set_default_handler — Set up default handler
  • xml_set_element_handler — Set up start and end element handlers
  • xml_set_end_namespace_decl_handler — Set up end namespace declaration handler
  • xml_set_external_entity_ref_handler — Set up external entity reference handler
  • xml_set_notation_decl_handler — Set up notation declaration handler
  • xml_set_object — Use XML Parser within an object
  • xml_set_processing_instruction_handler — Set up processing instruction (PI) handler
  • xml_set_start_namespace_decl_handler — Set up start namespace declaration handler
  • xml_set_unparsed_entity_decl_handler — Set up unparsed entity declaration handler
XML External Entity Example
utf8_decode
XML Parser


Converts a string with ISO-8859-1 characters encoded with UTF-8 to single-byte ISO-8859-1

XML Parser Функции
utf8_encode
XML Parser Функции
PHP Manual

utf8_decode

(PHP 4, PHP 5)

utf8_decode — Converts a string with ISO-8859-1 characters encoded with UTF-8 to single-byte ISO-8859-1

Описание

string utf8_decode ( string $data )

This function decodes data , assumed to be UTF-8 encoded, to ISO-8859-1.

Список параметров

data

An UTF-8 encoded string.

Возвращаемые значения

Returns the ISO-8859-1 translation of data .

Смотрите также

  • utf8_encode() - Encodes an ISO-8859-1 string to UTF-8 for an explanation of UTF-8 encoding

XML Parser Функции
utf8_encode
XML Parser Функции


Encodes an ISO-8859-1 string to UTF-8

utf8_decode
xml_error_string
XML Parser Функции
PHP Manual

utf8_encode

(PHP 4, PHP 5)

utf8_encode — Encodes an ISO-8859-1 string to UTF-8

Описание

string utf8_encode ( string $data )

This function encodes the string data to UTF-8, and returns the encoded version. UTF-8 is a standard mechanism used by Unicode for encoding wide character values into a byte stream. UTF-8 is transparent to plain ASCII characters, is self-synchronized (meaning it is possible for a program to figure out where in the bytestream characters start) and can be used with normal string comparison functions for sorting and such. PHP encodes UTF-8 characters in up to four bytes, like this:

UTF-8 encoding
bytes | bits | representation
1 | 7 | 0bbbbbbb
2 | 11 | 110bbbbb 10bbbbbb
3 | 16 | 1110bbbb 10bbbbbb 10bbbbbb
4 | 21 | 11110bbb 10bbbbbb 10bbbbbb 10bbbbbb

Each b represents a bit that can be used to store character data.

Список параметров

data

An ISO-8859-1 string.

Возвращаемые значения

Returns the UTF-8 translation of data .

utf8_decode
xml_error_string
XML Parser Функции


Get XML parser error string

utf8_encode
xml_get_current_byte_index
XML Parser Функции
PHP Manual

xml_error_string

(PHP 4, PHP 5)

xml_error_string — Get XML parser error string

Описание

string xml_error_string ( int $code )

Gets the XML parser error string associated with the given code .

Список параметров

code

An error code from xml_get_error_code().

Возвращаемые значения

Returns a string with a textual description of the error code , or FALSE if no description was found.

Смотрите также

  • xml_get_error_code() - Get XML parser error code

utf8_encode
xml_get_current_byte_index
XML Parser Функции


Get current byte index for an XML parser

xml_error_string
xml_get_current_column_number
XML Parser Функции
PHP Manual

xml_get_current_byte_index

(PHP 4, PHP 5)

xml_get_current_byte_index — Get current byte index for an XML parser

Описание

int xml_get_current_byte_index ( resource $parser )

Gets the current byte index of the given XML parser.

Список параметров

parser

A reference to the XML parser to get byte index from.

Возвращаемые значения

This function returns FALSE if parser does not refer to a valid parser, or else it returns which byte index the parser is currently at in its data buffer (starting at 0).

Примечания

Внимание

This function returns byte index according to UTF-8 encoded text disregarding if input is in another encoding.

Смотрите также

  • xml_get_current_column_number() - Get current column number for an XML parser
  • xml_get_current_line_number() - Get current line number for an XML parser

xml_error_string
xml_get_current_column_number
XML Parser Функции


Get current column number for an XML parser

xml_get_current_byte_index
xml_get_current_line_number
XML Parser Функции
PHP Manual

xml_get_current_column_number

(PHP 4, PHP 5)

xml_get_current_column_number — Get current column number for an XML parser

Описание

int xml_get_current_column_number ( resource $parser )

Gets the current column number of the given XML parser.

Список параметров

parser

A reference to the XML parser to get column number from.

Возвращаемые значения

This function returns FALSE if parser does not refer to a valid parser, or else it returns which column on the current line (as given by xml_get_current_line_number()) the parser is currently at.

Смотрите также

  • xml_get_current_byte_index() - Get current byte index for an XML parser
  • xml_get_current_line_number() - Get current line number for an XML parser

xml_get_current_byte_index
xml_get_current_line_number
XML Parser Функции


Get current line number for an XML parser

xml_get_current_column_number
xml_get_error_code
XML Parser Функции
PHP Manual

xml_get_current_line_number

(PHP 4, PHP 5)

xml_get_current_line_number — Get current line number for an XML parser

Описание

int xml_get_current_line_number ( resource $parser )

Gets the current line number for the given XML parser.

Список параметров

parser

A reference to the XML parser to get line number from.

Возвращаемые значения

This function returns FALSE if parser does not refer to a valid parser, or else it returns which line the parser is currently at in its data buffer.

Смотрите также

  • xml_get_current_column_number() - Get current column number for an XML parser
  • xml_get_current_byte_index() - Get current byte index for an XML parser

xml_get_current_column_number
xml_get_error_code
XML Parser Функции


Get XML parser error code

xml_get_current_line_number
xml_parse_into_struct
XML Parser Функции
PHP Manual

xml_get_error_code

(PHP 4, PHP 5)

xml_get_error_code — Get XML parser error code

Описание

int xml_get_error_code ( resource $parser )

Gets the XML parser error code.

Список параметров

parser

A reference to the XML parser to get error code from.

Возвращаемые значения

This function returns FALSE if parser does not refer to a valid parser, or else it returns one of the error codes listed in the error codes section.

Смотрите также

  • xml_error_string() - Get XML parser error string

xml_get_current_line_number
xml_parse_into_struct
XML Parser Функции


Parse XML data into an array structure

xml_get_error_code
xml_parse
XML Parser Функции
PHP Manual

xml_parse_into_struct

(PHP 4, PHP 5)

xml_parse_into_struct — Parse XML data into an array structure

Описание

int xml_parse_into_struct ( resource $parser , string $data , array &$values [, array &$index ] )

This function parses an XML file into 2 parallel array structures, one (index ) containing pointers to the location of the appropriate values in the values array. These last two parameters must be passed by reference.

Список параметров

parser

data

values

index

Возвращаемые значения

xml_parse_into_struct() returns 0 for failure and 1 for success. This is not the same as FALSE and TRUE, be careful with operators such as ===.

Примеры

Below is an example that illustrates the internal structure of the arrays being generated by the function. We use a simple note tag embedded inside a para tag, and then we parse this and print out the structures generated:

Пример #1 xml_parse_into_struct() example

<?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 "\nVals array\n";
print_r($vals);
?>

When we run that code, the output will be:

Index array
Array
(
    [PARA] => Array
        (
            [0] => 0
            [1] => 2
        )

    [NOTE] => Array
        (
            [0] => 1
        )

)

Vals array
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
        )

)

Event-driven parsing (based on the expat library) can get complicated when you have an XML document that is complex. This function does not produce a DOM style object, but it generates structures amenable of being transversed in a tree fashion. Thus, we can create objects representing the data in the XML file easily. Let's consider the following XML file representing a small database of aminoacids information:

Пример #2 moldb.xml - small database of molecular information

<?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>

And some code to parse the document and generate the appropriate objects:

Пример #3 parsemoldb.php - parses moldb.xml into an array of molecular objects

<?php

class AminoAcid {
    var $name;  // aa name
    var $symbol;    // three letter symbol
    var $code;  // one letter code
    var $type;  // hydrophobic, charged or neutral

    function AminoAcid ($aa)
    {
        foreach ($aa as $k=>$v)
            $this->$k = $aa[$k];
    }
}

function readDatabase($filename)
{
    // read the XML database of aminoacids
    $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);

    // loop through the structures
    foreach ($tags as $key=>$val) {
        if ($key == "molecule") {
            $molranges = $val;
            // each contiguous pair of array entries are the
            // lower and upper range for each molecule definition
            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 "** Database of AminoAcid objects:\n";
print_r($db);

?>

After executing parsemoldb.php, the variable $db contains an array of AminoAcid objects, and the output of the script confirms that:

** Database of AminoAcid objects:
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 Parser Функции


Start parsing an XML document

xml_parse_into_struct
xml_parser_create_ns
XML Parser Функции
PHP Manual

xml_parse

(PHP 4, PHP 5)

xml_parse — Start parsing an XML document

Описание

int xml_parse ( resource $parser , string $data [, bool $is_final= false ] )

xml_parse() parses an XML document. The handlers for the configured events are called as many times as necessary.

Список параметров

parser

A reference to the XML parser to use.

data

Chunk of data to parse. A document may be parsed piece-wise by calling xml_parse() several times with new data, as long as the is_final parameter is set and TRUE when the last data is parsed.

is_final

If set and TRUE, data is the last piece of data sent in this parse.

Возвращаемые значения

Returns 1 on success or 0 on failure.

For unsuccessful parses, error information can be retrieved with
xml_get_error_code(),
xml_error_string(),
xml_get_current_line_number(),
xml_get_current_column_number() and
xml_get_current_byte_index().

Замечание: Entity errors are reported at the end of the data thus only if is_final is set and TRUE.

xml_parse_into_struct
xml_parser_create_ns
XML Parser Функции


Create an XML parser with namespace support

xml_parse
xml_parser_create
XML Parser Функции
PHP Manual

xml_parser_create_ns

(PHP 4 >= 4.0.5, PHP 5)

xml_parser_create_ns — Create an XML parser with namespace support

Описание

resource xml_parser_create_ns ([ string $encoding [, string $separator ]] )

xml_parser_create_ns() creates a new XML parser with XML namespace support and returns a resource handle referencing it to be used by the other XML functions.

Список параметров

encoding

The optional encoding specifies the character encoding for the input/output in PHP 4. Starting from PHP 5, the input encoding is automatically detected, so that the encoding parameter specifies only the output encoding. In PHP 4, the default output encoding is the same as the input charset. In PHP 5.0.0 and 5.0.1, the default output charset is ISO-8859-1, while in PHP 5.0.2 and upper is UTF-8. The supported encodings are ISO-8859-1, UTF-8 and US-ASCII.

separator

With a namespace aware parser tag parameters passed to the various handler functions will consist of namespace and tag name separated by the string specified in seperator or ':' by default.

Возвращаемые значения

Returns a resource handle for the new XML parser.

Смотрите также

  • xml_parser_create() - Create an XML parser
  • xml_parser_free() - Free an XML parser

xml_parse
xml_parser_create
XML Parser Функции


Create an XML parser

xml_parser_create_ns
xml_parser_free
XML Parser Функции
PHP Manual

xml_parser_create

(PHP 4, PHP 5)

xml_parser_create — Create an XML parser

Описание

resource xml_parser_create ([ string $encoding ] )

xml_parser_create() creates a new XML parser and returns a resource handle referencing it to be used by the other XML functions.

Список параметров

encoding

The optional encoding specifies the character encoding for the input/output in PHP 4. Starting from PHP 5, the input encoding is automatically detected, so that the encoding parameter specifies only the output encoding. In PHP 4, the default output encoding is the same as the input charset. If empty string is passed, the parser attempts to identify which encoding the document is encoded in by looking at the heading 3 or 4 bytes. In PHP 5.0.0 and 5.0.1, the default output charset is ISO-8859-1, while in PHP 5.0.2 and upper is UTF-8. The supported encodings are ISO-8859-1, UTF-8 and US-ASCII.

Возвращаемые значения

Returns a resource handle for the new XML parser.

Смотрите также

  • xml_parser_create_ns() - Create an XML parser with namespace support
  • xml_parser_free() - Free an XML parser

xml_parser_create_ns
xml_parser_free
XML Parser Функции


Free an XML parser

xml_parser_create
xml_parser_get_option
XML Parser Функции
PHP Manual

xml_parser_free

(PHP 4, PHP 5)

xml_parser_free — Free an XML parser

Описание

bool xml_parser_free ( resource $parser )

Frees the given XML parser .

Список параметров

parser
A reference to the XML parser to free.

Возвращаемые значения

This function returns FALSE if parser does not refer to a valid parser, or else it frees the parser and returns TRUE.

xml_parser_create
xml_parser_get_option
XML Parser Функции


Get options from an XML parser

xml_parser_free
xml_parser_set_option
XML Parser Функции
PHP Manual

xml_parser_get_option

(PHP 4, PHP 5)

xml_parser_get_option — Get options from an XML parser

Описание

mixed xml_parser_get_option ( resource $parser , int $option )

Gets an option value from an XML parser.

Список параметров

parser
A reference to the XML parser to get an option from.
option
Which option to fetch. XML_OPTION_CASE_FOLDING and XML_OPTION_TARGET_ENCODING are available. See xml_parser_set_option() for their description.

Возвращаемые значения

This function returns FALSE if parser does not refer to a valid parser or if option isn't valid (generates also a E_WARNING). Else the option's value is returned.

xml_parser_free
xml_parser_set_option
XML Parser Функции


Set options in an XML parser

xml_parser_get_option
xml_set_character_data_handler
XML Parser Функции
PHP Manual

xml_parser_set_option

(PHP 4, PHP 5)

xml_parser_set_option — Set options in an XML parser

Описание

bool xml_parser_set_option ( resource $parser , int $option , mixed $value )

Sets an option in an XML parser.

Список параметров

parser

A reference to the XML parser to set an option in.

option

Which option to set. See below.

The following options are available:

XML parser options
Option constant | Data type | Description
XML_OPTION_CASE_FOLDING | integer | Controls whether case-folding is enabled for this XML parser. Enabled by default.
XML_OPTION_SKIP_TAGSTART | integer | Specify how many characters should be skipped in the beginning of a tag name.
XML_OPTION_SKIP_WHITE | integer | Whether to skip values consisting of whitespace characters.
XML_OPTION_TARGET_ENCODING | string | Sets which target encoding to use in this XML parser.By default, it is set to the same as the source encoding used by xml_parser_create(). Supported target encodings are ISO-8859-1, US-ASCII and UTF-8.

value

The option's new value.

Возвращаемые значения

This function returns FALSE if parser does not refer to a valid parser, or if the option could not be set. Else the option is set and TRUE is returned.

xml_parser_get_option
xml_set_character_data_handler
XML Parser Функции


Set up character data handler

xml_parser_set_option
xml_set_default_handler
XML Parser Функции
PHP Manual

xml_set_character_data_handler

(PHP 4, PHP 5)

xml_set_character_data_handler — Set up character data handler

Описание

bool xml_set_character_data_handler ( resource $parser , callback $handler )

Sets the character data handler function for the XML parser parser .

Список параметров

parser

handler

handler is a string containing the name of a function that must exist when xml_parse() is called for parser .

The function named by handler must accept two parameters:

handler ( resource $parser , string $data )

parser
The first parameter, parser, is a reference to the XML parser calling the handler.
data
The second parameter, data , contains the character data as a string.

Character data handler is called for every piece of a text in the XML document. It can be called multiple times inside each fragment (e.g. for non-ASCII strings).

If a handler function is set to an empty string, or FALSE, the handler in question is disabled.

Замечание: В качестве аргумента вместо имени функции может быть передан массив, содержащий ссылку на объект и имя метода.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

xml_parser_set_option
xml_set_default_handler
XML Parser Функции


Set up default handler

xml_set_character_data_handler
xml_set_element_handler
XML Parser Функции
PHP Manual

xml_set_default_handler

(PHP 4, PHP 5)

xml_set_default_handler — Set up default handler

Описание

bool xml_set_default_handler ( resource $parser , callback $handler )

Sets the default handler function for the XML parser parser .

Список параметров

parser

handler

handler is a string containing the name of a function that must exist when xml_parse() is called for parser .

The function named by handler must accept two parameters:

handler ( resource $parser , string $data )

parser
The first parameter, parser, is a reference to the XML parser calling the handler.
data
The second parameter, data , contains the character data.This may be the XML declaration, document type declaration, entities or other data for which no other handler exists.

If a handler function is set to an empty string, or FALSE, the handler in question is disabled.

Замечание: В качестве аргумента вместо имени функции может быть передан массив, содержащий ссылку на объект и имя метода.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

xml_set_character_data_handler
xml_set_element_handler
XML Parser Функции


Set up start and end element handlers

xml_set_default_handler
xml_set_end_namespace_decl_handler
XML Parser Функции
PHP Manual

xml_set_element_handler

(PHP 4, PHP 5)

xml_set_element_handler — Set up start and end element handlers

Описание

bool xml_set_element_handler ( resource $parser , callback $start_element_handler , callback $end_element_handler )

Sets the element handler functions for the XML parser . start_element_handler and end_element_handler are strings containing the names of functions that must exist when xml_parse() is called for parser .

Список параметров

parser

start_element_handler

The function named by start_element_handler must accept three parameters:

start_element_handler ( resource $parser , string $name , array $attribs )

parser
The first parameter, parser, is a reference to the XML parser calling the handler.
name
The second parameter, name , contains the name of the element for which this handler is called.If case-folding is in effect for this parser, the element name will be in uppercase letters.
attribs
The third parameter, attribs , contains an associative array with the element's attributes (if any).The keys of this array are the attribute names, the values are the attribute values.Attribute names are case-folded on the same criteria as element names.Attribute values are not case-folded. The original order of the attributes can be retrieved by walking through attribs the normal way, using each().The first key in the array was the first attribute, and so on.

Замечание: В качестве аргумента вместо имени функции может быть передан массив, содержащий ссылку на объект и имя метода.

end_element_handler

The function named by end_element_handler must accept two parameters:

end_element_handler ( resource $parser , string $name )

parser
The first parameter, parser, is a reference to the XML parser calling the handler.
name
The second parameter, name , contains the name of the element for which this handler is called.If case-folding is in effect for this parser, the element name will be in uppercase letters.

If a handler function is set to an empty string, or FALSE, the handler in question is disabled.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

xml_set_default_handler
xml_set_end_namespace_decl_handler
XML Parser Функции


Set up end namespace declaration handler

xml_set_element_handler
xml_set_external_entity_ref_handler
XML Parser Функции
PHP Manual

xml_set_end_namespace_decl_handler

(PHP 4 >= 4.0.5, PHP 5)

xml_set_end_namespace_decl_handler — Set up end namespace declaration handler

Описание

bool xml_set_end_namespace_decl_handler ( resource $parser , callback $handler )

Set a handler to be called when leaving the scope of a namespace declaration. This will be called, for each namespace declaration, after the handler for the end tag of the element in which the namespace was declared.

Список параметров

parser

A reference to the XML parser.

handler

handler is a string containing the name of a function that must exist when xml_parse() is called for parser .

The function named by handler must accept three parameters, and should return an integer value. If the value returned from the handler is FALSE (which it will be if no value is returned), the XML parser will stop parsing and xml_get_error_code() will return XML_ERROR_EXTERNAL_ENTITY_HANDLING.

handler ( resource $parser , string $user_data , string $prefix )

parser
The first parameter, parser, is a reference to the XML parser calling the handler.
user_data
prefix

If a handler function is set to an empty string, or FALSE, the handler in question is disabled.

Замечание: В качестве аргумента вместо имени функции может быть передан массив, содержащий ссылку на объект и имя метода.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • xml_set_start_namespace_decl_handler() - Set up start namespace declaration handler

xml_set_element_handler
xml_set_external_entity_ref_handler
XML Parser Функции


Set up external entity reference handler

xml_set_end_namespace_decl_handler
xml_set_notation_decl_handler
XML Parser Функции
PHP Manual

xml_set_external_entity_ref_handler

(PHP 4, PHP 5)

xml_set_external_entity_ref_handler — Set up external entity reference handler

Описание

bool xml_set_external_entity_ref_handler ( resource $parser , callback $handler )

Sets the external entity reference handler function for the XML parser parser .

Список параметров

parser
handler

handler is a string containing the name of a function that must exist when xml_parse() is called for parser .

The function named by handler must accept five parameters, and should return an integer value.If the value returned from the handler is FALSE (which it will be if no value is returned), the XML parser will stop parsing and xml_get_error_code() will return XML_ERROR_EXTERNAL_ENTITY_HANDLING.

handler ( resource $parser , string $open_entity_names , string $base , string $system_id , string $public_id )

parser
The first parameter, parser, is a reference to the XML parser calling the handler.
open_entity_names
The second parameter, open_entity_names , is a space-separated list of the names of the entities that are open for the parse of this entity (including the name of the referenced entity).
base
This is the base for resolving the system identifier (system_id ) of the external entity.Currently this parameter will always be set to an empty string.
system_id
The fourth parameter, system_id , is the system identifier as specified in the entity declaration.
public_id
The fifth parameter, public_id , is the public identifier as specified in the entity declaration, or an empty string if none was specified; the whitespace in the public identifier will have been normalized as required by the XML spec.

If a handler function is set to an empty string, or FALSE, the handler in question is disabled.

Замечание: В качестве аргумента вместо имени функции может быть передан массив, содержащий ссылку на объект и имя метода.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

xml_set_end_namespace_decl_handler
xml_set_notation_decl_handler
XML Parser Функции


Set up notation declaration handler

xml_set_external_entity_ref_handler
xml_set_object
XML Parser Функции
PHP Manual

xml_set_notation_decl_handler

(PHP 4, PHP 5)

xml_set_notation_decl_handler — Set up notation declaration handler

Описание

bool xml_set_notation_decl_handler ( resource $parser , callback $handler )

Sets the notation declaration handler function for the XML parser parser .

A notation declaration is part of the document's DTD and has the following format:

<!NOTATION <parameter>name</parameter>
{ <parameter>systemId</parameter> | <parameter>publicId</parameter>?>

See » section 4.7 of the XML 1.0 spec for the definition of notation declarations.

Список параметров

parser

handler

handler is a string containing the name of a function that must exist when xml_parse() is called for parser .

The function named by handler must accept five parameters:

handler ( resource $parser , string $notation_name , string $base , string $system_id , string $public_id )

parser
The first parameter, parser, is a reference to the XML parser calling the handler.
notation_name
This is the notation's name , as per the notation format described above.
base
This is the base for resolving the system identifier (system_id ) of the notation declaration. Currently this parameter will always be set to an empty string.
system_id
System identifier of the external notation declaration.
public_id
Public identifier of the external notation declaration.

If a handler function is set to an empty string, or FALSE, the handler in question is disabled.

Замечание: В качестве аргумента вместо имени функции может быть передан массив, содержащий ссылку на объект и имя метода.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

xml_set_external_entity_ref_handler
xml_set_object
XML Parser Функции


Use XML Parser within an object

xml_set_notation_decl_handler
xml_set_processing_instruction_handler
XML Parser Функции
PHP Manual

xml_set_object

(PHP 4, PHP 5)

xml_set_object — Use XML Parser within an object

Описание

bool xml_set_object ( resource $parser , object &$object )

This function allows to use parser inside object . All callback functions could be set with xml_set_element_handler() etc and assumed to be methods of object .

Список параметров

parser

object

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 xml_set_object() example

<?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);
    }

} // end of class xml

$xml_parser = new xml();
$xml_parser->parse("<A ID='hallo'>PHP</A>");
?>

xml_set_notation_decl_handler
xml_set_processing_instruction_handler
XML Parser Функции


Set up processing instruction (PI) handler

xml_set_object
xml_set_start_namespace_decl_handler
XML Parser Функции
PHP Manual

xml_set_processing_instruction_handler

(PHP 4, PHP 5)

xml_set_processing_instruction_handler — Set up processing instruction (PI) handler

Описание

bool xml_set_processing_instruction_handler ( resource $parser , callback $handler )

Sets the processing instruction (PI) handler function for the XML parser parser .

A processing instruction has the following format:

<?target data?>

You can put PHP code into such a tag, but be aware of one limitation: in an XML PI, the PI end tag (?>) can not be quoted, so this character sequence should not appear in the PHP code you embed with PIs in XML documents.If it does, the rest of the PHP code, as well as the "real" PI end tag, will be treated as character data.

Список параметров

parser

handler

handler is a string containing the name of a function that must exist when xml_parse() is called for parser .

The function named by handler must accept three parameters:

handler ( resource $parser , string $target , string $data )

parser
The first parameter, parser, is a reference to the XML parser calling the handler.
target
The second parameter, target , contains the PI target.
data
The third parameter, data , contains the PI data.

If a handler function is set to an empty string, or FALSE, the handler in question is disabled.

Замечание: В качестве аргумента вместо имени функции может быть передан массив, содержащий ссылку на объект и имя метода.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

xml_set_object
xml_set_start_namespace_decl_handler
XML Parser Функции


Set up start namespace declaration handler

xml_set_processing_instruction_handler
xml_set_unparsed_entity_decl_handler
XML Parser Функции
PHP Manual

xml_set_start_namespace_decl_handler

(PHP 4 >= 4.0.5, PHP 5)

xml_set_start_namespace_decl_handler — Set up start namespace declaration handler

Описание

bool xml_set_start_namespace_decl_handler ( resource $parser , callback $handler )

Set a handler to be called when a namespace is declared. Namespace declarations occur inside start tags. But the namespace declaration start handler is called before the start tag handler for each namespace declared in that start tag.

Список параметров

parser

A reference to the XML parser.

handler

handler is a string containing the name of a function that must exist when xml_parse() is called for parser .

The function named by handler must accept four parameters, and should return an integer value. If the value returned from the handler is FALSE (which it will be if no value is returned), the XML parser will stop parsing and xml_get_error_code() will return XML_ERROR_EXTERNAL_ENTITY_HANDLING.

handler ( resource $parser , string $user_data , string $prefix , string $uri )

parser
The first parameter, parser, is a reference to the XML parser calling the handler.
user_data
prefix
uri

If a handler function is set to an empty string, or FALSE, the handler in question is disabled.

Замечание: В качестве аргумента вместо имени функции может быть передан массив, содержащий ссылку на объект и имя метода.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • xml_set_end_namespace_decl_handler() - Set up end namespace declaration handler

xml_set_processing_instruction_handler
xml_set_unparsed_entity_decl_handler
XML Parser Функции


Set up unparsed entity declaration handler

xml_set_start_namespace_decl_handler
XMLReader
XML Parser Функции
PHP Manual

xml_set_unparsed_entity_decl_handler

(PHP 4, PHP 5)

xml_set_unparsed_entity_decl_handler — Set up unparsed entity declaration handler

Описание

bool xml_set_unparsed_entity_decl_handler ( resource $parser , callback $handler )

Sets the unparsed entity declaration handler function for the XML parser parser .

The handler will be called if the XML parser encounters an external entity declaration with an NDATA declaration, like the following:

<!ENTITY <parameter>name</parameter> {<parameter>publicId</parameter> | <parameter>systemId</parameter>}
        NDATA <parameter>notationName</parameter>

See » section 4.2.2 of the XML 1.0 spec for the definition of notation declared external entities.

Список параметров

parser

handler

handler is a string containing the name of a function that must exist when xml_parse() is called for parser .

The function named by handler must accept six parameters:

handler ( resource $parser , string $entity_name , string $base , string $system_id , string $public_id , string $notation_name )

parser
The first parameter, parser, is a reference to the XML parser calling the handler.
entity_name
The name of the entity that is about to be defined.
base
This is the base for resolving the system identifier (systemId ) of the external entity.Currently this parameter will always be set to an empty string.
system_id
System identifier for the external entity.
public_id
Public identifier for the external entity.
notation_name
Name of the notation of this entity (see xml_set_notation_decl_handler()).

If a handler function is set to an empty string, or FALSE, the handler in question is disabled.

Замечание: В качестве аргумента вместо имени функции может быть передан массив, содержащий ссылку на объект и имя метода.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

xml_set_start_namespace_decl_handler
XMLReader
XML Parser Функции


XMLReader

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • XMLReader — The XMLReader class
    • XMLReader::close — Close the XMLReader input
    • XMLReader::expand — Returns a copy of the current node as a DOM object
    • XMLReader::getAttribute — Get the value of a named attribute
    • XMLReader::getAttributeNo — Get the value of an attribute by index
    • XMLReader::getAttributeNs — Get the value of an attribute by localname and URI
    • XMLReader::getParserProperty — Indicates if specified property has been set
    • XMLReader::isValid — Indicates if the parsed document is valid
    • XMLReader::lookupNamespace — Lookup namespace for a prefix
    • XMLReader::moveToAttribute — Move cursor to a named attribute
    • XMLReader::moveToAttributeNo — Move cursor to an attribute by index
    • XMLReader::moveToAttributeNs — Move cursor to a named attribute
    • XMLReader::moveToElement — Position cursor on the parent Element of current Attribute
    • XMLReader::moveToFirstAttribute — Position cursor on the first Attribute
    • XMLReader::moveToNextAttribute — Position cursor on the next Attribute
    • XMLReader::next — Move cursor to next node skipping all subtrees
    • XMLReader::open — Set the URI containing the XML to parse
    • XMLReader::read — Move to next node in document
    • XMLReader::readInnerXML — Retrieve XML from current node
    • XMLReader::readOuterXML — Retrieve XML from current node, including it self
    • XMLReader::readString — Reads the contents of the current node as an string
    • XMLReader::setParserProperty — Set or Unset parser options
    • XMLReader::setRelaxNGSchema — Set the filename or URI for a RelaxNG Schema
    • XMLReader::setRelaxNGSchemaSource — Set the data containing a RelaxNG Schema
    • XMLReader::setSchema — Validate document against XSD
    • XMLReader::XML — Set the data containing the XML to parse
xml_set_unparsed_entity_decl_handler
Введение
XML Manipulation


Введение

The XMLReader extension is an XML Pull parser. The reader acts as a cursor going forward on the document stream and stopping at each node on the way.

Encoding

It is important to note that internally, libxml uses the UTF-8 encoding and as such, the encoding of the retrieved contents will always be in UTF-8 encoding.

XMLReader
Установка и настройка
XMLReader


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
XMLReader


Установка

The XMLReader extension is available in PECL as of PHP 5.0.0 and is included and enabled as of PHP 5.1.0 by default. It can be enabled by adding the argument --enable-xmlreader (or --with-xmlreader before 5.1.0) to your configure line. The libxml extension is required.

Требования
Настройка во время выполнения
Установка и настройка


Типы ресурсов

Данное расширение не определяет никакие типы ресурсов.

Настройка во время выполнения
XMLReader
Установка и настройка


The XMLReader class

Введение

The XMLReader extension is an XML Pull parser. The reader acts as a cursor going forward on the document stream and stopping at each node on the way.

Class synopsis

XMLReader
XMLReader {
/* Constants */
const int XMLReader::NONE = 0 ;
const int XMLReader::ELEMENT = 1 ;
const int XMLReader::ATTRIBUTE = 2 ;
const int XMLReader::TEXT = 3 ;
const int XMLReader::CDATA = 4 ;
const int XMLReader::ENTITY_REF = 5 ;
const int XMLReader::ENTITY = 6 ;
const int XMLReader::PI = 7 ;
const int XMLReader::COMMENT = 8 ;
const int XMLReader::DOC = 9 ;
const int XMLReader::DOC_TYPE = 10 ;
const int XMLReader::DOC_FRAGMENT = 11 ;
const int XMLReader::NOTATION = 12 ;
const int XMLReader::WHITESPACE = 13 ;
const int XMLReader::SIGNIFICANT_WHITESPACE = 14 ;
const int XMLReader::END_ELEMENT = 15 ;
const int XMLReader::END_ENTITY = 16 ;
const int XMLReader::XML_DECLARATION = 17 ;
const int XMLReader::LOADDTD = 1 ;
const int XMLReader::DEFAULTATTRS = 2 ;
const int XMLReader::VALIDATE = 3 ;
const int XMLReader::SUBST_ENTITIES = 4 ;
/* Properties */
public readonly int $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 ;
/* Methods */
bool close ( void )
DOMNode expand ( void )
string getAttribute ( string $name )
string getAttributeNo ( int $index )
string getAttributeNs ( string $localName , string $namespaceURI )
bool getParserProperty ( int $property )
bool isValid ( void )
bool lookupNamespace ( string $prefix )
bool moveToAttribute ( string $name )
bool moveToAttributeNo ( int $index )
bool moveToAttributeNs ( string $localName , string $namespaceURI )
bool moveToElement ( void )
bool moveToFirstAttribute ( void )
bool moveToNextAttribute ( void )
bool next ([ string $localname ] )
bool open ( string $URI [, string $encoding [, int $options= 0 ]] )
bool read ( void )
string readInnerXML ( void )
string readOuterXML ( void )
string readString ( void )
bool setParserProperty ( int $property , bool $value )
bool setRelaxNGSchema ( string $filename )
bool setRelaxNGSchemaSource ( string $source )
bool setSchema ( string $filename )
bool xml ( string $source [, string $encoding [, int $options= 0 ]] )
}

Свойства

attributeCount

The number of attributes on the node

baseURI

The base URI of the node

depth

Depth of the node in the tree, starting at 0

hasAttributes

Indicates if node has attributes

hasValue

Indicates if node has a text value

isDefault

Indicates if attribute is defaulted from DTD

isEmptyElement

Indicates if node is an empty element tag

localName

The local name of the node

name

The qualified name of the node

namespaceURI

The URI of the namespace associated with the node

nodeType

The node type for the node

prefix

The prefix of the namespace associated with the node

value

The text value of the node

xmlLang

The xml:lang scope which the node resides

Предопределенные константы

XMLReader Node Types

XMLReader::NONE

No node type

XMLReader::ELEMENT

Start element

XMLReader::ATTRIBUTE

Attribute node

XMLReader::TEXT

Text node

XMLReader::CDATA

CDATA node

XMLReader::ENTITY_REF

Entity Reference node

XMLReader::ENTITY

Entity Declaration node

XMLReader::PI

Processing Instruction node

XMLReader::COMMENT

Comment node

XMLReader::DOC

Document node

XMLReader::DOC_TYPE

Document Type node

XMLReader::DOC_FRAGMENT

Document Fragment node

XMLReader::NOTATION

Notation node

XMLReader::WHITESPACE

Whitespace node

XMLReader::SIGNIFICANT_WHITESPACE

Significant Whitespace node

XMLReader::END_ELEMENT

End Element

XMLReader::END_ENTITY

End Entity

XMLReader::XML_DECLARATION

XML Declaration node

XMLReader Parser Options

XMLReader::LOADDTD

Load DTD but do not validate

XMLReader::DEFAULTATTRS

Load DTD and default attributes but do not validate

XMLReader::VALIDATE

Load DTD and validate while parsing

XMLReader::SUBST_ENTITIES

Substitute entities and expand references

Содержание

  • XMLReader::close — Close the XMLReader input
  • XMLReader::expand — Returns a copy of the current node as a DOM object
  • XMLReader::getAttribute — Get the value of a named attribute
  • XMLReader::getAttributeNo — Get the value of an attribute by index
  • XMLReader::getAttributeNs — Get the value of an attribute by localname and URI
  • XMLReader::getParserProperty — Indicates if specified property has been set
  • XMLReader::isValid — Indicates if the parsed document is valid
  • XMLReader::lookupNamespace — Lookup namespace for a prefix
  • XMLReader::moveToAttribute — Move cursor to a named attribute
  • XMLReader::moveToAttributeNo — Move cursor to an attribute by index
  • XMLReader::moveToAttributeNs — Move cursor to a named attribute
  • XMLReader::moveToElement — Position cursor on the parent Element of current Attribute
  • XMLReader::moveToFirstAttribute — Position cursor on the first Attribute
  • XMLReader::moveToNextAttribute — Position cursor on the next Attribute
  • XMLReader::next — Move cursor to next node skipping all subtrees
  • XMLReader::open — Set the URI containing the XML to parse
  • XMLReader::read — Move to next node in document
  • XMLReader::readInnerXML — Retrieve XML from current node
  • XMLReader::readOuterXML — Retrieve XML from current node, including it self
  • XMLReader::readString — Reads the contents of the current node as an string
  • XMLReader::setParserProperty — Set or Unset parser options
  • XMLReader::setRelaxNGSchema — Set the filename or URI for a RelaxNG Schema
  • XMLReader::setRelaxNGSchemaSource — Set the data containing a RelaxNG Schema
  • XMLReader::setSchema — Validate document against XSD
  • XMLReader::XML — Set the data containing the XML to parse
Типы ресурсов
XMLReader::close
XMLReader


Close the XMLReader input

XMLReader
XMLReader::expand
XMLReader
PHP Manual

XMLReader::close

(PHP 5 >= 5.1.2)

XMLReader::close — Close the XMLReader input

Описание

bool XMLReader::close ( void )

Closes the input the XMLReader object is currently parsing.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLReader::open - Set the URI containing the XML to parse
  • XMLReader::xml - Set the data containing the XML to parse

XMLReader
XMLReader::expand
XMLReader


Returns a copy of the current node as a DOM object

XMLReader::close
XMLReader::getAttribute
XMLReader
PHP Manual

XMLReader::expand

(PHP 5 >= 5.1.2)

XMLReader::expand — Returns a copy of the current node as a DOM object

Описание

DOMNode XMLReader::expand ( void )

This method copies the current node and returns the appropriate DOM object.

Возвращаемые значения

The resulting DOMNode or FALSE on error.

XMLReader::close
XMLReader::getAttribute
XMLReader


Get the value of a named attribute

XMLReader::expand
XMLReader::getAttributeNo
XMLReader
PHP Manual

XMLReader::getAttribute

(PHP 5 >= 5.1.2)

XMLReader::getAttribute — Get the value of a named attribute

Описание

string XMLReader::getAttribute ( string $name )

Returns the value of a named attribute or an empty string if attribute does not exist or not positioned on an element node.

Список параметров

name

The name of the attribute.

Возвращаемые значения

The value of the attribute, or an empty string if no attribute with the given name is found or not positioned of element.

Смотрите также

  • XMLReader::getAttributeNo - Get the value of an attribute by index
  • XMLReader::getAttributeNs - Get the value of an attribute by localname and URI

XMLReader::expand
XMLReader::getAttributeNo
XMLReader


Get the value of an attribute by index

XMLReader::getAttribute
XMLReader::getAttributeNs
XMLReader
PHP Manual

XMLReader::getAttributeNo

(PHP 5 >= 5.1.2)

XMLReader::getAttributeNo — Get the value of an attribute by index

Описание

string XMLReader::getAttributeNo ( int $index )

Returns the value of an attribute based on its position or an empty string if attribute does not exist or not positioned on an element node.

Список параметров

index

The position of the attribute.

Возвращаемые значения

The value of the attribute, or an empty string if no attribute exists at index or not positioned of element.

Смотрите также

  • XMLReader::getAttribute - Get the value of a named attribute
  • XMLReader::getAttributeNs - Get the value of an attribute by localname and URI

XMLReader::getAttribute
XMLReader::getAttributeNs
XMLReader


Get the value of an attribute by localname and URI

XMLReader::getAttributeNo
XMLReader::getParserProperty
XMLReader
PHP Manual

XMLReader::getAttributeNs

(PHP 5 >= 5.1.2)

XMLReader::getAttributeNs — Get the value of an attribute by localname and URI

Описание

string XMLReader::getAttributeNs ( string $localName , string $namespaceURI )

Returns the value of an attribute by name and namespace URI or an empty string if attribute does not exist or not positioned on an element node.

Список параметров

localName

The local name.

namespaceURI

The namespace URI.

Возвращаемые значения

The value of the attribute, or an empty string if no attribute with the given localName and namespaceURI is found or not positioned of element.

Смотрите также

  • XMLReader::getAttribute - Get the value of a named attribute
  • XMLReader::getAttributeNo - Get the value of an attribute by index

XMLReader::getAttributeNo
XMLReader::getParserProperty
XMLReader


Indicates if specified property has been set

XMLReader::getAttributeNs
XMLReader::isValid
XMLReader
PHP Manual

XMLReader::getParserProperty

(PHP 5 >= 5.1.2)

XMLReader::getParserProperty — Indicates if specified property has been set

Описание

bool XMLReader::getParserProperty ( int $property )

Indicates if specified property has been set.

Список параметров

property

One of the parser option constants.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLReader::setParserProperty - Set or Unset parser options

XMLReader::getAttributeNs
XMLReader::isValid
XMLReader


Indicates if the parsed document is valid

XMLReader::getParserProperty
XMLReader::lookupNamespace
XMLReader
PHP Manual

XMLReader::isValid

(PHP 5 >= 5.1.2)

XMLReader::isValid — Indicates if the parsed document is valid

Описание

bool XMLReader::isValid ( void )

Returns a boolean indicating if the document being parsed is currently valid.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Validating XML

<?php
$xml = XMLReader::open('test.xml');

// You must to use it
$xml->setParserProperty(XMLReader::VALIDATE, true);

var_dump($xml->isValid());
?>

Смотрите также

  • XMLReader::setParserProperty - Set or Unset parser options
  • XMLReader::setRelaxNGSchema - Set the filename or URI for a RelaxNG Schema
  • XMLReader::setRelaxNGSchemaSource - Set the data containing a RelaxNG Schema

XMLReader::getParserProperty
XMLReader::lookupNamespace
XMLReader


Lookup namespace for a prefix

XMLReader::isValid
XMLReader::moveToAttribute
XMLReader
PHP Manual

XMLReader::lookupNamespace

(PHP 5 >= 5.1.2)

XMLReader::lookupNamespace — Lookup namespace for a prefix

Описание

bool XMLReader::lookupNamespace ( string $prefix )

Lookup in scope namespace for a given prefix.

Список параметров

prefix

String containing the prefix.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

XMLReader::isValid
XMLReader::moveToAttribute
XMLReader


Move cursor to a named attribute

XMLReader::lookupNamespace
XMLReader::moveToAttributeNo
XMLReader
PHP Manual

XMLReader::moveToAttribute

(PHP 5 >= 5.1.2)

XMLReader::moveToAttribute — Move cursor to a named attribute

Описание

bool XMLReader::moveToAttribute ( string $name )

Positions cursor on the named attribute.

Список параметров

name

The name of the attribute.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLReader::moveToElement - Position cursor on the parent Element of current Attribute
  • XMLReader::moveToAttributeNo - Move cursor to an attribute by index
  • XMLReader::moveToAttributeNs - Move cursor to a named attribute
  • XMLReader::moveToFirstAttribute - Position cursor on the first Attribute

XMLReader::lookupNamespace
XMLReader::moveToAttributeNo
XMLReader


Move cursor to an attribute by index

XMLReader::moveToAttribute
XMLReader::moveToAttributeNs
XMLReader
PHP Manual

XMLReader::moveToAttributeNo

(PHP 5 >= 5.1.2)

XMLReader::moveToAttributeNo — Move cursor to an attribute by index

Описание

bool XMLReader::moveToAttributeNo ( int $index )

Positions cursor on attribute based on its position.

Список параметров

index

The position of the attribute.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLReader::moveToElement - Position cursor on the parent Element of current Attribute
  • XMLReader::moveToAttribute - Move cursor to a named attribute
  • XMLReader::moveToAttributeNs - Move cursor to a named attribute
  • XMLReader::moveToFirstAttribute - Position cursor on the first Attribute

XMLReader::moveToAttribute
XMLReader::moveToAttributeNs
XMLReader


Move cursor to a named attribute

XMLReader::moveToAttributeNo
XMLReader::moveToElement
XMLReader
PHP Manual

XMLReader::moveToAttributeNs

(PHP 5 >= 5.1.2)

XMLReader::moveToAttributeNs — Move cursor to a named attribute

Описание

bool XMLReader::moveToAttributeNs ( string $localName , string $namespaceURI )

Positions cursor on the named attribute in specified namespace.

Список параметров

localName

The local name.

namespaceURI

The namespace URI.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLReader::moveToElement - Position cursor on the parent Element of current Attribute
  • XMLReader::moveToAttribute - Move cursor to a named attribute
  • XMLReader::moveToAttributeNo - Move cursor to an attribute by index
  • XMLReader::moveToFirstAttribute - Position cursor on the first Attribute

XMLReader::moveToAttributeNo
XMLReader::moveToElement
XMLReader


Position cursor on the parent Element of current Attribute

XMLReader::moveToAttributeNs
XMLReader::moveToFirstAttribute
XMLReader
PHP Manual

XMLReader::moveToElement

(PHP 5 >= 5.1.2)

XMLReader::moveToElement — Position cursor on the parent Element of current Attribute

Описание

bool XMLReader::moveToElement ( void )

Moves cursor to the parent Element of current Attribute.

Возвращаемые значения

Returns TRUE if successful and FALSE if it fails or not positioned on Attribute when this method is called.

Смотрите также

  • XMLReader::moveToAttribute - Move cursor to a named attribute
  • XMLReader::moveToAttributeNo - Move cursor to an attribute by index
  • XMLReader::moveToAttributeNs - Move cursor to a named attribute
  • XMLReader::moveToFirstAttribute - Position cursor on the first Attribute

XMLReader::moveToAttributeNs
XMLReader::moveToFirstAttribute
XMLReader


Position cursor on the first Attribute

XMLReader::moveToElement
XMLReader::moveToNextAttribute
XMLReader
PHP Manual

XMLReader::moveToFirstAttribute

(PHP 5 >= 5.1.2)

XMLReader::moveToFirstAttribute — Position cursor on the first Attribute

Описание

bool XMLReader::moveToFirstAttribute ( void )

Moves cursor to the first Attribute.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLReader::moveToElement - Position cursor on the parent Element of current Attribute
  • XMLReader::moveToAttribute - Move cursor to a named attribute
  • XMLReader::moveToAttributeNo - Move cursor to an attribute by index
  • XMLReader::moveToAttributeNs - Move cursor to a named attribute
  • XMLReader::moveToNextAttribute - Position cursor on the next Attribute

XMLReader::moveToElement
XMLReader::moveToNextAttribute
XMLReader


Position cursor on the next Attribute

XMLReader::moveToFirstAttribute
XMLReader::next
XMLReader
PHP Manual

XMLReader::moveToNextAttribute

(PHP 5 >= 5.1.2)

XMLReader::moveToNextAttribute — Position cursor on the next Attribute

Описание

bool XMLReader::moveToNextAttribute ( void )

Moves cursor to the next Attribute if positioned on an Attribute or moves to first attribute if positioned on an Element.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLReader::moveToElement - Position cursor on the parent Element of current Attribute
  • XMLReader::moveToAttribute - Move cursor to a named attribute
  • XMLReader::moveToAttributeNo - Move cursor to an attribute by index
  • XMLReader::moveToAttributeNs - Move cursor to a named attribute
  • XMLReader::moveToFirstAttribute - Position cursor on the first Attribute

XMLReader::moveToFirstAttribute
XMLReader::next
XMLReader


Move cursor to next node skipping all subtrees

XMLReader::moveToNextAttribute
XMLReader::open
XMLReader
PHP Manual

XMLReader::next

(PHP 5 >= 5.1.2)

XMLReader::next — Move cursor to next node skipping all subtrees

Описание

bool XMLReader::next ([ string $localname ] )

Positions cursor on the next node skipping all subtrees.

Список параметров

localname

The name of the next node to move to.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLReader::moveToNextAttribute - Position cursor on the next Attribute
  • XMLReader::moveToElement - Position cursor on the parent Element of current Attribute
  • XMLReader::moveToAttribute - Move cursor to a named attribute

XMLReader::moveToNextAttribute
XMLReader::open
XMLReader


Set the URI containing the XML to parse

XMLReader::next
XMLReader::read
XMLReader
PHP Manual

XMLReader::open

(PHP 5 >= 5.1.2)

XMLReader::open — Set the URI containing the XML to parse

Описание

bool XMLReader::open ( string $URI [, string $encoding [, int $options= 0 ]] )

Set the URI containing the XML document to be parsed.

Список параметров

URI

URI pointing to the document.

encoding

The document encoding or NULL.

options

A bitmask of the LIBXML_* constants.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.2.0 | encoding and options were added.

Смотрите также

  • XMLReader::xml - Set the data containing the XML to parse
  • XMLReader::close - Close the XMLReader input

XMLReader::next
XMLReader::read
XMLReader


Move to next node in document

XMLReader::open
XMLReader::readInnerXML
XMLReader
PHP Manual

XMLReader::read

(PHP 5 >= 5.1.2)

XMLReader::read — Move to next node in document

Описание

bool XMLReader::read ( void )

Moves cursor to the next node in the document.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLReader::moveToElement - Position cursor on the parent Element of current Attribute
  • XMLReader::moveToAttribute - Move cursor to a named attribute
  • XMLReader::next - Move cursor to next node skipping all subtrees

XMLReader::open
XMLReader::readInnerXML
XMLReader


Retrieve XML from current node

XMLReader::read
XMLReader::readOuterXML
XMLReader
PHP Manual

XMLReader::readInnerXML

(PHP 5 >= 5.2.0)

XMLReader::readInnerXML — Retrieve XML from current node

Описание

string XMLReader::readInnerXML ( void )

Reads the contents of the current node, including child nodes and markup.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the contents of the current node as a string. Empty string on failure.

Примечания

Предостережение

This function is only available when PHP is compiled against libxml 20620 or later.

Смотрите также

  • XMLReader::readString() - Reads the contents of the current node as an string
  • XMLReader::readOuterXML() - Retrieve XML from current node, including it self
  • XMLReader::expand() - Returns a copy of the current node as a DOM object

XMLReader::read
XMLReader::readOuterXML
XMLReader


Retrieve XML from current node, including it self

XMLReader::readInnerXML
XMLReader::readString
XMLReader
PHP Manual

XMLReader::readOuterXML

(PHP 5 >= 5.2.0)

XMLReader::readOuterXML — Retrieve XML from current node, including it self

Описание

string XMLReader::readOuterXML ( void )

Reads the contents of the current node, including the node itself.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the contents of current node, including itself, as a string. Empty string on failure.

Примечания

Предостережение

This function is only available when PHP is compiled against libxml 20620 or later.

Смотрите также

  • XMLReader::readString() - Reads the contents of the current node as an string
  • XMLReader::readInnerXML() - Retrieve XML from current node
  • XMLReader::expand() - Returns a copy of the current node as a DOM object

XMLReader::readInnerXML
XMLReader::readString
XMLReader


Reads the contents of the current node as an string

XMLReader::readOuterXML
XMLReader::setParserProperty
XMLReader
PHP Manual

XMLReader::readString

(PHP 5 >= 5.2.0)

XMLReader::readString — Reads the contents of the current node as an string

Описание

string XMLReader::readString ( void )

Reads the contents of the current node as an string.

Список параметров

This function has no parameters.

Возвращаемые значения

Returns the content of the current node as a string. Empty string on failure.

Примечания

Предостережение

This function is only available when PHP is compiled against libxml 20620 or later.

Смотрите также

  • XMLReader::readOuterXML() - Retrieve XML from current node, including it self
  • XMLReader::readInnerXML() - Retrieve XML from current node
  • XMLReader::expand() - Returns a copy of the current node as a DOM object

XMLReader::readOuterXML
XMLReader::setParserProperty
XMLReader


Set or Unset parser options

XMLReader::readString
XMLReader::setRelaxNGSchema
XMLReader
PHP Manual

XMLReader::setParserProperty

(PHP 5 >= 5.1.2)

XMLReader::setParserProperty — Set or Unset parser options

Описание

bool XMLReader::setParserProperty ( int $property , bool $value )

Set or Unset parser option for the parser. The options must be set
after xmlreader-open() or
xmlreader-xml() are called and before
the first xmlreader-read() call.

Список параметров

property

One of the parser option constants.

value

If set to TRUE the option will be enabled otherwise will be disabled.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

XMLReader::readString
XMLReader::setRelaxNGSchema
XMLReader


Set the filename or URI for a RelaxNG Schema

XMLReader::setParserProperty
XMLReader::setRelaxNGSchemaSource
XMLReader
PHP Manual

XMLReader::setRelaxNGSchema

(PHP 5 >= 5.2.0)

XMLReader::setRelaxNGSchema — Set the filename or URI for a RelaxNG Schema

Описание

bool XMLReader::setRelaxNGSchema ( string $filename )

Set the filename or URI for the RelaxNG Schema to use for validation.

Список параметров

filename

filename or URI pointing to a RelaxNG Schema.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLReader::setRelaxNGSchemaSource - Set the data containing a RelaxNG Schema

XMLReader::setParserProperty
XMLReader::setRelaxNGSchemaSource
XMLReader


Set the data containing a RelaxNG Schema

XMLReader::setRelaxNGSchema
XMLReader::setSchema
XMLReader
PHP Manual

XMLReader::setRelaxNGSchemaSource

(PHP 5 >= 5.1.2)

XMLReader::setRelaxNGSchemaSource — Set the data containing a RelaxNG Schema

Описание

bool XMLReader::setRelaxNGSchemaSource ( string $source )

Set the data containing a RelaxNG Schema to use for validation.

Список параметров

source

String containing the RelaxNG Schema.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLReader::setRelaxNGSchema - Set the filename or URI for a RelaxNG Schema

XMLReader::setRelaxNGSchema
XMLReader::setSchema
XMLReader


Validate document against XSD

XMLReader::setRelaxNGSchemaSource
XMLReader::XML
XMLReader
PHP Manual

XMLReader::setSchema

(PHP 5 >= 5.2.0)

XMLReader::setSchema — Validate document against XSD

Описание

bool XMLReader::setSchema ( string $filename )

Use W3C XSD schema to validate the document as it is processed. Activation is only possible before the first Read().

Список параметров

filename

The filename of the XSD schema.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Errors/Exceptions

Issues E_WARNING if libxml was built without schema support, the schema contains errors or if XMLReader::read() has already been called.

Примечания

Предостережение

This function is only available when PHP is compiled against libxml 20620 or later.

Смотрите также

  • XMLReader::setRelaxNGSchema - Set the filename or URI for a RelaxNG Schema

XMLReader::setRelaxNGSchemaSource
XMLReader::XML
XMLReader


Set the data containing the XML to parse

XMLReader::setSchema
XMLWriter
XMLReader
PHP Manual

XMLReader::XML

(PHP 5 >= 5.1.2)

XMLReader::XML — Set the data containing the XML to parse

Описание

bool XMLReader::xml ( string $source [, string $encoding [, int $options= 0 ]] )

Set the data containing the XML to parse.

Список параметров

source

String containing the XML to be parsed.

encoding

The document encoding or NULL.

options

A bitmask of the LIBXML_* constants.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
5.2.0 | encoding and options were added.

Смотрите также

  • XMLReader::open - Set the URI containing the XML to parse
  • XMLReader::close - Close the XMLReader input

XMLReader::setSchema
XMLWriter
XMLReader


XMLWriter

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • XMLWriter Функции
    • XMLWriter::endAttribute — End attribute
    • XMLWriter::endCData — End current CDATA
    • XMLWriter::endComment — Create end comment
    • XMLWriter::endDocument — End current document
    • XMLWriter::endDTDAttlist — End current DTD AttList
    • XMLWriter::endDTDElement — End current DTD element
    • XMLWriter::endDTDEntity — End current DTD Entity
    • XMLWriter::endDTD — End current DTD
    • XMLWriter::endElement — End current element
    • XMLWriter::endPI — End current PI
    • XMLWriter::flush — Flush current buffer
    • XMLWriter::fullEndElement — End current element
    • XMLWriter::openMemory — Create new xmlwriter using memory for string output
    • XMLWriter::openURI — Create new xmlwriter using source uri for output
    • XMLWriter::outputMemory — Returns current buffer
    • XMLWriter::setIndentString — Set string used for indenting
    • XMLWriter::setIndent — Toggle indentation on/off
    • XMLWriter::startAttributeNS — Create start namespaced attribute
    • XMLWriter::startAttribute — Create start attribute
    • XMLWriter::startCData — Create start CDATA tag
    • XMLWriter::startComment — Create start comment
    • XMLWriter::startDocument — Create document tag
    • XMLWriter::startDTDAttlist — Create start DTD AttList
    • XMLWriter::startDTDElement — Create start DTD element
    • XMLWriter::startDTDEntity — Create start DTD Entity
    • XMLWriter::startDTD — Create start DTD tag
    • XMLWriter::startElementNS — Create start namespaced element tag
    • XMLWriter::startElement — Create start element tag
    • XMLWriter::startPI — Create start PI tag
    • XMLWriter::text — Write text
    • XMLWriter::writeAttributeNS — Write full namespaced attribute
    • XMLWriter::writeAttribute — Write full attribute
    • XMLWriter::writeCData — Write full CDATA tag
    • XMLWriter::writeComment — Write full comment tag
    • XMLWriter::writeDTDAttlist — Write full DTD AttList tag
    • XMLWriter::writeDTDElement — Write full DTD element tag
    • XMLWriter::writeDTDEntity — Write full DTD Entity tag
    • XMLWriter::writeDTD — Write full DTD tag
    • XMLWriter::writeElementNS — Write full namespaced element tag
    • XMLWriter::writeElement — Write full element tag
    • XMLWriter::writePI — Writes a PI
    • XMLWriter::writeRaw — Write a raw XML text
XMLReader::XML
Введение
XML Manipulation


Введение

This is the XMLWriter extension. It wraps the libxml xmlWriter API.

This extension represents a writer that provides a non-cached, forward-only means of generating streams or files containing XML data.

This extension can be used in an object oriented style or a procedural one. Every method documented describes the alternative procedural call.

XMLWriter
Установка и настройка
XMLWriter


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
XMLWriter


Установка

This extension is enabled by default as of PHP 5.1.2.

Требования
Настройка во время выполнения
Установка и настройка


Типы ресурсов

There is one resource used by the procedural version of the XMLWriter extension: returned by xmlwriter_open_memory() or xmlwriter_open_uri().

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Данное расширение не определяет никакие константы.

Типы ресурсов
XMLWriter Функции
XMLWriter


XMLWriter Функции

Содержание

  • XMLWriter::endAttribute — End attribute
  • XMLWriter::endCData — End current CDATA
  • XMLWriter::endComment — Create end comment
  • XMLWriter::endDocument — End current document
  • XMLWriter::endDTDAttlist — End current DTD AttList
  • XMLWriter::endDTDElement — End current DTD element
  • XMLWriter::endDTDEntity — End current DTD Entity
  • XMLWriter::endDTD — End current DTD
  • XMLWriter::endElement — End current element
  • XMLWriter::endPI — End current PI
  • XMLWriter::flush — Flush current buffer
  • XMLWriter::fullEndElement — End current element
  • XMLWriter::openMemory — Create new xmlwriter using memory for string output
  • XMLWriter::openURI — Create new xmlwriter using source uri for output
  • XMLWriter::outputMemory — Returns current buffer
  • XMLWriter::setIndentString — Set string used for indenting
  • XMLWriter::setIndent — Toggle indentation on/off
  • XMLWriter::startAttributeNS — Create start namespaced attribute
  • XMLWriter::startAttribute — Create start attribute
  • XMLWriter::startCData — Create start CDATA tag
  • XMLWriter::startComment — Create start comment
  • XMLWriter::startDocument — Create document tag
  • XMLWriter::startDTDAttlist — Create start DTD AttList
  • XMLWriter::startDTDElement — Create start DTD element
  • XMLWriter::startDTDEntity — Create start DTD Entity
  • XMLWriter::startDTD — Create start DTD tag
  • XMLWriter::startElementNS — Create start namespaced element tag
  • XMLWriter::startElement — Create start element tag
  • XMLWriter::startPI — Create start PI tag
  • XMLWriter::text — Write text
  • XMLWriter::writeAttributeNS — Write full namespaced attribute
  • XMLWriter::writeAttribute — Write full attribute
  • XMLWriter::writeCData — Write full CDATA tag
  • XMLWriter::writeComment — Write full comment tag
  • XMLWriter::writeDTDAttlist — Write full DTD AttList tag
  • XMLWriter::writeDTDElement — Write full DTD element tag
  • XMLWriter::writeDTDEntity — Write full DTD Entity tag
  • XMLWriter::writeDTD — Write full DTD tag
  • XMLWriter::writeElementNS — Write full namespaced element tag
  • XMLWriter::writeElement — Write full element tag
  • XMLWriter::writePI — Writes a PI
  • XMLWriter::writeRaw — Write a raw XML text
Предопределенные константы
XMLWriter::endAttribute
XMLWriter


End attribute

XMLWriter Функции
XMLWriter::endCData
XMLWriter Функции
PHP Manual

XMLWriter::endAttribute

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::endAttribute — End attribute

Описание

Oriented object style

XMLWriter
bool endAttribute ( void )

Procedural style

bool xmlwriter_end_attribute ( resource $xmlwriter )

Ends the current attribute.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::startAttribute - Create start attribute
  • XMLWriter::startAttributeNS - Create start namespaced attribute
  • XMLWriter::writeAttribute - Write full attribute
  • XMLWriter::writeAttributeNS - Write full namespaced attribute

XMLWriter Функции
XMLWriter::endCData
XMLWriter Функции


End current CDATA

XMLWriter::endAttribute
XMLWriter::endComment
XMLWriter Функции
PHP Manual

XMLWriter::endCData

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::endCData — End current CDATA

Описание

Oriented object style

XMLWriter
bool endCData ( void )

Procedural style

bool xmlwriter_end_cdata ( resource $xmlwriter )

Ends the current CDATA section.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::startCData - Create start CDATA tag
  • XMLWriter::writeCData - Write full CDATA tag

XMLWriter::endAttribute
XMLWriter::endComment
XMLWriter Функции


Create end comment

XMLWriter::endCData
XMLWriter::endDocument
XMLWriter Функции
PHP Manual

XMLWriter::endComment

(PHP 5 >= 5.1.2, PECL xmlwriter >= 1.0.0)

XMLWriter::endComment — Create end comment

Описание

Oriented object style

XMLWriter
bool endComment ( void )

Procedural style

bool xmlwriter_end_comment ( resource $xmlwriter )

Ends the current comment.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::startComment - Create start comment
  • XMLWriter::writeComment - Write full comment tag

XMLWriter::endCData
XMLWriter::endDocument
XMLWriter Функции


End current document

XMLWriter::endComment
XMLWriter::endDTDAttlist
XMLWriter Функции
PHP Manual

XMLWriter::endDocument

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::endDocument — End current document

Описание

Oriented object style

XMLWriter
bool endDocument ( void )

Procedural style

bool xmlwriter_end_document ( resource $xmlwriter )

Ends the current document.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::startDocument - Create document tag

XMLWriter::endComment
XMLWriter::endDTDAttlist
XMLWriter Функции


End current DTD AttList

XMLWriter::endDocument
XMLWriter::endDTDElement
XMLWriter Функции
PHP Manual

XMLWriter::endDTDAttlist

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::endDTDAttlist — End current DTD AttList

Описание

Oriented object style

XMLWriter
bool endDTDAttlist ( void )

Procedural style

bool xmlwriter_end_dtd_attlist ( resource $xmlwriter )

Ends the current DTD attribute list.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::startDTDAttlist - Create start DTD AttList
  • XMLWriter::writeDTDAttlist - Write full DTD AttList tag

XMLWriter::endDocument
XMLWriter::endDTDElement
XMLWriter Функции


End current DTD element

XMLWriter::endDTDAttlist
XMLWriter::endDTDEntity
XMLWriter Функции
PHP Manual

XMLWriter::endDTDElement

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::endDTDElement — End current DTD element

Описание

Oriented object style

XMLWriter
bool endDTDElement ( void )

Procedural style

bool xmlwriter_end_dtd_element ( resource $xmlwriter )

Ends the current DTD element.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::startDTDElement - Create start DTD element
  • XMLWriter::writeDTDElement - Write full DTD element tag

XMLWriter::endDTDAttlist
XMLWriter::endDTDEntity
XMLWriter Функции


End current DTD Entity

XMLWriter::endDTDElement
XMLWriter::endDTD
XMLWriter Функции
PHP Manual

XMLWriter::endDTDEntity

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::endDTDEntity — End current DTD Entity

Описание

Oriented object style

XMLWriter
bool endDTDEntity ( void )

Procedural style

bool xmlwriter_end_dtd_entity ( resource $xmlwriter )

Ends the current DTD entity.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::startDTDEntity - Create start DTD Entity
  • XMLWriter::writeDTDEntity - Write full DTD Entity tag

XMLWriter::endDTDElement
XMLWriter::endDTD
XMLWriter Функции


End current DTD

XMLWriter::endDTDEntity
XMLWriter::endElement
XMLWriter Функции
PHP Manual

XMLWriter::endDTD

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::endDTD — End current DTD

Описание

Oriented object style

XMLWriter
bool endDTD ( void )

Procedural style

bool xmlwriter_end_dtd ( resource $xmlwriter )

Ends the DTD of the document.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::startDTD - Create start DTD tag
  • XMLWriter::writeDTD - Write full DTD tag

XMLWriter::endDTDEntity
XMLWriter::endElement
XMLWriter Функции


End current element

XMLWriter::endDTD
XMLWriter::endPI
XMLWriter Функции
PHP Manual

XMLWriter::endElement

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::endElement — End current element

Описание

Oriented object style

XMLWriter
bool endElement ( void )

Procedural style

bool xmlwriter_end_element ( resource $xmlwriter )

Ends the current element.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::startElement - Create start element tag
  • XMLWriter::writeElement - Write full element tag

XMLWriter::endDTD
XMLWriter::endPI
XMLWriter Функции


End current PI

XMLWriter::endElement
XMLWriter::flush
XMLWriter Функции
PHP Manual

XMLWriter::endPI

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::endPI — End current PI

Описание

Oriented object style

XMLWriter
bool endPI ( void )

Procedural style

bool xmlwriter_end_pi ( resource $xmlwriter )

Ends the current processing instruction.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::startPI - Create start PI tag
  • XMLWriter::writePI - Writes a PI

XMLWriter::endElement
XMLWriter::flush
XMLWriter Функции


Flush current buffer

XMLWriter::endPI
XMLWriter::fullEndElement
XMLWriter Функции
PHP Manual

XMLWriter::flush

(PHP 5 >= 5.1.2, PECL xmlwriter >= 1.0.0)

XMLWriter::flush — Flush current buffer

Описание

Oriented object style

XMLWriter
mixed flush ([ bool $empty ] )

Procedural style

mixed xmlwriter_flush ( resource $xmlwriter [, bool $empty ] )

Flushes the current buffer.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

empty

Whether to empty the buffer or no. Default is TRUE.

Возвращаемые значения

If you opened the writer in memory, this function returns the generated XML buffer, Else, if using URI, this function will write the buffer and return the number of written bytes.

XMLWriter::endPI
XMLWriter::fullEndElement
XMLWriter Функции


End current element

XMLWriter::flush
XMLWriter::openMemory
XMLWriter Функции
PHP Manual

XMLWriter::fullEndElement

(PHP 5 >= 5.2.0, PECL xmlwriter >= 2.0.4)

XMLWriter::fullEndElement — End current element

Описание

Oriented object style

XMLWriter
bool fullEndElement ( void )

Procedural style

bool xmlwriter_full_end_element ( resource $xmlwriter )

End the current xml element. Writes an end tag even if the element is empty.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::endElement - End current element

XMLWriter::flush
XMLWriter::openMemory
XMLWriter Функции


Create new xmlwriter using memory for string output

XMLWriter::fullEndElement
XMLWriter::openURI
XMLWriter Функции
PHP Manual

XMLWriter::openMemory

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::openMemory — Create new xmlwriter using memory for string output

Описание

Oriented object style

XMLWriter
bool openMemory ( void )

Procedural style

resource xmlwriter_open_memory ( void )

Creates a new XMLWriter using memory for string output.

Список параметров

Возвращаемые значения

Oriented object style: Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Procedural style: Returns a new xmlwriter resource for later use with the xmlwriter functions on success, FALSE on error.

Смотрите также

  • XMLWriter::openURI - Create new xmlwriter using source uri for output

XMLWriter::fullEndElement
XMLWriter::openURI
XMLWriter Функции


Create new xmlwriter using source uri for output

XMLWriter::openMemory
XMLWriter::outputMemory
XMLWriter Функции
PHP Manual

XMLWriter::openURI

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::openURI — Create new xmlwriter using source uri for output

Описание

Oriented object style

XMLWriter
bool openURI ( string $uri )

Procedural style

resource xmlwriter_open_uri ( string $uri )

Creates a new XMLWriter using uri for the output.

Список параметров

uri

The URI of the resource for the output.

Возвращаемые значения

Oriented object style: Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Procedural style: Returns a new xmlwriter resource for later use with the xmlwriter functions on success, FALSE on error.

Смотрите также

  • XMLWriter::openMemory - Create new xmlwriter using memory for string output

XMLWriter::openMemory
XMLWriter::outputMemory
XMLWriter Функции


Returns current buffer

XMLWriter::openURI
XMLWriter::setIndentString
XMLWriter Функции
PHP Manual

XMLWriter::outputMemory

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::outputMemory — Returns current buffer

Описание

Oriented object style

XMLWriter
string outputMemory ([ bool $flush ] )

Procedural style

string xmlwriter_output_memory ( resource $xmlwriter [, bool $flush ] )

Returns the current buffer.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

flush

Whether to flush the output buffer or no. Default is TRUE.

Возвращаемые значения

Returns the current buffer as a string.

Смотрите также

  • XMLWriter::flush - Flush current buffer

XMLWriter::openURI
XMLWriter::setIndentString
XMLWriter Функции


Set string used for indenting

XMLWriter::outputMemory
XMLWriter::setIndent
XMLWriter Функции
PHP Manual

XMLWriter::setIndentString

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::setIndentString — Set string used for indenting

Описание

Oriented object style

XMLWriter
bool setIndentString ( string $indentString )

Procedural style

bool xmlwriter_set_indent_string ( resource $xmlwriter , string $indentString )

Sets the string which will be used to indent each element/attribute of the resulting xml.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

indentString

The indentation string.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::setIndent - Toggle indentation on/off

XMLWriter::outputMemory
XMLWriter::setIndent
XMLWriter Функции


Toggle indentation on/off

XMLWriter::setIndentString
XMLWriter::startAttributeNS
XMLWriter Функции
PHP Manual

XMLWriter::setIndent

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::setIndent — Toggle indentation on/off

Описание

Oriented object style

XMLWriter
bool setIndent ( bool $indent )

Procedural style

bool xmlwriter_set_indent ( resource $xmlwriter , bool $indent )

Toggles indentation on or off.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

indent

Whether indentation is enabled. Defaults to FALSE.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::setIndentString - Set string used for indenting

XMLWriter::setIndentString
XMLWriter::startAttributeNS
XMLWriter Функции


Create start namespaced attribute

XMLWriter::setIndent
XMLWriter::startAttribute
XMLWriter Функции
PHP Manual

XMLWriter::startAttributeNS

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startAttributeNS — Create start namespaced attribute

Описание

Oriented object style

XMLWriter
bool startAttributeNS ( string $prefix , string $name , string $uri )

Procedural style

bool xmlwriter_start_attribute_ns ( resource $xmlwriter , string $prefix , string $name , string $uri )

Starts a namespaced attribute.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

prefix

The namespace prefix.

name

The attribute name.

uri

The namespace URI.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::startAttribute - Create start attribute
  • XMLWriter::endAttribute - End attribute
  • XMLWriter::writeAttribute - Write full attribute
  • XMLWriter::writeAttributeNS - Write full namespaced attribute

XMLWriter::setIndent
XMLWriter::startAttribute
XMLWriter Функции


Create start attribute

XMLWriter::startAttributeNS
XMLWriter::startCData
XMLWriter Функции
PHP Manual

XMLWriter::startAttribute

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startAttribute — Create start attribute

Описание

Oriented object style

XMLWriter
bool startAttribute ( string $name )

Procedural style

bool xmlwriter_start_attribute ( resource $xmlwriter , string $name )

Starts an attribute.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

name

The attribute name.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::startAttributeNS - Create start namespaced attribute
  • XMLWriter::endAttribute - End attribute
  • XMLWriter::writeAttribute - Write full attribute
  • XMLWriter::writeAttributeNS - Write full namespaced attribute

XMLWriter::startAttributeNS
XMLWriter::startCData
XMLWriter Функции


Create start CDATA tag

XMLWriter::startAttribute
XMLWriter::startComment
XMLWriter Функции
PHP Manual

XMLWriter::startCData

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startCData — Create start CDATA tag

Описание

Oriented object style

XMLWriter
bool startCData ( void )

Procedural style

bool xmlwriter_start_cdata ( resource $xmlwriter )

Starts a CDATA.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::endCData - End current CDATA
  • XMLWriter::writeCData - Write full CDATA tag

XMLWriter::startAttribute
XMLWriter::startComment
XMLWriter Функции


Create start comment

XMLWriter::startCData
XMLWriter::startDocument
XMLWriter Функции
PHP Manual

XMLWriter::startComment

(PHP 5 >= 5.1.2, PECL xmlwriter >= 1.0.0)

XMLWriter::startComment — Create start comment

Описание

Oriented object style

XMLWriter
bool startComment ( void )

Procedural style

bool xmlwriter_start_comment ( resource $xmlwriter )

Starts a comment.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::endComment - Create end comment
  • XMLWriter::writeComment - Write full comment tag

XMLWriter::startCData
XMLWriter::startDocument
XMLWriter Функции


Create document tag

XMLWriter::startComment
XMLWriter::startDTDAttlist
XMLWriter Функции
PHP Manual

XMLWriter::startDocument

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startDocument — Create document tag

Описание

Oriented object style

XMLWriter
bool startDocument ([ string $version [, string $encoding [, string $standalone ]]] )

Procedural style

bool xmlwriter_start_document ( resource $xmlwriter [, string $version [, string $encoding [, string $standalone ]]] )

Starts a document.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

version

The version number of the document as part of the XML declaration. Defaults to 1.0.

encoding

The encoding of the document as part of the XML declaration. NULL by default.

standalone

yes or no. NULL by default.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::endDocument - End current document

XMLWriter::startComment
XMLWriter::startDTDAttlist
XMLWriter Функции


Create start DTD AttList

XMLWriter::startDocument
XMLWriter::startDTDElement
XMLWriter Функции
PHP Manual

XMLWriter::startDTDAttlist

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startDTDAttlist — Create start DTD AttList

Описание

Oriented object style

XMLWriter
bool startDTDAttlist ( string $name )

Procedural style

bool xmlwriter_start_dtd_attlist ( resource $xmlwriter , string $name )

Starts a DTD attribute list.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

name

The attribute list name.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::endDTDAttlist - End current DTD AttList
  • XMLWriter::writeDTDAttlist - Write full DTD AttList tag

XMLWriter::startDocument
XMLWriter::startDTDElement
XMLWriter Функции


Create start DTD element

XMLWriter::startDTDAttlist
XMLWriter::startDTDEntity
XMLWriter Функции
PHP Manual

XMLWriter::startDTDElement

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startDTDElement — Create start DTD element

Описание

Oriented object style

XMLWriter
bool startDTDElement ( string $qualifiedName )

Procedural style

bool xmlwriter_start_dtd_element ( resource $xmlwriter , string $qualifiedName )

Starts a DTD element.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

qualifiedName

The qualified name of the document type to create.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::endDTDElement - End current DTD element
  • XMLWriter::writeDTDElement - Write full DTD element tag

XMLWriter::startDTDAttlist
XMLWriter::startDTDEntity
XMLWriter Функции


Create start DTD Entity

XMLWriter::startDTDElement
XMLWriter::startDTD
XMLWriter Функции
PHP Manual

XMLWriter::startDTDEntity

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startDTDEntity — Create start DTD Entity

Описание

Oriented object style

XMLWriter
bool startDTDEntity ( string $name , bool $isparam )

Procedural style

bool xmlwriter_start_dtd_entity ( resource $xmlwriter , string $name , bool $isparam )

Starts a DTD entity.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

name

The name of the entity.

isparam

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::endDTDEntity - End current DTD Entity
  • XMLWriter::writeDTDEntity - Write full DTD Entity tag

XMLWriter::startDTDElement
XMLWriter::startDTD
XMLWriter Функции


Create start DTD tag

XMLWriter::startDTDEntity
XMLWriter::startElementNS
XMLWriter Функции
PHP Manual

XMLWriter::startDTD

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startDTD — Create start DTD tag

Описание

Oriented object style

XMLWriter
bool startDTD ( string $qualifiedName [, string $publicId [, string $systemId ]] )

Procedural style

bool xmlwriter_start_dtd ( resource $xmlwriter , string $qualifiedName [, string $publicId [, string $systemId ]] )

Starts a DTD.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

qualifiedName

The qualified name of the document type to create.

publicId

The external subset public identifier.

systemId

The external subset system identifier.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::endDTD - End current DTD
  • XMLWriter::writeDTD - Write full DTD tag

XMLWriter::startDTDEntity
XMLWriter::startElementNS
XMLWriter Функции


Create start namespaced element tag

XMLWriter::startDTD
XMLWriter::startElement
XMLWriter Функции
PHP Manual

XMLWriter::startElementNS

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startElementNS — Create start namespaced element tag

Описание

Oriented object style

XMLWriter
bool startElementNS ( string $prefix , string $name , string $uri )

Procedural style

bool xmlwriter_start_element_ns ( resource $xmlwriter , string $prefix , string $name , string $uri )

Starts a namespaced element.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

prefix

The namespace prefix.

name

The element name.

uri

The namespace URI.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::endElement - End current element
  • XMLWriter::writeElementNS - Write full namespaced element tag

XMLWriter::startDTD
XMLWriter::startElement
XMLWriter Функции


Create start element tag

XMLWriter::startElementNS
XMLWriter::startPI
XMLWriter Функции
PHP Manual

XMLWriter::startElement

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startElement — Create start element tag

Описание

Oriented object style

XMLWriter
bool startElement ( string $name )

Procedural style

bool xmlwriter_start_element ( resource $xmlwriter , string $name )

Starts an element.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

name

The element name.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::endElement - End current element
  • XMLWriter::writeElement - Write full element tag

XMLWriter::startElementNS
XMLWriter::startPI
XMLWriter Функции


Create start PI tag

XMLWriter::startElement
XMLWriter::text
XMLWriter Функции
PHP Manual

XMLWriter::startPI

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::startPI — Create start PI tag

Описание

Oriented object style

XMLWriter
bool startPI ( string $target )

Procedural style

bool xmlwriter_start_pi ( resource $xmlwriter , string $target )

Starts a processing instruction tag.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

target

The target of the processing instruction.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::endPI - End current PI
  • XMLWriter::writePI - Writes a PI

XMLWriter::startElement
XMLWriter::text
XMLWriter Функции


Write text

XMLWriter::startPI
XMLWriter::writeAttributeNS
XMLWriter Функции
PHP Manual

XMLWriter::text

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::text — Write text

Описание

Oriented object style

XMLWriter
bool text ( string $content )

Procedural style

bool xmlwriter_text ( resource $xmlwriter , string $content )

Writes a text.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

content

The contents of the text.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

XMLWriter::startPI
XMLWriter::writeAttributeNS
XMLWriter Функции


Write full namespaced attribute

XMLWriter::text
XMLWriter::writeAttribute
XMLWriter Функции
PHP Manual

XMLWriter::writeAttributeNS

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeAttributeNS — Write full namespaced attribute

Описание

Oriented object style

XMLWriter
bool writeAttributeNS ( string $prefix , string $name , string $uri , string $content )

Procedural style

bool xmlwriter_write_attribute_ns ( resource $xmlwriter , string $prefix , string $name , string $uri , string $content )

Writes a full namespaced attribute.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

prefix

The namespace prefix.

name

The attribute name.

uri

The namespace URI.

content

The attribute value.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::writeAttribute - Write full attribute
  • XMLWriter::startAttribute - Create start attribute
  • XMLWriter::startAttributeNS - Create start namespaced attribute
  • XMLWriter::endAttribute - End attribute

XMLWriter::text
XMLWriter::writeAttribute
XMLWriter Функции


Write full attribute

XMLWriter::writeAttributeNS
XMLWriter::writeCData
XMLWriter Функции
PHP Manual

XMLWriter::writeAttribute

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeAttribute — Write full attribute

Описание

Oriented object style

XMLWriter
bool writeAttribute ( string $name , string $value )

Procedural style

bool xmlwriter_write_attribute ( resource $xmlwriter , string $name , string $value )

Writes a full attribute.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

name

The name of the attribute.

value

The value of the attribute.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::writeAttributeNS - Write full namespaced attribute
  • XMLWriter::startAttribute - Create start attribute
  • XMLWriter::startAttributeNS - Create start namespaced attribute
  • XMLWriter::endAttribute - End attribute

XMLWriter::writeAttributeNS
XMLWriter::writeCData
XMLWriter Функции


Write full CDATA tag

XMLWriter::writeAttribute
XMLWriter::writeComment
XMLWriter Функции
PHP Manual

XMLWriter::writeCData

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeCData — Write full CDATA tag

Описание

Oriented object style

XMLWriter
bool writeCData ( string $content )

Procedural style

bool xmlwriter_write_cdata ( resource $xmlwriter , string $content )

Writes a full CDATA.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

content

The contents of the CDATA.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::startCData - Create start CDATA tag
  • XMLWriter::endCData - End current CDATA

XMLWriter::writeAttribute
XMLWriter::writeComment
XMLWriter Функции


Write full comment tag

XMLWriter::writeCData
XMLWriter::writeDTDAttlist
XMLWriter Функции
PHP Manual

XMLWriter::writeComment

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeComment — Write full comment tag

Описание

Oriented object style

XMLWriter
bool writeComment ( string $content )

Procedural style

bool xmlwriter_write_comment ( resource $xmlwriter , string $content )

Writes a full comment.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

content

The contents of the comment.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::startComment - Create start comment
  • XMLWriter::endComment - Create end comment

XMLWriter::writeCData
XMLWriter::writeDTDAttlist
XMLWriter Функции


Write full DTD AttList tag

XMLWriter::writeComment
XMLWriter::writeDTDElement
XMLWriter Функции
PHP Manual

XMLWriter::writeDTDAttlist

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeDTDAttlist — Write full DTD AttList tag

Описание

Oriented object style

XMLWriter
bool writeDTDAttlist ( string $name , string $content )

Procedural style

bool xmlwriter_write_dtd_attlist ( resource $xmlwriter , string $name , string $content )

Writes a DTD attribute list.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

name

The name of the DTD attribute list.

content

The content of the DTD attribute list.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::startDTDAttlist - Create start DTD AttList
  • XMLWriter::endDTDAttlist - End current DTD AttList

XMLWriter::writeComment
XMLWriter::writeDTDElement
XMLWriter Функции


Write full DTD element tag

XMLWriter::writeDTDAttlist
XMLWriter::writeDTDEntity
XMLWriter Функции
PHP Manual

XMLWriter::writeDTDElement

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeDTDElement — Write full DTD element tag

Описание

Oriented object style

XMLWriter
bool writeDTDElement ( string $name , string $content )

Procedural style

bool xmlwriter_write_dtd_element ( resource $xmlwriter , string $name , string $content )

Writes a full DTD element.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

name

The name of the DTD element.

content

The content of the element.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::startDTDElement - Create start DTD element
  • XMLWriter::endDTDElement - End current DTD element

XMLWriter::writeDTDAttlist
XMLWriter::writeDTDEntity
XMLWriter Функции


Write full DTD Entity tag

XMLWriter::writeDTDElement
XMLWriter::writeDTD
XMLWriter Функции
PHP Manual

XMLWriter::writeDTDEntity

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeDTDEntity — Write full DTD Entity tag

Описание

Oriented object style

XMLWriter
bool writeDTDEntity ( string $name , string $content , bool $pe , string $pubid , string $sysid , string $ndataid )

Procedural style

bool xmlwriter_write_dtd_entity ( resource $xmlwriter , string $name , string $content , bool $pe , string $pubid , string $sysid , string $ndataid )

Writes a full DTD entity.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

name

The name of the entity.

content

The content of the entity.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::startDTDEntity - Create start DTD Entity
  • XMLWriter::endDTDEntity - End current DTD Entity

XMLWriter::writeDTDElement
XMLWriter::writeDTD
XMLWriter Функции


Write full DTD tag

XMLWriter::writeDTDEntity
XMLWriter::writeElementNS
XMLWriter Функции
PHP Manual

XMLWriter::writeDTD

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeDTD — Write full DTD tag

Описание

Oriented object style

XMLWriter
bool writeDTD ( string $name [, string $publicId [, string $systemId [, string $subset ]]] )

Procedural style

bool xmlwriter_write_dtd ( resource $xmlwriter , string $name [, string $publicId [, string $systemId [, string $subset ]]] )

Writes a full DTD.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

name

The DTD name.

publicId

The external subset public identifier.

systemId

The external subset system identifier.

subset

The content of the DTD.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::startDTD - Create start DTD tag
  • XMLWriter::endDTD - End current DTD

XMLWriter::writeDTDEntity
XMLWriter::writeElementNS
XMLWriter Функции


Write full namespaced element tag

XMLWriter::writeDTD
XMLWriter::writeElement
XMLWriter Функции
PHP Manual

XMLWriter::writeElementNS

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeElementNS — Write full namespaced element tag

Описание

Oriented object style

XMLWriter
bool writeElementNS ( string $prefix , string $name , string $uri [, string $content ] )

Procedural style

bool xmlwriter_write_element_ns ( resource $xmlwriter , string $prefix , string $name , string $uri [, string $content ] )

Writes a full namespaced element tag.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

prefix

The namespace prefix.

name

The element name.

uri

The namespace URI.

content

The element contents.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
PHP 5.2.3 | The content parameter became optional.

Смотрите также

  • XMLWriter::startElementNS - Create start namespaced element tag
  • XMLWriter::endElement - End current element
  • XMLWriter::writeElement - Write full element tag

XMLWriter::writeDTD
XMLWriter::writeElement
XMLWriter Функции


Write full element tag

XMLWriter::writeElementNS
XMLWriter::writePI
XMLWriter Функции
PHP Manual

XMLWriter::writeElement

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writeElement — Write full element tag

Описание

Oriented object style

XMLWriter
bool writeElement ( string $name [, string $content ] )

Procedural style

bool xmlwriter_write_element ( resource $xmlwriter , string $name [, string $content ] )

Writes a full element tag.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

name

The element name.

content

The element contents.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия | Описание
PHP 5.2.3 | The content parameter became optional.

Смотрите также

  • XMLWriter::startElement - Create start element tag
  • XMLWriter::endElement - End current element
  • XMLWriter::writeElementNS - Write full namespaced element tag

XMLWriter::writeElementNS
XMLWriter::writePI
XMLWriter Функции


Writes a PI

XMLWriter::writeElement
XMLWriter::writeRaw
XMLWriter Функции
PHP Manual

XMLWriter::writePI

(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)

XMLWriter::writePI — Writes a PI

Описание

Oriented object style

XMLWriter
bool writePI ( string $target , string $content )

Procedural style

bool xmlwriter_write_pi ( resource $xmlwriter , string $target , string $content )

Writes a processing instruction.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

target

The target of the processing instruction.

content

The content of the processing instruction.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::startPI - Create start PI tag
  • XMLWriter::endPI - End current PI

XMLWriter::writeElement
XMLWriter::writeRaw
XMLWriter Функции


Write a raw XML text

XMLWriter::writePI
XSL
XMLWriter Функции
PHP Manual

XMLWriter::writeRaw

(PHP 5 >= 5.2.0, PECL xmlwriter >= 2.0.4)

XMLWriter::writeRaw — Write a raw XML text

Описание

Oriented object style

XMLWriter
bool writeRaw ( string $content )

Procedural style

bool xmlwriter_write_raw ( resource $xmlwriter , string $content )

Writes a raw xml text.

Список параметров

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

content

The text string to write.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XMLWriter::text - Write text

XMLWriter::writePI
XSL
XMLWriter Функции


XSL

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • Примеры
    • collection.xml
  • XSLTProcessor — The XSLTProcessor class
    • XSLTProcessor::__construct — Creates a new XSLTProcessor object
    • XSLTProcessor::getParameter — Get value of a parameter
    • XSLTProcessor::hasExsltSupport — Determine if PHP has EXSLT support
    • XSLTProcessor::importStylesheet — Import stylesheet
    • XSLTProcessor::registerPHPFunctions — Enables the ability to use PHP functions as XSLT functions
    • XSLTProcessor::removeParameter — Remove parameter
    • XSLTProcessor::setParameter — Set value for a parameter
    • XSLTProcessor::setProfiling — Sets profiling output file
    • XSLTProcessor::transformToDoc — Transform to a DOMDocument
    • XSLTProcessor::transformToUri — Transform to URI
    • XSLTProcessor::transformToXML — Transform to XML
XMLWriter::writeRaw
Введение
XML Manipulation


Введение

The XSL extension implements the XSL standard, performing » XSLT transformations using the » libxslt library

XSL
Установка и настройка
XSL


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
XSL


Требования

This extension uses libxslt which can be found at » http://xmlsoft.org/XSLT/. libxslt version 1.1.0 or greater is required.

Установка и настройка
Установка
Установка и настройка


Установка

PHP 5 includes the XSL extension by default and can be enabled by adding the argument --with-xsl[=DIR] to your configure line. DIR is the libxslt installation directory.

Требования
Настройка во время выполнения
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение подгружается во время выполнения.

XSL_CLONE_AUTO (integer)
XSL_CLONE_NEVER (integer)
XSL_CLONE_ALWAYS (integer)
LIBXSLT_VERSION (integer)
libxslt version like 10117. Available as of PHP 5.1.2.
LIBXSLT_DOTTED_VERSION (string)
libxslt version like 1.1.17. Available as of PHP 5.1.2.
LIBEXSLT_VERSION (integer)
libexslt version like 813. Available as of PHP 5.1.2.
LIBEXSLT_DOTTED_VERSION (string)
libexslt version like 1.1.17. Available as of PHP 5.1.2.
Типы ресурсов
Примеры
XSL


Примеры

Содержание

  • collection.xml
Предопределенные константы
collection.xml
XSL


collection.xml

Примеры
XSLTProcessor
Примеры
PHP Manual

Many examples in this reference require both an XML and an XSL file. We will use collection.xml and collection.xsl that contains the following:

Пример #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
Примеры


The XSLTProcessor class

Введение

Description of the class.

Class synopsis

XSLTProcessor
XSLTProcessor {
/* Methods */
string getParameter ( string $namespaceURI , string $localName )
bool hasExsltSupport ( void )
void importStylesheet ( DOMDocument $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 — Creates a new XSLTProcessor object
  • XSLTProcessor::getParameter — Get value of a parameter
  • XSLTProcessor::hasExsltSupport — Determine if PHP has EXSLT support
  • XSLTProcessor::importStylesheet — Import stylesheet
  • XSLTProcessor::registerPHPFunctions — Enables the ability to use PHP functions as XSLT functions
  • XSLTProcessor::removeParameter — Remove parameter
  • XSLTProcessor::setParameter — Set value for a parameter
  • XSLTProcessor::setProfiling — Sets profiling output file
  • XSLTProcessor::transformToDoc — Transform to a DOMDocument
  • XSLTProcessor::transformToUri — Transform to URI
  • XSLTProcessor::transformToXML — Transform to XML
collection.xml
XSLTProcessor::__construct
XSL


Creates a new XSLTProcessor object

XSLTProcessor
XSLTProcessor::getParameter
XSLTProcessor
PHP Manual

XSLTProcessor::__construct

(PHP 5)

XSLTProcessor::__construct — Creates a new XSLTProcessor object

Описание

XSLTProcessor
__construct ( void )

Creates a new XSLTProcessor object.

Список параметров

This function has no parameters.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Creating an 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


Get value of a parameter

XSLTProcessor::__construct
XSLTProcessor::hasExsltSupport
XSLTProcessor
PHP Manual

XSLTProcessor::getParameter

(PHP 5)

XSLTProcessor::getParameter — Get value of a parameter

Описание

XSLTProcessor
string getParameter ( string $namespaceURI , string $localName )

Gets a parameter if previously set by XSLTProcessor::setParameter().

Список параметров

namespaceURI

The namespace URI of the XSLT parameter.

localName

The local name of the XSLT parameter.

Возвращаемые значения

The value of the parameter or NULL if it's not set.

Смотрите также

  • XSLTProcessor::setParameter() - Set value for a parameter
  • XSLTProcessor::removeParameter() - Remove parameter

XSLTProcessor::__construct
XSLTProcessor::hasExsltSupport
XSLTProcessor


Determine if PHP has EXSLT support

XSLTProcessor::getParameter
XSLTProcessor::importStylesheet
XSLTProcessor
PHP Manual

XSLTProcessor::hasExsltSupport

(PHP 5 >= 5.0.4)

XSLTProcessor::hasExsltSupport — Determine if PHP has EXSLT support

Описание

XSLTProcessor
bool hasExsltSupport ( void )

This method determine if PHP was built with the » EXSLT library.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Testing EXSLT support

<?php

$proc = new XSLTProcessor;
if (!$proc->hasExsltSupport()) {
    die('EXSLT support not available');
}

// do EXSLT stuff here ..

?>

XSLTProcessor::getParameter
XSLTProcessor::importStylesheet
XSLTProcessor


Import stylesheet

XSLTProcessor::hasExsltSupport
XSLTProcessor::registerPHPFunctions
XSLTProcessor
PHP Manual

XSLTProcessor::importStylesheet

(PHP 5)

XSLTProcessor::importStylesheet — Import stylesheet

Описание

XSLTProcessor
void importStylesheet ( DOMDocument $stylesheet )

This method import the stylesheet into the XSLTProcessor for transformations.

Список параметров

stylesheet

The imported style sheet as a DOMDocument object.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

XSLTProcessor::hasExsltSupport
XSLTProcessor::registerPHPFunctions
XSLTProcessor


Enables the ability to use PHP functions as XSLT functions

XSLTProcessor::importStylesheet
XSLTProcessor::removeParameter
XSLTProcessor
PHP Manual

XSLTProcessor::registerPHPFunctions

(PHP 5 >= 5.0.4)

XSLTProcessor::registerPHPFunctions — Enables the ability to use PHP functions as XSLT functions

Описание

XSLTProcessor
void registerPHPFunctions ([ mixed $restrict ] )

This method enables the ability to use PHP functions as XSLT functions within XSL stylesheets.

Список параметров

restrict

Use this parameter to only allow certain functions to be called from XSLT.

This parameter can be either a string (a function name) or an array of functions.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Simple PHP Function call from a stylesheet

<?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 | The restrict parameter was added.

XSLTProcessor::importStylesheet
XSLTProcessor::removeParameter
XSLTProcessor


Remove parameter

XSLTProcessor::registerPHPFunctions
XSLTProcessor::setParameter
XSLTProcessor
PHP Manual

XSLTProcessor::removeParameter

(PHP 5)

XSLTProcessor::removeParameter — Remove parameter

Описание

XSLTProcessor
bool removeParameter ( string $namespaceURI , string $localName )

Removes a parameter, if set. This will make the processor use the default value for the parameter as specified in the stylesheet.

Список параметров

namespaceURI

The namespace URI of the XSLT parameter.

localName

The local name of the XSLT parameter.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

  • XSLTProcessor::setParameter() - Set value for a parameter
  • XSLTProcessor::getParameter() - Get value of a parameter

XSLTProcessor::registerPHPFunctions
XSLTProcessor::setParameter
XSLTProcessor


Set value for a parameter

XSLTProcessor::removeParameter
XSLTProcessor::setProfiling
XSLTProcessor
PHP Manual

XSLTProcessor::setParameter

(PHP 5)

XSLTProcessor::setParameter — Set value for a parameter

Описание

XSLTProcessor
bool setParameter ( string $namespace , string $name , string $value )
XSLTProcessor
bool setParameter ( string $namespace , array $options )

Sets the value of one or more parameters to be used in subsequent transformations with XSLTProcessor. If the parameter doesn't exist in the stylesheet it will be ignored.

Список параметров

namespace

The namespace URI of the XSLT parameter.

name

The local name of the XSLT parameter.

value

The new value of the XSLT parameter.

options

An array of name => value pairs. This syntax is available since PHP 5.1.0.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Changing the owner before the transformation

<?php

$collections = array(
    'Marc Rutkowski' => 'marc',
    'Olivier Parmentier' => 'olivier'
);

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Configure the transformer
$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() - Get value of a parameter
  • XSLTProcessor::removeParameter() - Remove parameter

XSLTProcessor::removeParameter
XSLTProcessor::setProfiling
XSLTProcessor


Sets profiling output file

XSLTProcessor::setParameter
XSLTProcessor::transformToDoc
XSLTProcessor
PHP Manual

XSLTProcessor::setProfiling

(PHP >= 5.3.0)

XSLTProcessor::setProfiling — Sets profiling output file

Описание

XSLTProcessor
bool setProfiling ( string $filename )

Sets the file to output profiling information when processing a stylesheet.

Список параметров

filename

Path to the file to dump profiling information.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Example profiling output

<?php
// Load the XML source
$xml = new DOMDocument;
$xml->load('collection.xml');

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Configure the transformer
$proc = new XSLTProcessor;
$proc->setProfiling('profiling.txt');
$proc->importStyleSheet($xsl); // attach the xsl rules

echo trim($proc->transformToDoc($xml)->firstChild->wholeText);
?>

The above code will produce the following information in the profiling file:

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


Transform to a DOMDocument

XSLTProcessor::setProfiling
XSLTProcessor::transformToUri
XSLTProcessor
PHP Manual

XSLTProcessor::transformToDoc

(PHP 5)

XSLTProcessor::transformToDoc — Transform to a DOMDocument

Описание

XSLTProcessor
DOMDocument transformToDoc ( DOMNode $doc )

Transforms the source node to a DOMDocument applying the stylesheet given by the XSLTProcessor::importStylesheet() method.

Список параметров

doc

The node to be transformed.

Возвращаемые значения

The resulting DOMDocument or FALSE on error.

Примеры

Пример #1 Transforming to a DOMDocument

<?php

// Load the XML source
$xml = new DOMDocument;
$xml->load('collection.xml');

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Configure the transformer
$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() - Transform to URI
  • XSLTProcessor::transformToXml() - Transform to XML

XSLTProcessor::setProfiling
XSLTProcessor::transformToUri
XSLTProcessor


Transform to URI

XSLTProcessor::transformToDoc
XSLTProcessor::transformToXML
XSLTProcessor
PHP Manual

XSLTProcessor::transformToUri

(PHP 5)

XSLTProcessor::transformToUri — Transform to URI

Описание

XSLTProcessor
int transformToURI ( DOMDocument $doc , string $uri )

Transforms the source node to an URI applying the stylesheet given by the XSLTProcessor::importStylesheet() method.

Список параметров

doc

The transformed document.

uri

Возвращаемые значения

Returns the number of bytes written or FALSE if an error occurred.

Примеры

Пример #1 Transforming to a HTML file

<?php

// Load the XML source
$xml = new DOMDocument;
$xml->load('collection.xml');

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Configure the transformer
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attach the xsl rules

$proc->transformToURI($xml, 'file:///tmp/out.html');

?>

Смотрите также

  • XSLTProcessor::transformToDoc() - Transform to a DOMDocument
  • XSLTProcessor::transformToXml() - Transform to XML

XSLTProcessor::transformToDoc
XSLTProcessor::transformToXML
XSLTProcessor


Transform to XML

XSLTProcessor::transformToUri
XSLT (PHP4)
XSLTProcessor
PHP Manual

XSLTProcessor::transformToXML

(PHP 5)

XSLTProcessor::transformToXML — Transform to XML

Описание

XSLTProcessor
string transformToXML ( DOMDocument $doc )

Transforms the source node to a string applying the stylesheet given by the xsltprocessor::importStylesheet() method.

Список параметров

doc

The transformed document.

Возвращаемые значения

The result of the transformation as a string or FALSE on error.

Примеры

Пример #1 Transforming to a string

<?php

// Load the XML source
$xml = new DOMDocument;
$xml->load('collection.xml');

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Configure the transformer
$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() - Transform to a DOMDocument
  • XSLTProcessor::transformToUri() - Transform to URI

XSLTProcessor::transformToUri
XSLT (PHP4)
XSLTProcessor


XSLT (PHP4)

  • Введение
  • Установка и настройка
    • Требования
    • Установка
    • Настройка во время выполнения
    • Типы ресурсов
  • Предопределенные константы
  • XSLT (PHP4) Функции
    • xslt_backend_info — Returns the information on the compilation settings of the backend
    • xslt_backend_name — Returns the name of the backend
    • xslt_backend_version — Returns the version number of Sablotron
    • xslt_create — Create a new XSLT processor
    • xslt_errno — Returns an error number
    • xslt_error — Returns an error string
    • xslt_free — Free XSLT processor
    • xslt_getopt — Get options on a given xsl processor
    • xslt_process — Perform an XSLT transformation
    • xslt_set_base — Set the base URI for all XSLT transformations
    • xslt_set_encoding — Set the encoding for the parsing of XML documents
    • xslt_set_error_handler — Set an error handler for a XSLT processor
    • xslt_set_log — Set the log file to write log messages to
    • xslt_set_object — Sets the object in which to resolve callback functions
    • xslt_set_sax_handler — Set SAX handlers for a XSLT processor
    • xslt_set_sax_handlers — Set the SAX handlers to be called when the XML document gets processed
    • xslt_set_scheme_handler — Set Scheme handlers for a XSLT processor
    • xslt_set_scheme_handlers — Set the scheme handlers for the XSLT processor
    • xslt_setopt — Set options on a given xsl processor
XSLTProcessor::transformToXML
Введение
XML Manipulation


Введение

This PHP extension provides a processor independent API to XSLT transformations. Currently this extension only supports the Sablotron library from the Ginger Alliance. Support is planned for other libraries, such as the Xalan library or the libxslt library.

XSLT (Extensible Stylesheet Language (XSL) Transformations) is a language for transforming XML documents into other XML documents. It is a standard defined by The World Wide Web Consortium (W3C). Information about XSLT and related technologies can be found at » http://www.w3.org/TR/xslt.

Замечание: This extension is different than the sablotron extension distributed with versions of PHP prior to PHP 4.1.0, currently only the new XSLT extension in PHP 4.1.0 is supported. If you need support for the old extension, please ask your questions on the PHP mailing lists.

Замечание: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 5.0.0.

Замечание: If you need xslt support with PHP 5 you can use the XSL extension.

XSLT (PHP4)
Установка и настройка
XSLT (PHP4)


Установка и настройка

Содержание

  • Требования
  • Установка
  • Настройка во время выполнения
  • Типы ресурсов
Введение
Требования
XSLT (PHP4)


Требования

This extension uses Sablotron and expat, which can both be found at » http://www.gingerall.org/sablotron.html. Binaries are provided as well as source.

Установка и настройка
Установка
Установка и настройка


Установка

On Unix, run configure with the --enable-xslt --with-xslt-sablot options. The Sablotron library should be installed somewhere your compiler can find it.

Make sure you have the same libraries linked to the Sablotron library as those, which are linked with PHP. The configuration options: --with-expat-dir=DIR --with-iconv-dir=DIR are there to help you specify them. When asking for support, always mention these directives, and whether there are other versions of those libraries installed on your system somewhere. Naturally, provide all the version numbers.

Предостережение

Be sure your Sablotron library is linked to -lstdc++ as otherwise your configure will fail, or PHP will fail to run or load.

Замечание: JavaScript E-XSLT support
If you compiled Sablotron with JavaScript support, you must specify the option: --with-sablot-js=DIR.

Замечание: Note to Win32 Users
In order for this extension to work, there are DLL files that must be available to the Windows system PATH. For information on how to do this, see the FAQ entitled "How do I add my PHP directory to the PATH on Windows". Although copying DLL files from the PHP folder into the Windows system directory also works (because the system directory is by default in the system's PATH), this is not recommended. This extension requires the following files to be in the PATH: sablot.dll, expat.dll, and iconv.dll
For PHP <= 4.2.0, the file iconv.dll is not required.

Требования
Настройка во время выполнения
Установка и настройка


Типы ресурсов

This extension defines a XSLT processor resource returned by xslt_create().

Настройка во время выполнения
Предопределенные константы
Установка и настройка


Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение подгружается во время выполнения.

XSLT_OPT_SILENT (integer)
Drop all logging and error reporting. This is a generic option for all backends that may be added in the future.
XSLT_SABOPT_PARSE_PUBLIC_ENTITIES (integer)

Tell Sablotron to parse public entities. By default this has been turned off.

XSLT_SABOPT_DISABLE_ADDING_META (integer)

Do not add the meta tag "Content-Type" for HTML output. The default is set during compilation of Sablotron.

XSLT_SABOPT_DISABLE_STRIPPING (integer)
Suppress the whitespace stripping (on data files only).
XSLT_SABOPT_IGNORE_DOC_NOT_FOUND (integer)
Consider unresolved documents (the document() function) non-lethal.
XSLT_SABOPT_FILES_TO_HANDLER (integer)
XSLT_ERR_UNSUPPORTED_SCHEME (integer)
Error return code, for scheme handlers.
Типы ресурсов
XSLT (PHP4) Функции
XSLT (PHP4)


XSLT (PHP4) Функции

Содержание

  • xslt_backend_info — Returns the information on the compilation settings of the backend
  • xslt_backend_name — Returns the name of the backend
  • xslt_backend_version — Returns the version number of Sablotron
  • xslt_create — Create a new XSLT processor
  • xslt_errno — Returns an error number
  • xslt_error — Returns an error string
  • xslt_free — Free XSLT processor
  • xslt_getopt — Get options on a given xsl processor
  • xslt_process — Perform an XSLT transformation
  • xslt_set_base — Set the base URI for all XSLT transformations
  • xslt_set_encoding — Set the encoding for the parsing of XML documents
  • xslt_set_error_handler — Set an error handler for a XSLT processor
  • xslt_set_log — Set the log file to write log messages to
  • xslt_set_object — Sets the object in which to resolve callback functions
  • xslt_set_sax_handler — Set SAX handlers for a XSLT processor
  • xslt_set_sax_handlers — Set the SAX handlers to be called when the XML document gets processed
  • xslt_set_scheme_handler — Set Scheme handlers for a XSLT processor
  • xslt_set_scheme_handlers — Set the scheme handlers for the XSLT processor
  • xslt_setopt — Set options on a given xsl processor
Предопределенные константы
xslt_backend_info
XSLT (PHP4)


Returns the information on the compilation settings of the backend

XSLT (PHP4) Функции
xslt_backend_name
XSLT (PHP4) Функции
PHP Manual

xslt_backend_info

(PHP 4 >= 4.3.0)

xslt_backend_info — Returns the information on the compilation settings of the backend

Описание

string xslt_backend_info ( void )

xslt_backend_info() gets information about the compilation settings of the backend.

Возвращаемые значения

Returns a string with information about the compilation setting of the backend or an error string when no information available.

Смотрите также

  • xslt_backend_name() - Returns the name of the backend
  • xslt_backend_version() - Returns the version number of Sablotron

XSLT (PHP4) Функции
xslt_backend_name
XSLT (PHP4) Функции


Returns the name of the backend

xslt_backend_info
xslt_backend_version
XSLT (PHP4) Функции
PHP Manual

xslt_backend_name

(PHP 4 >= 4.3.0)

xslt_backend_name — Returns the name of the backend

Описание

string xslt_backend_name ( void )

xslt_backend_name() gets the name of the backend.

Возвращаемые значения

Returns Sablotron.

Примеры

Пример #1 xslt_backend_name() example

<?php

echo xslt_backend_name(); // Sablotron

?>

Смотрите также

  • xslt_backend_info() - Returns the information on the compilation settings of the backend
  • xslt_backend_version() - Returns the version number of Sablotron

xslt_backend_info
xslt_backend_version
XSLT (PHP4) Функции


Returns the version number of Sablotron

xslt_backend_name
xslt_create
XSLT (PHP4) Функции
PHP Manual

xslt_backend_version

(PHP 4 >= 4.3.0)

xslt_backend_version — Returns the version number of Sablotron

Описание

string xslt_backend_version ( void )

xslt_backend_version() gets the version number of Sablotron.

Возвращаемые значения

Returns the version number, or FALSE if not available.

Примеры

Пример #1 xslt_backend_version() example

<?php

echo xslt_backend_version(); // 0.98 for example

?>

Смотрите также

  • xslt_backend_info() - Returns the information on the compilation settings of the backend
  • xslt_backend_name() - Returns the name of the backend

xslt_backend_name
xslt_create
XSLT (PHP4) Функции


Create a new XSLT processor

xslt_backend_version
xslt_errno
XSLT (PHP4) Функции
PHP Manual

xslt_create

(PHP 4 >= 4.0.3)

xslt_create — Create a new XSLT processor

Описание

resource xslt_create ( void )

Create and return a new XSLT processor resource for manipulation by the other XSLT functions.

Возвращаемые значения

Returns an XSLT processor link identifier on success, or FALSE on error.

Примеры

Пример #1 xslt_create() example

<?php
function xml2html($xmldata, $xsl)
{
    /* $xmldata -> your XML */
    /* $xsl -> XSLT file */

    $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 processing error: '. xslt_error($xsltproc));
    }
    xslt_free($xsltproc);
    return $html;
}
?>

Смотрите также

  • xslt_free() - Free XSLT processor

xslt_backend_version
xslt_errno
XSLT (PHP4) Функции


Returns an error number

xslt_create
xslt_error
XSLT (PHP4) Функции
PHP Manual

xslt_errno

(PHP 4 >= 4.0.3)

xslt_errno — Returns an error number

Описание

int xslt_errno ( resource $xh )

Returns an error code describing the last error that occurred on the passed XSLT processor.

Список параметров

xh

The XSLT processor link identifier, created with xslt_create().

Возвращаемые значения

Returns the error code, as an integer.

Смотрите также

  • xslt_error() - Returns an error string

xslt_create
xslt_error
XSLT (PHP4) Функции


Returns an error string

xslt_errno
xslt_free
XSLT (PHP4) Функции
PHP Manual

xslt_error

(PHP 4 >= 4.0.3)

xslt_error — Returns an error string

Описание

string xslt_error ( resource $xh )

Returns a string describing the last error that occurred on the passed XSLT processor.

Список параметров

xh

The XSLT processor link identifier, created with xslt_create().

Возвращаемые значения

Returns the error message, as a string.

Примеры

Пример #1 Handling errors using the xslt_error() and xslt_errno() functions.

<?php

$xh = xslt_create();
$result = xslt_process($xh, 'dog.xml', 'pets.xsl');
if (!$result) {
    die(sprintf("Cannot process XSLT document [%d]: %s",
                xslt_errno($xh), xslt_error($xh)));
}

echo $result;

xslt_free($xh);
?>

Смотрите также

  • xslt_errno() - Returns an error number

xslt_errno
xslt_free
XSLT (PHP4) Функции


Free XSLT processor

xslt_error
xslt_getopt
XSLT (PHP4) Функции
PHP Manual

xslt_free

(PHP 4 >= 4.0.3)

xslt_free — Free XSLT processor

Описание

void xslt_free ( resource $xh )

Free the XSLT processor identified by the given handle.

Список параметров

xh

The XSLT processor link identifier, created with xslt_create().

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Смотрите также

  • xslt_create() - Create a new XSLT processor

xslt_error
xslt_getopt
XSLT (PHP4) Функции


Get options on a given xsl processor

xslt_free
xslt_process
XSLT (PHP4) Функции
PHP Manual

xslt_getopt

(PHP 4 >= 4.3.0)

xslt_getopt — Get options on a given xsl processor

Описание

int xslt_getopt ( resource $processor )

xslt_getopt() returns the options on the given processor .

Список параметров

processor

The XSLT processor link identifier, created with xslt_create().

Возвращаемые значения

Returns the options, a bitmask constructed with the XSLT_SABOPT_XXX constants.

Смотрите также

  • xslt_setopt() - Set options on a given xsl processor

xslt_free
xslt_process
XSLT (PHP4) Функции


Perform an XSLT transformation

xslt_getopt
xslt_set_base
XSLT (PHP4) Функции
PHP Manual

xslt_process

(PHP 4 >= 4.0.3)

xslt_process — Perform an XSLT transformation

Описание

mixed xslt_process ( resource $xh , string $xmlcontainer , string $xslcontainer [, string $resultcontainer [, array $arguments [, array $parameters ]]] )

The xslt_process() function is the crux of the XSLT extension. It allows you to perform an XSLT transformation using almost any type of input source - the containers. This is accomplished through the use of argument buffers -- a concept taken from the Sablotron XSLT processor (currently the only XSLT processor this extension supports). The input containers default to a filename 'containing' the document to be processed.

Список параметров

xh

The XSLT processor link identifier, created with xslt_create().

xmlcontainer

Path to XML file or placeholder for the XML argument.

xslcontainer

Path to XSL file or placeholder for the XML argument.

resultcontainer

The result container defaults to a filename for the transformed document. If the result container is not specified - i.e. NULL - than the result is returned.

arguments

Instead of files as the XML and XSLT arguments to the xslt_process() function, you can specify "argument place holders" which are then substituted by values given in the arguments array.

parameters

An array for any top-level parameters that will be passed to the XSLT document. These parameters can then be accessed within your XSL files using the <xsl:param name="parameter_name"> instruction. The parameters must be UTF-8 encoded and their values will be interpreted as strings by the Sablotron processor. In other words - you cannot pass node-sets as parameters to the XSLT document.

Containers can also be set via the arguments array (see below).

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. If the result container is not specified - i.e. NULL - than the result is returned.

Список изменений

Версия | Описание
4.0.6 | This function no longer takes XML strings in xmlcontainer or xslcontainer . Passing a string containing XML to either of these parameters will result in a segmentation fault in Sablotron versions up to and including version 0.95.

Примеры

The simplest type of transformation with the xslt_process() function is the transformation of an XML file with an XSLT file, placing the result in a third file containing the new XML (or HTML) document. Doing this with Sablotron is really quite easy...

Пример #1 Using the xslt_process() to transform an XML file and a XSL file to a new XML file

<?php

// Allocate a new XSLT processor
$xh = xslt_create();

// Process the document
if (xslt_process($xh, 'sample.xml', 'sample.xsl', 'result.xml')) {
    echo "SUCCESS, sample.xml was transformed by sample.xsl into result.xml";
    echo ", result.xml has the following contents\n<br />\n";
    echo "<pre>\n";
    readfile('result.xml');
    echo "</pre>\n";
} else {
    echo "Sorry, sample.xml could not be transformed by sample.xsl into";
    echo "  result.xml the reason is that " . xslt_error($xh) . " and the ";
    echo "error code is " . xslt_errno($xh);
}

xslt_free($xh);

?>

While this functionality is great, many times, especially in a web environment, you want to be able to print out your results directly. Therefore, if you omit the third argument to the xslt_process() function (or provide a NULL value for the argument), it will automatically return the value of the XSLT transformation, instead of writing it to a file...

Пример #2 Using the xslt_process() to transform an XML file and a XSL file to a variable containing the resulting XML data

<?php

// Allocate a new XSLT processor
$xh = xslt_create();

// Process the document, returning the result into the $result variable
$result = xslt_process($xh, 'sample.xml', 'sample.xsl');
if ($result) {
    echo "SUCCESS, sample.xml was transformed by sample.xsl into the \$result";
    echo " variable, the \$result variable has the following contents\n<br />\n";
    echo "<pre>\n";
    echo $result;
    echo "</pre>\n";
} else {
    echo "Sorry, sample.xml could not be transformed by sample.xsl into";
    echo "  the \$result variable the reason is that " . xslt_error($xh);
    echo " and the error code is " . xslt_errno($xh);
}

xslt_free($xh);

?>

The above two cases are the two simplest cases there are when it comes to XSLT transformation and I'd dare say that they are the most common cases, however, sometimes you get your XML and XSLT code from external sources, such as a database or a socket. In these cases you'll have the XML and/or XSLT data in a variable -- and in production applications the overhead of dumping these to file may be too much. This is where XSLT's "argument" syntax, comes to the rescue. Instead of files as the XML and XSLT arguments to the xslt_process() function, you can specify "argument place holders" which are then substituted by values given in the arguments array (5th parameter to the xslt_process() function). The following is an example of processing XML and XSLT into a result variable without the use of files at all.

Пример #3 Using the xslt_process() to transform a variable containing XML data and a variable containing XSL data into a variable containing the resulting XML data

<?php
// $xml and $xsl contain the XML and XSL data

$arguments = array(
     '/_xml' => $xml,
     '/_xsl' => $xsl
);

// Allocate a new XSLT processor
$xh = xslt_create();

// Process the document
$result = xslt_process($xh, 'arg:/_xml', 'arg:/_xsl', NULL, $arguments);
if ($result) {
    echo "SUCCESS, sample.xml was transformed by sample.xsl into the \$result";
    echo " variable, the \$result variable has the following contents\n<br />\n";
    echo "<pre>\n";
    echo $result;
    echo "</pre>\n";
} else {
    echo "Sorry, sample.xml could not be transformed by sample.xsl into";
    echo "  the \$result variable the reason is that " . xslt_error($xh);
    echo " and the error code is " . xslt_errno($xh);
}
xslt_free($xh);
?>

Пример #4 Passing PHP variables to XSL files

<?php

// XML string
$xml = '<?xml version="1.0"?>
<para>
 change me
</para>';

// XSL string
$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="/">
My PHP variable : <xsl:value-of select="$myvar"/><br />
My node set : <xsl:value-of select="$mynode"/>
 </xsl:template>
</xsl:stylesheet>';

$xh = xslt_create();

// the second parameter will be interpreted as a string
$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);

?>

Результат выполнения данного примера:

My PHP variable : test<br>
My node set : &lt;foo&gt;bar&lt;/foo&gt;

Примечания

Замечание: Учтите, что в случае использования Windows, вам нужно указать file:// в начале пути.

xslt_getopt
xslt_set_base
XSLT (PHP4) Функции


Set the base URI for all XSLT transformations

xslt_process
xslt_set_encoding
XSLT (PHP4) Функции
PHP Manual

xslt_set_base

(PHP 4 >= 4.0.5)

xslt_set_base — Set the base URI for all XSLT transformations

Описание

void xslt_set_base ( resource $xh , string $uri )

Sets the base URI for all XSLT transformations, the base URI is used with Xpath instructions to resolve document() and other commands which access external resources. It is also used to resolve URIs for the <xsl:include> and <xsl:import> elements.

Список параметров

xh

The XSLT processor link identifier, created with xslt_create().

uri

The base URI to be used.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Список изменений

Версия | Описание
4.3.0 | As of PHP 4.3.0, the default base URI is the directory of the executing script. In effect, it is the directory name value of the __FILE__ constant. The default base URI is less predictable with older versions.

Примечания

Замечание: Учтите, что в случае использования Windows, вам нужно указать file:// в начале пути.

xslt_process
xslt_set_encoding
XSLT (PHP4) Функции


Set the encoding for the parsing of XML documents

xslt_set_base
xslt_set_error_handler
XSLT (PHP4) Функции
PHP Manual

xslt_set_encoding

(PHP 4 >= 4.0.5)

xslt_set_encoding — Set the encoding for the parsing of XML documents

Описание

void xslt_set_encoding ( resource $xh , string $encoding )

Set the output encoding for the XSLT transformations. When using the Sablotron backend, this option is only available when you compile Sablotron with encoding support.

Список параметров

xh

The XSLT processor link identifier, created with xslt_create().

encoding

An output encoding, e.g iso-8859-1.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

xslt_set_base
xslt_set_error_handler
XSLT (PHP4) Функции


Set an error handler for a XSLT processor

xslt_set_encoding
xslt_set_log
XSLT (PHP4) Функции
PHP Manual

xslt_set_error_handler

(PHP 4 >= 4.0.4)

xslt_set_error_handler — Set an error handler for a XSLT processor

Описание

void xslt_set_error_handler ( resource $xh , mixed $handler )

Set an error handler function for the XSLT processor given by xh , this function will be called whenever an error occurs in the XSLT transformation (this function is also called for notices).

Список параметров

xh

The XSLT processor link identifier, created with xslt_create().

handler

The user function needs to accept four parameters: the XSLT processor, the error level, the error code and an array of messages. The function can be shown as:

error_handler ( resource $xh , int $error_level , int $error_code , array $messages )

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 xslt_set_error_handler() Example

<?php

// Our XSLT error handler
function xslt_error_handler($handler, $errno, $level, $info)
{
  // for now, let's just see the arguments
  var_dump(func_get_args());
}

// XML content :
$xml='<?xml version="1.0"?>
<para>
 oops, I misspelled the closing tag
</pata>';

// XSL content :
$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() - Sets the object in which to resolve callback functions if you want to use an object method as handler

xslt_set_encoding
xslt_set_log
XSLT (PHP4) Функции


Set the log file to write log messages to

xslt_set_error_handler
xslt_set_object
XSLT (PHP4) Функции
PHP Manual

xslt_set_log

(PHP 4 >= 4.0.6)

xslt_set_log — Set the log file to write log messages to

Описание

void xslt_set_log ( resource $xh [, mixed $log ] )

This function allows you to set the file in which you want XSLT log messages to, XSLT log messages are different than error messages, in that log messages are not actually error messages but rather messages related to the state of the XSLT processor. They are useful for debugging XSLT, when something goes wrong.

By default logging is disabled, in order to enable logging you must first call xslt_set_log() with a boolean parameter which enables logging, then if you want to set the log file to debug to, you must then pass it a string containing the filename.

Список параметров

xh

The XSLT processor link identifier, created with xslt_create().

log

This parameter is either a boolean value which toggles logging on and off, or a string containing the logfile in which log errors too.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примечания

Замечание: Учтите, что в случае использования Windows, вам нужно указать file:// в начале пути.

Примеры

Пример #1 Using the XSLT Logging features

<?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 (PHP4) Функции


Sets the object in which to resolve callback functions

xslt_set_log
xslt_set_sax_handler
XSLT (PHP4) Функции
PHP Manual

xslt_set_object

(PHP 4 >= 4.3.0)

xslt_set_object — Sets the object in which to resolve callback functions

Описание

bool xslt_set_object ( resource $processor , object &$obj )

This function allows to use the processor inside an object and to resolve all callback functions in it.

The callback functions can be declared with xslt_set_sax_handlers(), xslt_set_scheme_handlers() or xslt_set_error_handler() and are assumed to be methods of object .

Список параметров

processor

The XSLT processor link identifier, created with xslt_create().

obj

An object.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Using your own error handler as a method

<?php

class my_xslt_processor {

    var $_xh; // our XSLT processor

    function my_xslt_processor()
    {
        $this->_xh = xslt_create();

        // Make $this object the callback resolver
        xslt_set_object($this->_xh, $this);

        // Let's handle the errors
        xslt_set_error_handler($this->_xh, "my_xslt_error_handler");
    }

    function my_xslt_error_handler($handler, $errno, $level, $info)
    {
        // for now, let's just see the arguments
        var_dump(func_get_args());
    }
}

?>
xslt_set_log
xslt_set_sax_handler
XSLT (PHP4) Функции


Set SAX handlers for a XSLT processor

xslt_set_object
xslt_set_sax_handlers
XSLT (PHP4) Функции
PHP Manual

xslt_set_sax_handler

(PHP 4 >= 4.0.3)

xslt_set_sax_handler — Set SAX handlers for a XSLT processor

Описание

void xslt_set_sax_handler ( resource $xh , array $handlers )

Set SAX handlers on the resource handle given by xh .

Список параметров

xh

The XSLT processor link identifier, created with xslt_create().

handlers

SAX handlers should be a two dimensional array with the format (all top level elements are optional):

array(
[document] =>
    array(
        start document handler,
        end document handler
    ),
[element] =>
    array(
        start element handler,
        end element handler
    ),
[namespace] =>
    array(
        start namespace handler,
        end namespace handler
    ),
[comment] => comment handler,
[pi] => processing instruction handler,
[character] => character data handler
)

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

xslt_set_object
xslt_set_sax_handlers
XSLT (PHP4) Функции


Set the SAX handlers to be called when the XML document gets processed

xslt_set_sax_handler
xslt_set_scheme_handler
XSLT (PHP4) Функции
PHP Manual

xslt_set_sax_handlers

(PHP 4 >= 4.0.6)

xslt_set_sax_handlers — Set the SAX handlers to be called when the XML document gets processed

Описание

void xslt_set_sax_handlers ( resource $processor , array $handlers )

xslt_set_sax_handlers() registers the SAX handlers for the document, given a XSLT processor resource.

Using xslt_set_sax_handlers() doesn't look very different than running a SAX parser like xml_parse() on the result of an xslt_process() transformation.

Список параметров

processor

The XSLT processor link identifier, created with xslt_create().

handlers

handlers should be an array in the following format:

<?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"

);
?>

Where the functions follow the syntax described for the scheme handler functions.

Замечание: The given array does not need to contain all of the different sax handler elements (although it can), but it only needs to conform to "handler" => "function" format described above.

Each of the individual SAX handler functions are in the format below:

  • 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() Example

<?php
// From ohlesbeauxjours at yahoo dot fr
// Here's a simple example that applies strtoupper() on
// the content of every <auteur> tag and then displays the
// resulting XML tree:

$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>';

// Handlers :
function start_document()
{
  // start reading the document
}

function end_document()
{
  // end reading the 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;
}

// Transformation :
$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);
?>

You can also use xslt_set_object() if you want to implement your handlers in an object.

Пример #2 Object oriented handler

<?php
// This is the object oriented version of the previous example
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()
  {
        // start reading the document
  }

  function end_document() {
        // complete reading the 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);

?>

Both examples will output:

<livre>
   <auteur>GUSTAVE FLAUBERT</auteur>
</livre>
<livre>
   <auteur>VIRGINIA WOOLF</auteur>
</livre>
xslt_set_sax_handler
xslt_set_scheme_handler
XSLT (PHP4) Функции


Set Scheme handlers for a XSLT processor

xslt_set_sax_handlers
xslt_set_scheme_handlers
XSLT (PHP4) Функции
PHP Manual

xslt_set_scheme_handler

(PHP 4 >= 4.0.5)

xslt_set_scheme_handler — Set Scheme handlers for a XSLT processor

Описание

void xslt_set_scheme_handler ( resource $xh , array $handlers )

Set Scheme handlers on the resource handle given by xh .

Список параметров

xh

The XSLT processor link identifier, created with xslt_create().

handlers

Scheme handlers should be an array with the format (all elements are optional):

array(
[get_all] => get all handler,
[open] => open handler,
[get] => get handler,
[put] => put handler,
[close] => close handler
)

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

xslt_set_sax_handlers
xslt_set_scheme_handlers
XSLT (PHP4) Функции


Set the scheme handlers for the XSLT processor

xslt_set_scheme_handler
xslt_setopt
XSLT (PHP4) Функции
PHP Manual

xslt_set_scheme_handlers

(PHP 4 >= 4.0.6)

xslt_set_scheme_handlers — Set the scheme handlers for the XSLT processor

Описание

void xslt_set_scheme_handlers ( resource $xh , array $handlers )

Registers the scheme handlers (XPath handlers) for the document.

Список параметров

xh

The XSLT processor link identifier, created with xslt_create().

handlers

An array with the following keys: "get_all", "open", "get", "put", and "close".

Every entry must be a function name or an array in the following format: array($obj, "method").

Note that the given array does not need to contain all of the different scheme handler elements (although it can), but it only needs to conform to the "handler" => "fonction" format described above.

Each of the individual scheme handler functions called are in the formats below:

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() example

For example, here is an implementation of the "file_exists()" PHP function.

<?php

// Definition of the handler
function mySchemeHandler($processor, $scheme, $rest)
{
    $rest = substr($rest,1);    // to remove the first / automatically added by the engine
    if ($scheme == 'file_exists') {
        // result is embedded in a small xml string
        return '<?xml version="1.0" encoding="UTF-8"?><root>' . (file_exists($rest) ? 'true' : 'false') . '</root>';
    }
}

$SchemeHandlerArray = array('get_all' => 'mySchemeHandler');

// Start the engine
$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;

?>

Then, inside the stylesheet, you can test whether a certain file exists with:

<xsl:if test="document('file_exists:anotherXMLfile.xml')/root='true'">
 <!-- The file exist -->
</xsl:if>

Смотрите также

  • xslt_set_scheme_handler() - Set Scheme handlers for a XSLT processor

xslt_set_scheme_handler
xslt_setopt
XSLT (PHP4) Функции


Set options on a given xsl processor

xslt_set_scheme_handlers
PHP at the Core: A Hacker's Guide to the Zend Engine
XSLT (PHP4) Функции
PHP Manual

xslt_setopt

(PHP 4 >= 4.3.0)

xslt_setopt — Set options on a given xsl processor

Описание

mixed xslt_setopt ( resource $processor , int $newmask )

xslt_setopt() sets the options specified by newmask on the given processor .

Список параметров

processor

The XSLT processor link identifier, created with xslt_create().

newmask

newmask is a bitmask constructed with the following constants:

  • XSLT_SABOPT_PARSE_PUBLIC_ENTITIES - Tell the processor to parse public entities. By default this has been turned off.

  • XSLT_SABOPT_DISABLE_ADDING_META - Do not add the meta tag "Content-Type" for HTML output. The default is set during the compilation of the processor.

  • XSLT_SABOPT_DISABLE_STRIPPING - Suppress the whitespace stripping (on data files only).

  • XSLT_SABOPT_IGNORE_DOC_NOT_FOUND - Consider unresolved documents (the document() function) non-lethal.

Возвращаемые значения

Returns the number of previous mask is possible, TRUE otherwise, FALSE in case of an error.

Примеры

Пример #1 xslt_setopt() Example

<?php

$xh = xslt_create();

// Tell Sablotron to process public entities
xslt_setopt($xh, XSLT_SABOPT_PARSE_PUBLIC_ENTITIES);

// Let's also ask him to suppress whitespace stripping
xslt_setopt($xh, xslt_getopt($xh) | XSLT_SABOPT_DISABLE_STRIPPING);

?>

Смотрите также

  • xslt_getopt() - Get options on a given xsl processor

xslt_set_scheme_handlers
PHP at the Core: A Hacker's Guide to the Zend Engine
XSLT (PHP4) Функции


PHP at the Core: A Hacker's Guide to the 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
  • 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 1
    • Old introduction
    • Streams API for PHP Extension Authors
    • Zend API: Hacking the Core of PHP
    • TSRM API
  • The future: PHP 6 and Zend Engine 3
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, as well as improvements in most aspects of the API. PHP 6, which is still under active development at the time of this writing, introduces the Zend Engine 3 (ZE3), which brings full Unicode support to the language.

Внимание

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. While PHP 4.4 is still in widespread use, the differences in how extensions are written in ZE1 are small; a short reference to them is given in an appendix to this section. ZE3's API may yet change significantly, and is covered in another appendix. It will be more fully documented when PHP 6 enters a beta testing stage.

The documentation in this section is current as of PHP 5.2.5, the most recent stable release at the time of this writing. Notable differences in the minor PHP 5 releases (5.0 through 5.3) are given as appropriate.

PHP at the Core: A Hacker's Guide to the Zend Engine
The "counter" Extension - A Continuing Example
PHP at the Core: A Hacker's Guide to the Zend Engine


Preface
Установка и настройка
PHP at the Core: A Hacker's Guide to the Zend Engine
PHP Manual

The "counter" Extension - A Continuing Example

Содержание

  • Установка и настройка
  • Предопределенные константы
  • Примеры
  • The Counter class
  • The basic interface
  • The extended interface

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 at the Core: A Hacker's Guide to the 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_*, обратитесь к документации функции ini_set().

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.

Class synopsis

Counter
Counter {
__construct ( string $name [, integer $initial_value [, integer $flags ]] )
integer getValue ( void )
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.

Errors/Exceptions

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.

Описание

void 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 at the Core: A Hacker's Guide to the 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 Zend 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 laborous 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 at the Core: A Hacker's Guide to the 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/
  .cvsignore
  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 .cvsignore file is used for extensions which are checked into one of the PHP CVS repositories (usually » PECL); the one generated by ext_skel contains:

.deps
*.lo
*.la

These lines tell CVS 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.
request_shutdown_func | PHP_RSHUTDOWN(mymodule) | A callback function that Zend will call at the end of each 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$").
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 Zend 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 Zend 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 at the Core: A Hacker's Guide to the Zend Engine


Basic memory management

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

Thread-Safe Resource Manager
Writing functions
PHP at the Core: A Hacker's Guide to the Zend Engine


Writing functions

PHP is also known as a Glue language, and extending it, can be easily done with those extensions generators. When you use ext_skel and a prototype file to generate the C function stubs, you will notice that all of the exported functions created have a simple prototype such as the following: PHP_FUNCTION(func_name)

Working with variables
Working with classes and objects
PHP at the Core: A Hacker's Guide to the Zend Engine


Working with classes and objects

Writing functions
Working with resources
PHP at the Core: A Hacker's Guide to the Zend Engine


Working with resources

Working with classes and objects
Working with INI settings
PHP at the Core: A Hacker's Guide to the Zend Engine


Working with INI settings

Working with resources
Working with streams
PHP at the Core: A Hacker's Guide to the 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 at the Core: A Hacker's Guide to the 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 at the Core: A Hacker's Guide to the 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 Constants 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 Constants 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 Constants 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 Constants 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 Constants 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 Fleshing out your skeleton.
***** | 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 at the Core: A Hacker's Guide to the Zend Engine


Zend Engine 2 API reference

Extension FAQs
Zend Engine 1
PHP at the Core: A Hacker's Guide to the Zend Engine


Zend Engine 1

Содержание

  • Old introduction
  • Streams API for PHP Extension Authors
  • Zend API: Hacking the Core of 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.

Zend Engine 2 API reference
Old introduction
PHP at the Core: A Hacker's Guide to the 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: Hacking the Core of PHP
Zend Engine 1


Zend API: Hacking the Core of 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://www.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 Zend API: Hacking the Core of PHP is a bit more complex:

Пример #1 The default config.m4.

dnl $Id: build.xml,v 1.4 2009/05/08 16:39:23 philip Exp $
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. Zend API: Hacking the Core of PHP 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 Zend API: Hacking the Core of PHP 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 Zend API: Hacking the Core of PHP. 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 API: Hacking the Core of 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 Zend API: Hacking the Core of PHP.

Пример #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.

Zend API: Hacking the Core of PHP 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 Zend API: Hacking the Core of PHP.

Пример #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 Zend API: Hacking the Core of PHP. 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 Zend API: Hacking the Core of PHP. 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 Zend API: Hacking the Core of PHP).

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 Zend API: Hacking the Core of PHP.

Пример #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 API: Hacking the Core of PHP, Zend API: Hacking the Core of PHP and Zend API: Hacking the Core of PHP.

Zend zval Structure
Entry | Description
value | Union containing this variable's contents. See Zend API: Hacking the Core of PHP for a description.
type | Contains this variable's type. For a list of available types, see Zend API: Hacking the Core of PHP.
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 Zend API: Hacking the Core of PHP.

Пример #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);

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
);

Zend API: Hacking the Core of PHP 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();

}

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 Zend API: Hacking the Core of PHP).

Пример #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 API: Hacking the Core of PHP, Zend API: Hacking the Core of PHP and Zend API: Hacking the Core of PHP 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 Zend API: Hacking the Core of PHP) and zend_hash_index_update() for indexed arrays (see Zend API: Hacking the Core of PHP):

Пример #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 API: Hacking the Core of PHP 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 Zend API: Hacking the Core of PHP 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 Zend API: Hacking the Core of PHP. 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 Zend API: Hacking the Core of PHP and Zend API: Hacking the Core of PHP.

Замечание: The macros in Zend API: Hacking the Core of PHP automatically return from your function, those in Zend API: Hacking the Core of PHP 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 API: Hacking the Core of PHP 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). Zend API: Hacking the Core of PHP 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();

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 Zend API: Hacking the Core of PHP.

Пример #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));

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.

Zend API: Hacking the Core of PHP 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 Zend API: Hacking the Core of 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 Zend API: Hacking the Core of PHP.

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 Zend API: Hacking the Core of PHP).

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: Hacking the Core of PHP
The future: PHP 6 and Zend Engine 3
Zend Engine 1


The future: PHP 6 and Zend Engine 3

TSRM API
ЧАВО
PHP at the Core: A Hacker's Guide to the Zend Engine


ЧАВО: ЧАсто задаваемые Вопросы и Ответы на них

  • Общая Информация
  • Списки рассылки
  • Получение PHP
  • Вопросы по Базам Данных
  • Установка
  • Проблемы Сборки
  • Использование PHP
  • PHP и HTML
  • PHP и COM
  • PHP и другие языки
  • Переход из PHP 4 в PHP 5
  • Разные вопросы
The future: PHP 6 and Zend Engine 3
Общая Информация
Руководство по PHP


Общая Информация

Этот раздел содержит наиболее общие вопросы по PHP: что это такое и что оно делает.

  1. Что такое PHP?
  2. Что PHP означает?
  3. Какая связь между версиями PHP?
  4. Могу ли я одновременно запускать несколько версий PHP?
  5. Какие отличия между PHP 3 и PHP 4?
  6. Я думаю, Я нашёл ошибку! Кому я должен сказать?

Что такое PHP?

Из предисловия к руководству:

PHP - это скриптовый язык, который может быть встроен в HTML. Синтаксис языка в большинстве заимствован из C, Java и Perl c добавлением нескольких специфичных для PHP особенностей. Цель языка - позволить web-разработчикам легко создавать динамически генерируемые страницы.

Хорошее введение в PHP, написаное Stig Sæther Bakken, можно найти по адресу » http://www.zend.com/zend/art/intro.php. Также большинство » материалов PHP Конференций свободно доступно.

Что PHP означает?

PHP означает PHP: Hypertext Preprocessor. Это название смущает многих людей, так как первое слово в акрониме также является акронимом. Такой тип акронимов называется рекурсивным. Любопытствующие могут посетить » Free On-Line Dictionary of Computing для дополнительной информации по рекурсивным акронимам.

Какая связь между версиями PHP?

PHP/FI 2.0 - ранняя и более неподдерживаемия версия PHP. PHP 3 - улучшенная замена PHP/FI 2.0. PHP 4 - текущая версия, которая использует » Zend engine. PHP 5 использует » Zend engine 2, которая, кроме прочего, предлагает множество дополнительных возможностей для объектно-ориентированного программирования .

Могу ли я одновременно запускать несколько версий PHP?

Да. Смотрите файл INSTALL из дистрибутива исходников PHP.

Какие отличия между PHP 3 и PHP 4?

На эту тему авторами PHP 4 написано » несколько статей. Вот только некоторые из более важных новых возможностей:

  • Модуль расширенного API
  • Обобщённый процесс сборки под Unix
  • Общий интерфейс для web серверов, который также поддерживает многопоточные web сервера
  • Улучшенный выделитель синтаксиса
  • Поддержка родной HTTP сессии
  • Поддержка буферизованного вывода
  • Более мощная система конфигурации
  • Подсчёт ссылок

Смотрите обзор » Что нового в PHP 4 для детального объяснения этих возможностей и прочего.

Я думаю, Я нашёл ошибку! Кому я должен сказать?

Вам надо обратиться к базе данных ошибок в PHP и убедиться, что ошибка ещё не известна. Если вы не видите её в базе данных, заполните форму сообщения об ошибках. При занесении в базу данных, ошибка получает номер, по которому вы можете отслеживать её статус, поэтому важно использовать базу данных, а не просто послать сообщение в один из списков рассылки. База данных ошибок может быть найдена по адресу » http://bugs.php.net/.

ЧАВО
Списки рассылки
ЧАВО


Списки рассылки

Этот раздел содержит вопросы о том как связаться с PHP общественностью. Самый лучший способ - списки рассылки.

  1. Есть ли какие-либо списки рассылки по PHP?
  2. Существуют ли какие-либо другие сообщества?
  3. Помогите! Похоже, я не могу подписаться/отписаться?
  4. Существует ли где-нибудь архив списков рассылки?
  5. О чём я могу спрашивать в списке рассылки?
  6. Какую информацию я должен включить при посылки в список?

Есть ли какие-либо списки рассылки по PHP?

Конечно! Существует множество списков рассылки на различные темы. Полный перечень списков можно найти на нашей странице » Поддержки.

Наиболее общий список рассылки - php-general. Чтобы подписаться на него, пошлите письмо на адрес » php-general-subscribe@lists.php.net. Ничего особенного в тему и тело письма включать не надо. Чтобы отписаться, пошлите письмо на адрес » php-general-unsubscribe@lists.php.net.

Также вы можете подписаться/отписаться используя web интерфейс на нашей странице » Поддержки.

Существуют ли какие-либо другие сообщества?

Бесчётно по всему миру. На нашей странице » Поддержки для примера есть ссылки на некоторые IRC сервера и списки рассылок на иностранных языках.

Помогите! Похоже, я не могу подписаться/отписаться?

Если у вас возникла проблема с подпиской на или отпиской от php-general, возможно это потому, что программное обеспечение списка рассылки не может определить ваш правильный почтовый адрес. Если ваш адрес был joeblow@example.com, то вы можете послать запрос на подписку по адресу php-general-subscribe-joeblow=example.com@lists.php.net, или запрос на отписку по адресу php-general-unsubscribe-joeblow=example.com@lists.php.net. Для других списков рассылки используйте аналогичные адреса.

Существует ли где-нибудь архив списков рассылки?

Да, список архивов можно найти на странице » Поддержки. Сообщения из списков рассылки также сохраняются как статьи новостей. Сервер новостей доступет по адресу » news://news.php.net/. Также есть экспериментальный web интерфейс для сервера новостей, доступный по адресу » http://news.php.net/.

О чём я могу спрашивать в списке рассылки?

С растущей день ото дня популярностью PHP, нагрузка на список рассылки php-general увеличилась и на сегодня составляет примерно 150-200 сообщений в день. Поэтому, в интересах всех, используйте список рассылки только в крайнем случае, когда поиски во всех других возможных местах завершились неудачно.

Прежде чем послать сообщение в список, пожалуйста, просмотрите этот FAQ и это руководство, может в них вам удастся найти решение вашей проблемы. Если там ничего не удалось найти, просмотрите архивы списка (см. выше). Если у вас проблема с установкой или настройкой PHP, пожалуйста, читайте всю сопровождающую документацию и файлы README. Eсли после всего этого вам не удалось найти ответ, то ваш вопрос в списке рассылки более чем желателен.

Хорошая идея, перед тем как задавать вопросы, прочитать статью » Как Задавать Вопросы По-Умному.

Какую информацию я должен включить при посылки в список?

Сообщения типа "Не могу запустить PHP! Помогите мне! В чём дело?" совершенно бесполезны. Если у вас проблема с запуском PHP, вы должны указать операционную систему, версию PHP, как вы его получили (прекомпилированный, CVS, RPM и т.п.), что уже сделали, на чём отстановились и, если есть, точное сообщение об ошибке.

Это также относится к любой другой проблеме. Вам необходимо указать что вы уже сделали, на чём застопорились, что пытаетесь делать и, если есть, точное сообщение об ошибке. Если проблема с вашим исходным кодом, то надо включить часть кода, которая не работает. Но не пытайтесь послать больше, чем необходимо! Иначе ваше сообщение будет тяжело читать и большинство людей его просто пропустит. Если вы затрудняетесь решить какой объём информации достаточен, то лучше послать больше, чем слишком мало.

Другая важная вещь, которую стоит помнить, это краткое изложение вашей проблемы в строке темы сообщения. Заголовки типа "ПОМОГИТЕ МНЕ!!!" или "В чём здесь проблема?" будут проигнорированы большинством читателей.

И на последок, для всеобщей пользы и особенно для вас, весьма рекомендуется прочитать статью » Как Задавать Вопросы По-Умному.

Общая Информация
Получение PHP
ЧАВО


Получение PHP

Этот раздел содержит информацию о том где получить PHP и вопросы, касающиеся OC.

  1. Где я могу взять PHP?
  2. Доступны ли прекомпилированные бинарники?
  3. Где я могу достать библиотеки, необходимые для компиляции некоторых дополнительных расширений PHP?
  4. Как подключить эти библиотеки?
  5. Я получил последнюю версию исходного кода PHP из CVS. Что нужно для компиляции его под Windows?
  6. Где найти файл возможностей браузеров (Browser Capabilities File)?

Где я могу взять PHP?

Вы можете скачать PHP с любого сайта из PHP сети. Сайты сети можно найти на » http://www.php.net/. Вы также можете воспользоваться анонимным CVS для получения самой последней версии исходников. Для подробностей зайдите на » http://www.php.net/anoncvs.php.

Доступны ли прекомпилированные бинарники?

Мы распространяем прекомпилированные бинарники только для Windows, так как мы не в состоянии компилировать PHP со всеми возможными комбинациями расширений даже для самых основных Linux/Unix платформ. Также заметьте, что на сегодня многие дистрибутивы Linux поставляются с PHP. Бинарники для Windows можно скачать с нашей страницы » Downloads, для бинарников под Linux, пожалуйста, посетите web сайт вашего дистрибутива.

Где я могу достать библиотеки, необходимые для компиляции некоторых дополнительных расширений PHP?

Замечание: Звёздочкой (*) помечены библиотеки, которые не могут быть использованы с PHP, установленным как модуль на многопоточных web серверах (IIS, Netscape) под Windows, так как они небезопасны в многопоточной среде. Это не относится к Unix среде.

  • » LDAP (Unix).
  • » LDAP* (Unix).
  • » LDAP (Unix/Win) : Netscape Directory (LDAP) SDK 1.1.
  • » free LDAP server.
  • » 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 --help' для получения списка всех опций '--with-EXTENSION' .

Я получил последнюю версию исходного кода PHP из CVS. Что нужно для компиляции его под Windows?

Во-первых, вам будет нужен Microsoft Visual C++ v6 (v5 может тоже работать, но мы пользуемся v6), и вам будут нужны некоторые файлы поддержки. Смотрите раздел руководства сборка PHP из исходников под Windows.

Где найти файл возможностей браузеров (Browser Capabilities File)?

Файл browscap.ini можно скачать с » http://browsers.garykeith.com/downloads.asp.

Списки рассылки
Вопросы по Базам Данных
ЧАВО


Вопросы по Базам Данных

Этот раздел содержит общие вопросы о связи между PHP и базами данных. Да, сегодня практически любая база данных может быть доступна из PHP.

  1. Я слышал, что можно получить доступ к Microsoft SQL серверу из PHP. Как?
  2. Могу ли я получить доступ к базам данных Microsoft Access?
  3. Я обновился до PHP 4 и теперь mysql постоянно выдает "Warning: MySQL: Unable to save result set in ..." (Предупреждение: MySQL: Не могу сохранить результат в ...). Что это?
  4. Клиентские библиотеки MySQL больше не включены в PHP 5, как это отразится на мне? Могу ли я всё так же использовать MySQL c PHP? Я пытаюсь работать с MySQL и получаю ошибки "function undefined" (функция неопределена), что выдаёт их?
  5. После установки поддержки разделения в MySQL, Apache выдаёт дампы сразу после загрузки libphp4.so. Можно ли это исправить?
  6. Почему я получаю ошибки типа "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. По бесплатной пилотной программе вы можете скачать пробную копию без срока истечения, а цены на комерчески поддерживаемую версию начинаются от 675$.

Другая возможность - хранить данные на SQL сервере, который имеет ODBC драйверы для Windows, и затем обращаться к этой базе данных из Microsoft Access (используя ODBC) и из PHP (используя встроенные драйверы) или использовать промежуточный формат понятный и для Access, и для PHP, как то последовательные файлы или базы данных dBase. По этому поводу Тим Хэйз (Tim Hayes) из OpenLink software пишет:

Использование промежуточной базы данных - не очень хорошая идея, когда есть возможность работать с базой данных на прямую из PHP через ODBC, например с драйверами от OpenLink. Если вам всё-таки надо использовать промежуточный формат, OpenLink выпустил Virtuoso (механизм виртуальной базы данных) для NT, Linux и других платформ Unix. Пожалуйста, посетите наш » web сайт для бесплатной загрузки.

Другой проверенный вариант - использовать MySQL с её MyODBC драйверами на Windows и делать синхронизацию баз данных. Стив Лоренс (Steve Lawrence) пишет:

  • Установите MySQL согласно поставляемым с ней инструкциям. Последняя версия доступна с » www.mysql.com (получите её с ближайшего зеркала!). Особой конфигурации не требуется, за исключением того, что при настройке баз данных и создании пользователя, в поле хоста вы должны поместить % или имя Windows машины, на которую вы хотите получить доступ из MySQL. Запишите имя вашего сервера, имя пользователя и пароль.
  • Скачайте MyODBC драйвер для Windows с сайта MySQL. Последний релиз - myodbc-2_50_19-win95.zip (доступен также для NT и как исходный код). Установите его на вашей 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" (всегда запрашивать новое местонахождение).

Я обновился до PHP 4 и теперь mysql постоянно выдает "Warning: MySQL: Unable to save result set in ..." (Предупреждение: MySQL: Не могу сохранить результат в ...). Что это?

Вероятнее всего PHP 4 был скомпилирован с опцией --with-mysql без задания пути к MySQL. Это означает, что PHP использует его встроенную клиентскую библиотеку MySQL. Если на вашей системе выполняются приложения (такие как PHP 3, в виде паралельного модуля Apache, или auth-mysql), которые используют другие версии MySQL клиентов, то возникает конфликт между двумя разными версиями этих клиентов.

Обычно, перекомпиляция PHP 4 с указанием пути к MySQL в опции '--with-mysql=/your/path/to/mysql' решает эту проблему.

Клиентские библиотеки 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. Также убедитесь, что 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: Я установил PHP 3 используя RPMS, но он не компилируется с поддержкой нужной мне базы данных! Что происходит?
  6. Unix: Я установил заплатку в Apache для расширений FrontPage и неожиданно PHP перестал работать. Неужели PHP не совместим с FrontPage расширениями для Apache?
  7. Unix/Windows: Я установил PHP, но когда я пытаюсь вызвать PHP скрипт из моего браузера, я получаю пустой экран.
  8. Unix/Windows: Я установил PHP, но когда я пытаюсь вызвать PHP скрипт из моего браузера, я получаю ошибку сервера 500.
  9. Некоторые операционные системы: Я установил PHP без ошибок, но когда я пытаюсь запустить Apache, я получаю ошибки "undefined symbol" (неопределённый символ): [mybox:user /src/php4] root# apachectl configtest apachectl: /usr/local/apache/bin/httpd Undefined symbols: _compress _uncompress
  10. 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:
  11. Windows: Я следовал всем инструкциям, но так и не смог заставить PHP и IIS работать вместе!
  12. Когда PHP запускается как CGI в IIS, PWS, OmniHTTPD или Xitami, я получаю следующую ошибку: Security Alert! PHP CGI cannot be accessed directly..
  13. Как узнать, что мой php.ini был найден и прочтён? Похоже, что мои изменения не были восприняты?
  14. Как на Windows добавить мою PHP директорию в PATH?
  15. Как в Windows сделать файл php.ini доступным для PHP?
  16. Возможно ли использовать согласование содержания в Apache (опция MultiViews) c PHP?

Почему я не должен использовать Apache2 с потоковым MPM в эксплуатации?

PHP - это клей. Клей, используемый для построения классных web приложений, склеивая дюжины сторонних библиотек и создавая впечатление одного согласованного целого, с помощью интуитивного и легко изучаемого языка. Гибкость и мощь PHP полагается на стабильность и устойчивость используемой платформы. Для склейки вместе ему необходимы работающая ОС, работающий web сервер и работающие сторонние библиотеки. Когда что-либо из этого перестаёт работать PHP нужны способы определения проблем и их быстрого исправления. Если вы усложняете низлежащую систему, не разделяя полностью потоки выполнения, не выделяя раздельные сегменты памяти и не предоставляя "песочницу" для игры для каждого запроса, то ваша PHP система увязнет в глине.

Если вы всё-таки чувствуете, что должны использовать потоковый MPM, взгляните на конфигурацию с FastCGI, где вы можете запускать PHP в своём собственном пространстве памяти.

И наконец, это предупреждение против потокового MPM не настолько остро для пользователей Windows, так как большинство библиотек на этой платформе потокобезопасны.

Unix/Windows: Где должен находиться файл php.ini?

На Unix по умолчанию он должен находиться в директории /usr/local/lib, определяемой как <install-path>/lib. Большинство людей изменяют это во время компиляции с помощью опции --with-config-file-path Для примера, вы можете задать что-то типа:

--with-config-file-path=/etc

Затем скопировать файл php.ini-dist из дистрибутива в /etc/php.ini и отредактировать его для ваших локальных потребностей.

--with-config-file-scan-dir=PATH

На Windows по умолчанию php.ini находится в Windows директории. Если вы используете Apache web сервер, 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/

Если ваш скрипт использует функции регулярных выражений (ereg() и компания), то вам необходимо убедиться, что вы скомпилировали 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_php3.c

AddModule mod_perl.c

# Extra Modules

LoadModule php_module         modules/mod_php.so

LoadModule php3_module        modules/libphp3.so     # for PHP 3

LoadModule php4_module        modules/libphp4.so     # for PHP 4

LoadModule perl_module        modules/libperl.so

И добавить:

AddType application/x-httpd-php3 .php3    # for PHP 3

AddType application/x-httpd-php .php      # for PHP 4

... в глобальные свойства или в свойства VirtualDomain, для которого вы хотите иметь поддержку PHP.

Unix: Я установил PHP 3 используя RPMS, но он не компилируется с поддержкой нужной мне базы данных! Что происходит?

Из-за того, как построен PHP 3, собрать полный и гибкий RPM для PHP не легко. Эта проблема решена в PHP 4. Для PHP 3 мы рекомендуем способ, описанный в файле INSTALL.REDHAT из дистрибутива PHP. Если вы всё-таки настаиваете на использовании варианта с RPM для PHP 3, читайте далее...

Те, кто собирает RPM пакеты, настраивают RPMS для установки без поддержки баз данных для упрощения установок и потому что RPMS использует /usr/ вместо стандартной /usr/local/ директории для файлов. Вам необходимо указать в спек файле RPM какие базы данных поддерживать и где находится ваш сервер баз данных.

Следующий пример объясняет процесс добавления поддержки для популярного сервера баз данных MySQL, используя mod установку для Apache.

Конечно, всё это может быть применено для любого сервера баз данных, который PHP поддерживает. Для этого примера, мы будем полагать, что вы установили MySQL и Apache полностью с RPMS.

  • Во-первых, удалите mod_php3 :

    rpm -e mod_php3

  • Затем получите rpm с исходниками и УСТАНОВИТЕ его, НЕ --rebuild

    rpm -Uvh mod_php3-3.0.5-2.src.rpm

  • Затем отредактируйте файл /usr/src/redhat/SPECS/mod_php3.spec

    В секции %build добавьте поддержку нужной вам базы данныз и укажите путь

    Для MySQL вы добавите --with-mysql=/usr Секция %build будет выглядеть как что-то типа следующего:

    ./configure --prefix=/usr \

    --with-apxs=/usr/sbin/apxs \

    --with-config-file-path=/usr/lib \

    --enable-debug=no \

    --enable-safe-mode \

    --with-exec-dir=/usr/bin \

    --with-mysql=/usr \

    --with-system-regex

  • После того, как вы сделали эти изменения, постройте бинарный rpm как:

    rpm -bb /usr/src/redhat/SPECS/mod_php3.spec

  • Затем установите этот rpm

    rpm -ivh /usr/src/redhat/RPMS/i386/mod_php3-3.0.5-2.i386.rpm

Перезапустите Apache и теперь у вас есть PHP 3 с поддержкой MySQL, установленный из RPM. Заметьте, что на много проще просто собрать PHP 3 из дистрибутива и следовать инструкциям в файле INSTALL.REDHAT дистрибутива.

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/php4] 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 не имеет доступ к вашему 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.

Как на Windows добавить мою PHP директорию в PATH?

На 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'

  • Найдите 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

  • Сохраните файл и перезапустите ваш компьютер

Прежде в руководстве по 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)

  • Сохраните файл и перезапустите ваш компьютер

Возможно ли использовать согласование содержания в Apache (опция MultiViews) c PHP?

Всё работает замечательно, если линки к PHP файлам имеют расширение. Этот FAQ рассматривает только случай, когда линки к PHP файлам не имеют расширения и вы хотите использовать согласование содержания для отбора PHP файлов из URL без расширений. В этом случае, замените строку AddType application/x-httpd-php .php на:

# PHP 4

AddHandler php-script php

AddType text/html php

# PHP 5

AddHandler php5-script php

AddType text/html php

Это решение не работает в Apache 1, так как в нём PHP модуль не ловит php-script.

Вопросы по Базам Данных
Проблемы Сборки
ЧАВО


Проблемы Сборки

В этом разделе собраны наиболее общие ошибки, возникающие на этапе сборки.

  1. Я получил последнюю версию PHP, используя анонимный CVS, но в нём нет конфигурационного скрипта!
  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 я получаю ошибки в microtime и множество всяких 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, либо выдаются странные ошибки компиляции, либо segfault при выполнении.
  18. При компиляции PHP я, кажется, получаю случайные ошибки, например она зависает. Я использую Solaris, если это имеет значение.

Я получил последнюю версию PHP, используя анонимный CVS, но в нём нет конфигурационного скрипта!

Вам нужен установленный пакет GNU autoconf для того, чтобы сгенерировать конфигурационный скрипт из configure.in. После получения исходников с CVS сервера просто запустите ./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. Попробуйте переконфигурировать 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 1.2.x, не забыли ли вы добавить соответствующую информацию в строку EXTRA_LIBS в файле Configuration и перезапустить Configure скрипт для Apache? Смотрите инструкции по установке для дополнительной информации.

Некоторые люди также сообщают, что при компоновке с Apache им пришлось добавить '-ldl' сразу после libphp4.a.

Я не могу понять как собрать PHP c Apache 1.3.

На самом деле это очень легко. Аккуратно выполните следующие шаги:

  • Получите последний дистрибутив Apache 1.3 с » http://www.apache.org/dist/httpd/.
  • Раскомпрессуйте и разархивируйте (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-php3 .php3 (for PHP 3) или AddType application/x-httpd-php .php (for PHP 4) Также убедитесь, что эта строка 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 я получаю ошибки в microtime и множество всяких 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', в чём дело?

Во-первых, важно понимать, что это Предупреждение, а не фатальная ошибка. Так как это последнее, что выводится во время make, оно может выглядеть как фатальная ошибка, но это не так. Конечно, если ваш компилятор умирает на Предупреждениях (Warnings), то тогда да. Также имейте ввиду, что поддержка MySQL включена по умолчанию.

Замечание: Начиная с PHP 4.3.2 вы также будете видеть следующуий текст после того как сборка (make) завершится:

Build complete.
(It is safe to ignore warnings about tempnam and tmpnam).

Я хочу обновить мой PHP. Где я могу найти строку ./configure, которая была использована для моей текущей PHP установки?

Либо смотрите файл config.nice в дереве исходников вашей текущей PHP установки, либо, если это недоступно, просто выполните скрипт:

<?php phpinfo(); ?>

В начале вывода будет находиться строка ./configure, которая была использована для сборки текущего PHP.

При сборке PHP с библиотекой GD, либо выдаются странные ошибки компиляции, либо segfault при выполнении.

Убедитесь, что ваша библиотека 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 скрипт, кторый может обрабатывать данные, приходящие из любой формы. Как узнать какие переменные метода POST доступны?
  2. Мне надо преобразовать все одиночные кавычки (') в обратную косую черту с последующей одиночной кавычкой (\'). Как я могу сделать это с помощью регулярного выражения? Я также хотел бы преобразовать " в \" и \ в \\.
  3. Все мои " превратились в \" и мои ' в \', как я могу избавиться от всех этих нежелательных обратных косых черт? Как и почему они появились?
  4. Как директива PHP register_globals касается меня?
  5. Когда я делаю следующее, вывод распечатывается не в том порядке: <?phpfunction myfunc($argument){ echo $argument + 10;}$variable = 10;echo "myfunc($variable) = " . myfunc($variable);?> Что происходит?
  6. Эй, что произошло с моими строками? <pre><?php echo "This should be the first line."; ?><?php echo "This should show up after the new line above."; ?></pre>
  7. Я получаю сообщение 'Warning: Cannot send session cookie - headers already sent...' или 'Cannot add header information - headers already sent...'.
  8. Мне необходим прямой доступ к информации в заголовке запроса. Как я могу это сделать?
  9. Когда я пытаюсь использовать аутентификацию с IIS, я получаю 'No Input file specified'.
  10. Windows: У меня нет доступа к файлам, разделяемых другим компьютером, по IIS.
  11. Мой PHP скрипт работает в IE и Lynx, а в Netscape некоторый вывод отсутствует. Когда я выполняю "View Source", я вижу содержимое в IE, а в Netscape нет.
  12. Как я должен совмещать XML и PHP? Он жалуется на мои <?xml тэги!
  13. Как я могу использовать PHP с FrontPage или каким-либо другим редактором HTML, который настаивает на перемещении моего кода?
  14. Где я могу найти полный список переменных, доступных мне в PHP?
  15. Как я могу генерировать PDF файлы без использования платных или коммерческих библиотек, как PDFLib? Я бы хотел что-нибудь бесплатное и не требующее внешних библиотек PDF.
  16. Я пытаюсь получить доступ к одной из стандартных CGI переменных (таких как $DOCUMENT_ROOT или $HTTP_REFERER) в определённой пользователем функции и, похоже, она не может быть найдена. В чём дело?
  17. Несколько PHP директив могут принимать сокращения для байтовых значений в отличие от только integer байтовах значений. Каковы все доступные сокращения? И могу ли я использовать их вне php.ini?

Я хочу написать общий 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

Мне надо преобразовать все одиночные кавычки (') в обратную косую черту с последующей одиночной кавычкой (\'). Как я могу сделать это с помощью регулярного выражения? Я также хотел бы преобразовать " в \" и \ в \\.

Это делает функция addslashes(). Смотрите также mysql_escape_string(). Также вы можете избавиться от обратной косой черты с помощью stripslashes().

Замечание: Замечание о директиве: magic_quotes_gpc
Директива PHP magic_quotes_gpc имеет значение по умолчанию on (включена). По сути это применяет функцию addslashes() ко всем вашим GET-, POST-, и COOKIE-данным. Чтобы удалить добавленные косые черты, вы можете использовать stripslashes().

Все мои " превратились в \" и мои ' в \', как я могу избавиться от всех этих нежелательных обратных косых черт? Как и почему они появились?

PHP функция stripslashes() удалит эти обратные косые черты из вашей строки (string). Вероятнее всего, обратные косые черты магически появились из-за того, что включена PHP директива magic_quotes_gpc

Замечание: Замечание о директиве: 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 была выключена по умолчанию. В PHP 6 директива 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 "This should be the first line."; ?>
<?php echo "This should show up after the new line above."; ?>
</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 такой проблемы нет. Это не должно повлиять на другие web сервисы 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 и отредактировать права пользователя, так как у него может не быть прав.

Мой PHP скрипт работает в IE и Lynx, а в Netscape некоторый вывод отсутствует. Когда я выполняю "View Source", я вижу содержимое в IE, а в Netscape нет.

Netscape более строг к HTML тэгам (таким как таблицы), чем IE. Может быть полезно пропустить ваш HTML вывод через HTML validator, такой как » validator.w3.org. Например, это может быть вызвано отсутствием </table>.

Также, оба IE и Lynx игнорируют любые NUL-ы (\0) в HTML потоке, а Netscape нет. Лучший способ проверить это - скомпилировать версию командной строки PHP (также известную как CGI версия) и выполнить ваш скрипт из командной строки. На *nix, пропустите вывод через od -c и ищите любые \0 символы. Если вы под Windows, вам надо найти редактор или какую-либо другую программу, которая позволяет просматривать двоичные файлы. Когда Netscape видит NUL в файле, он обычно не будет больше ничего выводить на этой строке, тогда как IE и Lynx будут.

Как я должен совмещать XML и PHP? Он жалуется на мои <?xml тэги!

Для того, чтобы встроить <?xml напрямую в ваш PHP код, вам надо отключить короткие тэги, установив PHP директиву short_open_tags в 0. Вы можете установить эту директиву с помощью ini_set(). Независимо от того, что включена или нет short_open_tags, вы можете делать что-то типа: <?php echo '<?xml'; ?>. По умолчанию эта директива включена.

Как я могу использовать PHP с FrontPage или каким-либо другим редактором HTML, который настаивает на перемещении моего кода?

Самое простое, что можно сделать - это включить поддержку ASP тэгов в вашем PHP коде. Это позволит вам использовать разделители кода в стиле ASP <% и %>. Некоторые популярные редакторы HTML обращаются с ними более интеллигентно (пока ещё). Чтобы разрешить тэги в стиле ASP, вам надо установить переменную asp_tags в php.ini или использовать соответствующую директиву Apache.

Где я могу найти полный список переменных, доступных мне в PHP?

Читайте страницу руководства по предопределённым переменным так как она содержит частичный список предопределённых переменных, доступных вашему скрипту. Полный список доступных переменных (и множество другой информации) можно увидеть, вызвав функцию phpinfo(). Не забудьте прочитать раздел руководства по переменным извне PHP так как он описывает общие сценарии для внешних переменных, таких как HTML форма, Cookie и URL.

Замечание: register_globals: важное замечание
Начиная с PHP 4.2.0, значением директивы PHP register_globals по умолчанию является off (выключено). Сообщество PHP рекомендует всем не полагаться на эту директиву, а использовать вместо этого иные средства, такие как superglobals.

Как я могу генерировать PDF файлы без использования платных или коммерческих библиотек, как PDFLib? Я бы хотел что-нибудь бесплатное и не требующее внешних библиотек PDF.

Есть несколько альтернатив, написанных на PHP, таких как » http://www.ros.co.nz/pdf/, » http://www.fpdf.org/, » http://www.gnuvox.com/pdf4php/ и » http://www.potentialtech.com/ppl.php. А также модуль » Panda.

Я пытаюсь получить доступ к одной из стандартных 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, вместо используйте integer значения байтов. Смотрите документацию по ini_get() для примеров как преобразовать эти значения.

Проблемы Сборки
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-кодирование/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 правильно, так как вы закодировали данные с urlencoded(). Вы заметите, что & в 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 коду получить высоту и ширину экрана, что, обычно, возможно только на стороне клиента.

<?php
if (isset($_GET['width']) AND isset($_GET['height'])) {
  // output the geometry variables
  echo "Screen width is: ". $_GET['width'] ."<br />\n";
  echo "Screen height is: ". $_GET['height'] ."<br />\n";
} else {
  // pass the geometry variables
  // (preserve the original query string
  //   -- post variables will need to handled differently)

  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();
}
?>

Использование PHP
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 вы установили Настройка во время выполнения =TRUE.

Я получаю 'DCOM is disabled in C:\path...\scriptname.php on line 6', что делать?

Отредактируйте ваш php.ini и установите Настройка во время выполнения =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. Существует ли преобразователь ASP в PHP?
  3. PHP против Cold Fusion?
  4. PHP против Perl?

PHP против ASP?

На самом деле, ASP сам по себе языком не является, это акроним для Active Server Pages, в действительности для программирования с ASP используется Visual Basic Script или JScript. Наибольшим недостатком ASP является то, что это частная система и по родному используется только на Microsoft Internet Information Server (IIS). Это ограничивает его доступность только для Win32 серверов. Существует пара проектов в работе, которые позволяют ASP выполняться в других окружениях и на других web серверах: » InstantASP от » Halcyon (коммерческий), Chili!Soft ASP от » Chili!Soft (коммерческий). Считается, что ASP медленнее и более громоздкий чем PHP, а также менее стабильный. Некоторыми "за" для ASP является то, что так как в нём в основном используется VBScript, то подхватить язык относительно легко, если вы уже знаете как программировать в Visual Basic. Поддержка ASP по умолчанию включена в IIS, что упрощает его установку и зыпуск. Встроенные в ASP компоненты очень ограничены, поэтому если вам требуются "продвинутые" возможности, такие как взаимодействие с FTP серверами, вам придётся покупать дополнительные компоненты.

Существует ли преобразователь ASP в PHP?

Да, для серверной стороны наиболее часто ссылаются на » asp2php, также как и на вариант для » стороны клиента.

PHP против Cold Fusion?

В общем считается, что PHP быстрее и более эффективен для сложных программных задач и для пробования новых идей. Также на PHP обычно ссылаются как на более стабильный и менее требовательный к ресурсам. Cold Fusion имеет лучшую обработку ошибок, абстракцию баз данных и разбор дат, хотя в PHP 4 тоже уделено внимание абстракции баз данных. Другое, что перечисляется как одна из сильных сторон Cold Fusion, это его превосходная поисковая система, но отмечается, что поисковая система это не то, что должно быть включено в скриптовый язык для web. PHP работает почти на каждой существующей платформе, Cold Fusion доступен только для Win32, Solaris, Linux и HP/UX. Cold Fusion имеет хороший IDE и в общем в нём легче начинать, тогда как PHP вначале требует больше знаний по программированию. Cold Fusion был спроектирован в расчёте на не программистов, когда PHP сосредотачивается на программистах.

Замечательное сводка на эту тему от Майкла Дж. Шелдона (Michael J Sheldon) была опубликованна в списке почтовой рассылки для PHP. Копия может быть найдена на » http://marc.theaimsgroup.com/?l=php-general&m=95602167412542&w=1.

PHP против Perl?

Наибольшее преимущество PHP перед Perl это то, что PHP был спроектирован для написания скриптов для web, в то время, как Perl был создан для более широкого круга задач и поэтому может быть очень сложным. С гибкостью/сложностью Perl проще писать код, который будет трудно читать другому автору/кодировщику. PHP имеет менее запутанный и более строгий формат без ущерба для гибкости. PHP проще интегрировать в существующий HTML, чем Perl. PHP имеет почти что все 'хорошие' функциональные возможности Perl: конструкции, синтаксис и так далее, не становясь таким же сложным, каким может быть 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, следуйте этим простым инструкциям:

  • откройте окно запроса команды (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.

Если вы пользуетесь совместным хостом с выключенной register_globals и вам надо использовать некоторые существующие приложения, которые требуют чтобы эта опция была включена; или вы на каком-либо сервере, где эта возможность включена, но вы хотите эмулировать проблему по безопасности, то возможно вам надо эмулировать противоположную установку с помощью PHP. Всегда лучше сначала спросить, если можно каким-либо образом изменить опцию в конфигурации PHP, но если это невозможно, то вы можете воспользоваться следующими совместимыми кусками кода.

Пример #1 Эмулирование Register Globals

Следующее эмулирует register_globals установленную в On.

<?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);

    }

    ini_set('register_globals', true);

}

?>

Следующее эмулирует register_globals установленную в Off.

<?php

// Emulate register_globals off

if (ini_get('register_globals')) {

    $superglobals = array($_SERVER, $_ENV,

        $_FILES, $_COOKIE, $_POST, $_GET);

    if (isset($_SESSION)) {

        array_unshift($superglobals, $_SESSION);

    }

    foreach ($superglobals as $superglobal) {

        foreach ($superglobal as $global => $value) {

            unset($GLOBALS[$global]);

        }

    }

    ini_set('register_globals', false);

}

?>

Переход из PHP 4 в PHP 5
Appendices
ЧАВО


Appendices

  • История PHP и смежных проектов
    • История PHP
    • История смежных с PHP проектов
    • Книги о PHP
    • Публикации, посвященные PHP
  • Migrating from PHP 5.1.x to PHP 5.2.x
    • What has changed in PHP 5.2.x
    • Backward Incompatible Changes
    • New Error Messages
    • Changes in PHP datetime support
    • New Parameters
    • New Functions
    • New Methods
    • Removed Extensions
    • New Extensions
    • New Classes
    • New Global Constants
    • New Class Constants
    • New INI Configuration Directives
    • Error Reporting
    • Other Enhancements
  • 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
    • Изменения, повлекшие за собой обратную несовместимость
    • CLI и CGI
    • Миграция конфигурационных файлов
    • Новые функции
    • Новые директивы
    • Базы данных
    • Новая Объектная Модель
    • Сообщения об ошибках
  • Отладка PHP
    • Об отладчике
    • Использование отладчика
    • Протокол отладчика
  • Configure options
    • List of core configure options
  • Директивы php.ini
    • Список директив php.ini
    • Описание встроенных директив php.ini
  • Extension List/Categorization
    • Alphabetical
    • Membership
    • State
  • Список псевдонимов функций
  • List of Reserved Words
    • List of Keywords
    • Predefined Classes
    • Предопределенные константы
  • List of Resource Types
  • List of Supported Protocols/Wrappers
    • Filesystem
    • HTTP and HTTPS
    • FTP and FTPS
    • PHP input/output streams
    • Compression Streams
    • Data (RFC 2397)
    • Glob
    • Phar
    • Secure Shell 2
    • Audio Streams
    • Process Interaction Streams
  • Список доступных фильтров
    • Строковые фильтры
    • Преобразовывающие фильтры
    • Компрессионные фильтры
    • Шифрующие фильтры
  • Список поддерживаемых транспортных протоколов
    • Интернет-сокеты: TCP, UDP, SSL, and TLS
    • Unix-сокеты: UNIX и UDG
  • Таблица сравнения типов в PHP
  • List of Parser Tokens
  • Userland Naming Guide
    • Global Namespace
    • Rules
    • Tips
  • Об этом руководстве
    • Форматы
    • О заметках пользователей
    • How to read a function definition (prototype)
    • PHP versions documented in this manual
    • Как узнать больше о PHP
    • Как помочь в написании документации
    • Как создаются форматы документации
    • Переводы
  • Creative Commons Attribution 3.0
  • Список функций
Разные вопросы
История PHP и смежных проектов
Руководство по PHP


История PHP и смежных проектов

Содержание

  • История PHP
  • История смежных с PHP проектов
  • Книги о PHP
  • Публикации, посвященные PHP

PHP прошёл долгий путь за последние несколько лет. Становление одним из наиболее популярных языков web-разработки не простая задача. Те из вас, кого интересует краткое описание того, как PHP развивался и становился тем, чем является сейчас, читайте далее. Старые версии PHP могут быть найдены в » Музее PHP.

Appendices
История PHP
Appendices


История PHP

PHP/FI

Истоки PHP лежат в старом продукте, имевшем название PHP/FI. Последний был создан Расмусом Лердорфом в 1995 году и представлял собой набор Perl-скриптов для ведения статистики посещений его резюме. Этот набор скриптов был назван 'Personal Homepages Tools' ('Инструменты для персональных домашних страниц'). Очень скоро потребовалась большая функциональность и Расмус пишет новую, намного более обширную версию на C, работающую с базами данных и позволяющую пользователям разрабатывать простейшие web-приложения. Расмус решил выложить » исходный код PHP/FI на всеобщее обозрение, исправление ошибок и дополнение.

PHP/FI (Personal Home Page / Forms Interpreter - Персональная Домашняя страница / Интерпретатор Форм) включал в себя базовую функциональность сегодняшнего PHP. Он имел переменные в стиле Perl, автоматическую интерпретацию форм и возможность встраиваться в html-код. Собственно синтаксис языка имел много общего с Perl, хотя и был намного проще и ограниченнее.

В 1997 выходит PHP/FI 2.0, вторая версия C-имплементации обозначила группу пользователей: несколько тысяч людей по всему миру, с примерно 50,000 доменами, что составляло около 1% всего числа доменов Интернета. Несмотря на то, что разработкой занималось уже несколько людей, PHP/FI 2.0 все еще оставался крупным проектом одного человека.

Официально PHP/FI 2.0 вышел только в ноябре 1997 года, после проведения большей части своей жизни в бета-версиях. Вскоре после выхода его заменили альфа-версии PHP 3.0.

PHP 3

PHP 3.0 была первой версией, напоминающей PHP, каким мы знаем его сегодня. В 1997 году Энди Гутманс (Andi Gutmans) и Зив Сураски (Zeev Suraski) переписали код с начала: разработчики сочли PHP/FI 2.0 не пригодным для разработки приложения электронной коммерции, над которым они работали для проекта Университета. Для совместной работы над PHP 3.0 с помощью базы разработчиков PHP/FI 2.0 Энди, Расмус и Зив решили объединиться и объявить PHP 3.0 официальным преемником PHP/FI, разработка же PHP/FI была практически полностью прекращена.

Одной из сильнейших сторон PHP 3.0 была возможность расширения ядра. В последствии интерфейс написания расширений привлек к PHP множество сторонних разработчиков, работающих над своими модулями, что дало PHP возможность работать с огромным количество баз данных, протоколов, поддерживать большое число API. Фактически, это и был главный ключ к успеху, но стоит добавить, что немаловажным шагом оказалась разработка нового, намного более мощного и полного синтаксиса с поддержкой ООП.

Абсолютно новый язык программирования получил новое имя. Разработчики отказались от дополнения о персональном использовании, которое имелось в аббревиатуре PHP/FI. Язык был назван просто 'PHP' -- аббревиатура, содержащая рекурсивный акроним: 'PHP: Hypertext Preprocessor' (PHP: Препроцессор Гипертекста).

К концу 1998, PHP использовался десятками тысяч пользователей. Сотни тысяч web-сайтов сообщали о том, что они работают с использованием языка. В то время PHP 3.0 был установлен приблизительно на 10% серверах Интернета.

PHP 3.0 был официально выпущен в июне 1998 года после 9 месяцев публичного тестирования.

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 3.0. В дополнение к улучшению производительности, PHP 4.0 имел еще несколько ключевых нововведений, таких как поддержка сессий, буферизация вывода, более безопасные способы обработки вводимой пользователем информации и несколько новых языковых конструкций.

В настоящее время, PHP 4 является последней версией PHP. Но уже ведутся работы по улучшению Zend Engine по внедрению нововведений для PHP 5.0.

Сегодня PHP используется сотнями тысяч разработчиков. Несколько миллионов сайтов сообщают о работе с PHP, что составляет более 20% доменов Интернета.

Группа разработчиков PHP состоит из множества людей, работающих над ядром и расширениями PHP, и смежными проектами, такими, как PEAR или документация языка.

PHP 5

Будущее PHP во многом определяется его ядром, Zend Engine. PHP5 будет основан на новом Zend Engine 2.0. За получением дополнительной информации об этом движке обращайтесь к » его сайту.

История PHP и смежных проектов
История смежных с PHP проектов
История PHP и смежных проектов


История смежных с PHP проектов

PEAR

» PEAR (PHP Extension and Application Repository - Репозиторий Приложений и Расширений PHP. Изначально, PHP Extension and Add-on Repository - Репозиторий Дополнений и Расширений PHP) - это PHP-версия базовых классов. В будущем возможен его рост и становление ключевым способом публикации расширений PHP (также основанных на C) среди разработчиков.

PEAR зародился в ходе дискуссий на встрече разработчиков PHP, проходившей в январе 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+ очень приятным средством разработки, исключая то, что программированием с 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н'. Автором книги является Jirka Kosek. В следующем месяце следом за ней выходит немецкая книга Эгона Шмидта (Egon Schmid), Кристиана Картуса (Christian Cartus) и Ричарда Блюма (Richard Blum). Вскоре после этого была опубликована первая на английском языке книга, посвященная PHP, - 'Core PHP Programming' Леона Аткинсона (Leon Atkinson). Обе эти книги описывали PHP 3.0.

Эти книги были первыми в своем роде, и вскоре было выпущено большое количество книг различных авторов и издательств. Существует более 40 книг на английском, 50 на немецком, и больше 20 на французском языке! Кроме того, вы можете найти книги о 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
Migrating from PHP 5.1.x to PHP 5.2.x
История PHP и смежных проектов


Migrating from PHP 5.1.x to PHP 5.2.x

Содержание

  • What has changed in PHP 5.2.x
  • Backward Incompatible Changes
  • New Error Messages
  • Changes in PHP datetime support
  • New Parameters
  • New Functions
  • New Methods
  • Removed Extensions
  • New Extensions
  • New Classes
  • New Global Constants
  • New Class Constants
  • New INI Configuration Directives
  • Error Reporting
  • Other Enhancements

See also the migration guides for PHP versions 5.0.x and 5.1.x.

Публикации, посвященные PHP
What has changed in PHP 5.2.x
Appendices


What has changed in PHP 5.2.x

Most improvements in PHP 5.2.x have no impact on existing code. There are a few incompatibilities and new error messages that should be considered, and code should be tested before switching PHP versions in production environments.

If the system is being upgraded from PHP 5.0.x, the manual section titled Upgrade Notes for PHP 5.1.x should also be read.

Similarly, if the system is being upgraded from PHP 4, the manual section titled Migrating from PHP 4 to PHP 5 should be read as well.

Migrating from PHP 5.1.x to PHP 5.2.x
Backward Incompatible Changes
Migrating from PHP 5.1.x to PHP 5.2.x


Backward Incompatible Changes

Although most existing PHP 5 code should work without changes, you should pay attention to the following backward incompatible changes:

  • getrusage() returns NULL when passed incompatible arguments as of PHP 5.2.1.
  • ZipArchive::setCommentName() returns TRUE on success as of PHP 5.2.1.
  • ZipArchive::setCommentIndex() returns TRUE on success as of PHP 5.2.1.
  • SplFileObject::getFilename() returns the filename, not relative/path/to/file, as of PHP 5.2.1.
  • Changed priority of PHPRC environment variable on Win32 The PHPRC environment variable now takes priority over the path stored in the Windows registry.
  • CLI SAPI no longer checks cwd for php.ini or the php-cli.ini file In PHP 5.1.x an undocumented feature was added that made the CLI binary check the current working directory for a PHP configuration file, potentially leading to unpredictable behavior if an unexpected configuration file were read. This functionality was removed in 5.2.0, and PHP will no longer search CWD for the presence of php.ini or php-cli.ini files. See also the command line section of the manual.
  • Added a warning when performing modulus 0 operations In earlier versions of PHP, performing integer % 0 did not emit any warning messages, instead returning an unexpected return value of FALSE. As of PHP 5.2.0, this operation will emit an E_WARNING, as is the case in all other instances where division by zero is performed.
    <?php
    print 10 % 0;
    /* Warning:  Division by zero in filename on line n */
    ?>
  • Changed __toString() to be called wherever applicable. The magic method __toString() will now be called in a string context, that is, anywhere an object is used as a string. The fallback of returning a string that contains the object identifier was dropped in PHP 5.2.0. It became problematic because an object identifier cannot be considered unique. This change will mean that your application is flawed if you have relied on the object identifier as a return value. An attempt to use that value as a string will now result in a catchable fatal error.
    <?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 */
    ?>
    Even with __toString(), objects cannot be used as array indices or keys. We may add built-in hash support for this at a later date, but as of PHP 5.2.x you will need to either provide your own hashing or use the new SPL function spl_object_hash(). Exceptions can not be thrown from __toString() methods.
    <?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) {}
    ?>
  • Dropped abstract static class functions. Due to an oversight, PHP 5.0.x and 5.1.x allowed abstract static functions in classes. As of PHP 5.2.x, only interfaces can have them.
    <?php
    abstract class foo {
        abstract static function     bar();
            /* Strict Standards:  Static function foo::bar()
           should not be abstract in filename on line n */
    }
    ?>
  • Oracle extension requires at least Oracle 10 on Windows.
  • Added RFC2397 (data: stream) support. The introduction of the 'data' URL scheme has the potential to lead to a change of behavior under Windows. If you are working with a NTFS file system and making use of meta streams in your application, and if you just happen to be using a file with the name 'data:' that is accessed without any path information - it won't work any more. The fix is to use the 'file:' protocol when accessing it. See also » RFC 2397
    <?php
    /* when allow_url_include is OFF (default) */
    include "data:;base64,PD9waHAgcGhwaW5mbygpOz8+";
    /* Warning:  include(): URL file-access is disabled
       in the server configuration in filename on line n */
    ?>
  • Regression in glob() patterns In version 5.2.4 a security fix caused a regression for patterns of the form "/foo/*/bar/*". Since version 5.2.5 instead of raising a warning the glob() function will return FALSE when openbase_dir restrictions are violated.
What has changed in PHP 5.2.x
New Error Messages
Migrating from PHP 5.1.x to PHP 5.2.x


New Error Messages

Below are the new error messages that have not been discussed elsewhere in this document.

Пример #1 In PHP Core

<?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 */

/* As of PHP 5.2.1, when allow_url_include is OFF (default) */
include "php://input";
/* Warning:  include(): URL file-access is disabled
   in the server configuration in filename on line n */
?>

Пример #2 Object Oriented Code in PHP Core

<?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 In the bzip2 Extension

<?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 In the datetime Extension

<?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 In the dBase Extension

<?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 In the mcrypt Extension

<?php
$key = "this is a secret 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 In the oci8 Extension

<?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 In the SPL Extension

<?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 In the Semaphore (sysvmsg) extension

<?php
/* Warning:  maximum size of the message has to be
   greater then zero in filename on line n */
?>

Пример #10 A 5.2.1+ Zip Example

<?php
$obj = new ZipArchive();
$obj->open('archive.zip');
$obj->setCommentName('', 'comment');
/* Notice:  ZipArchive::setCommentName(): Empty string
   as entry name in filename on line n */

/* As of PHP 5.2.1 */
$obj->getCommentName('');
/* Notice:  ZipArchive::getCommentName(): Empty string
   as entry name in filename on line n */
?>

Backward Incompatible Changes
Changes in PHP datetime support
Migrating from PHP 5.1.x to PHP 5.2.x


Changes in PHP datetime support

Since PHP 5.1.0, there has been an extension named date in the PHP core. This is the new implementation of PHP's datetime support. Although it will attempt to guess your system's timezone setting, you should set the timezone manually. You can do this in any of three ways:

  • in your php.ini using the date.timezone INI directive
  • on your system using the TZ environmental variable
  • from your script using the convenience function date_default_timezone_set()

All supported timezones are listed in the PHP Manual.

With the advent of PHP 5.2.x, there are object representations of the date and timezone, named DateTime and DateTimeZone respectively. The methods map to existing procedural date functions.

New Error Messages
New Parameters
Migrating from PHP 5.1.x to PHP 5.2.x


New Parameters

Some functions were given new, optional, parameters in PHP 5.2.x:

PHP Core:

  • htmlentities() - added double_encode in PHP 5.2.3.
  • htmlspecialchars() - added double_encode in PHP 5.2.3.
  • base64_decode() - added strict
  • setcookie() - added httponly
  • setrawcookie() - added httponly
  • session_set_cookie_params() - added httponly
  • memory_get_usage() - added real_usage
  • get_loaded_extensions() - added zend_extensions in PHP 5.2.4

curl:

  • curl_multi_info_read() - added msgs_in_queue

datetime

  • date() - added "u" (milliseconds) format character in PHP 5.2.2

imap:

  • imap_open() - added n_retries
  • imap_reopen() - added n_retries

mbstring:

  • mb_strrpos() - added offset
    Внимание

    The offset parameter was put in the position the encoding parameter used to be. Backward compatibility has been provided by allowing encoding to be specified as the third parameter. Using this backward compatibility mode is not recommended because it will be removed in a future release of PHP.

ming:

  • swfmovie::streamMP3() - added skip in PHP 5.2.1

openssl:

  • openssl_verify() - added signature_algo

pgsql:

  • pg_escape_bytea() - added connection
  • pg_escape_string() - added connection

simplexml:

  • SimpleXMLElement::__construct() - added is_prefix
  • SimpleXMLElement::attributes() - added is_prefix
  • SimpleXMLElement::children() - added is_prefix
  • simplexml_load_file() - added is_prefix
  • simplexml_load_string() - added is_prefix

spl:

  • array iterator_to_array(Traversable it [, bool use_keys = true]) - added use_keys in PHP 5.2.1

xmlreader:

  • XMLReader::open() - added encoding and options
  • XMLReader::XML() - added encoding and options

XMLWriter:

  • XMLWriter::WriteElement() - the content became optional in PHP 5.2.3
  • XMLWriter::WriteElementNs() - the content became optional in PHP 5.2.3
Changes in PHP datetime support
New Functions
Migrating from PHP 5.1.x to PHP 5.2.x


New Functions

PHP 5.2.x introduced some new functions:

PHP Core:

  • array_fill_keys() - Create an array using the elements of the first parameter as keys, each initialized to val
  • error_get_last() - Get the last occurred error as associative array. Returns NULL if there hasn't been an error yet
  • image_type_to_extension() - Get file extension for image-type returned by getimagesize(), exif_read_data(), exif_thumbnail(), exif_imagetype()
  • memory_get_peak_usage() - Returns the peak allocated by PHP memory
  • sys_get_temp_dir() - Returns directory path used for temporary files. (Added in 5.2.1)
  • timezone_abbreviations_list() - Returns associative array containing DST, offset and the timezone name
  • timezone_identifiers_list() - Returns numerically indexed array with all timezone identifiers
  • timezone_name_from_abbr() - Returns the timezone name from abbreviation
  • stream_socket_shutdown() - Causes all or part of a full-duplex connection on the socket associated with stream to be shut down. As of PHP 5.2.1.

Image:

  • imagegrabscreen() - Grabs a screenshot of the whole screen. As of PHP 5.2.2.
  • imagegrabwindow() - Captures a window. As of PHP 5.2.2.

mbstring:

  • 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_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_strstr() - Finds first occurrence of a string within another

ming (As of PHP 5.2.1):

  • void ming_setSWFCompression(int num) - Sets output compression
  • void swfmovie::namedanchor(string name) - Creates anchor
  • void swfmovie::protect([string password]) - Protects

openssl:

  • openssl_csr_get_public_key() - Extracts public key from a CERT and prepares it for use
  • openssl_csr_get_subject() - Returns the subject of a CERT
  • openssl_pkey_get_details() - Returns an array with the key details (bits, pkey, type)

spl:

  • spl_object_hash() - Return hash id for given object
  • int iterator_apply(Traversable it, mixed function [, mixed params]) - Calls a function for every element in an iterator

pcre:

  • preg_last_error() - Returns the error code of the last regex execution

pgsql:

  • pg_field_table() - Returns the name of the table field belongs to, or table's oid if oid_only is TRUE

posix:

  • posix_initgroups() - Calculate the group access list for the user specified in name

gmp:

  • gmp_nextprime() - Finds next prime number

xmlwriter:

  • xmlwriter_full_end_element() - End current element - returns FALSE on error
  • xmlwriter_write_raw() - Write text - returns FALSE on error
  • xmlwriter_start_dtd_entity() - Create start DTD Entity - returns FALSE on error
  • xmlwriter_end_dtd_entity() - End current DTD Entity - returns FALSE on error
  • xmlwriter_write_dtd_entity() - Write full DTD Entity tag - returns FALSE on error
New Parameters
New Methods
Migrating from PHP 5.1.x to PHP 5.2.x


New Methods

New methods were introduced in 5.2.0:

dom:

  • DOMDocument::registerNodeClass() - Register extended class used to create base node type
  • DOMElement::setIDAttribute() - Declares the attribute specified by name to be of type ID
  • DOMElement::setIDAttributeNode() - Declares the attribute specified by node to be of type ID
  • DOMElement::setIDAttributeNS() - Declares the attribute specified by local name and namespace URI to be of type ID
  • DOMNode::C14N([bool exclusive [, bool with_comments [, array xpath [, array ns_prefixes]]]]) - Canonicalize nodes to a string
  • DOMNode::C14NFile(string uri [, bool exclusive [, bool with_comments [, array xpath [, array ns_prefixes]]]]) - Canonicalize nodes to a file
  • DOMNode::getNodePath() - Gets an xpath for a node

soap:

  • SoapServer::setObject(object obj) - Sets object which will handle SOAP requests

spl:

  • int ArrayObject::asort(void) - Sort the entries by values
  • int ArrayObject::ksort(void) - Sort the entries by key
  • int ArrayObject::natcasesort(void) - Sort the entries by key using case insensitive "natural order" algorithm.
  • int ArrayObject::natsort(void) - Sort the entries by values using "natural order" algorithm.
  • int ArrayObject::uasort(callback cmp_function) - Sort the entries by values using a user defined function
  • int ArrayObject::uksort(callback cmp_function) - Sort the entries by key using a user defined function.
  • ArrayIterator AppendIterator::getArrayIterator() - Get access to inner ArrayIterator
  • int AppendIterator::getIteratorIndex() - Get index of iterator
  • bool CachingIterator::getCache() - Return the cache
  • int CachingIterator::getFlags() - Return the internal flags
  • bool CachingIterator::offsetExists(mixed index) - Returns TRUE if the requested index exists
  • string CachingIterator::offsetGet(mixed index) - Return the internal cache if used
  • void CachingIterator::offsetSet(mixed index, mixed newval) - Set given index in cache
  • void CachingIterator::offsetUnset(mixed index) - Unset given index in cache
  • void CachingIterator::setFlags() - Set the internal flags
  • array("delimiter" =>, "enclosure" =>) SplFileObject::getCsvControl(void) - Get the delimiter and enclosure character used in fgetcsv()
  • void SplFileObject::setCsvControl([string delimiter = ',' [, string enclosure = '"']]) - Set the delimiter and enclosure character used in fgetcsv()

Tidy

  • tidyNode tidyNode::getParent() - Returns the parent node of the current node (Added in PHP 5.2.2)

XMLReader

  • boolean XMLReader::setSchema() - Use W3C XSD schema to validate the document as it is processed. Activation is only possible before the first XMLReader::read()

zip:

  • ZipArchive::addEmptyDir() - Creates an empty directory in the archive
New Functions
Removed Extensions
Migrating from PHP 5.1.x to PHP 5.2.x


Removed Extensions

These extensions have been moved to PECL and are no longer part of the PHP distribution. The PECL package version of these extensions will be created according to user demand.

  • filePro
  • Hyperwave API
New Methods
New Extensions
Migrating from PHP 5.1.x to PHP 5.2.x


New Extensions

The following are new extensions added (by default) as of PHP 5.2.0:

  • Filter - validates and filters data, and is designed for use with insecure data such as user input. This extension is enabled by default; the default mode RAW does not impact input data in any way.
  • JSON - implements the JavaScript Object Notation (JSON) data interchange format. This extension is enabled by default.
  • Zip - enables you to transparently read or write ZIP compressed archives and the files inside them.
Removed Extensions
New Classes
Migrating from PHP 5.1.x to PHP 5.2.x


New Classes

The following classes were introduced in PHP 5.2.0:

  • DateTime
  • DateTimeZone
  • RegexIterator - extends FilterIterator; implements Iterator, Traversable, OuterIterator Constants:
    • RegexIterator::ALL_MATCHES
    • RegexIterator::GET_MATCH
    • RegexIterator::MATCH
    • RegexIterator::REPLACE
    • RegexIterator::SPLIT
    • RegexIterator::USE_KEY
    Properties:
    • public replacement
    Methods:
    • RegexIterator::__construct(Iterator it, string regex [, int mode [, int flags [, int preg_flags]]]) - Create an RegexIterator from another iterator and a regular expression
    • bool RegexIterator::accept() - Match (string)current() against regular expression
    • bool RegexIterator::getFlags() - Returns current operation flags
    • bool RegexIterator::getMode() - Returns current operation mode
    • bool RegexIterator::getPregFlags() - Returns current PREG flags (if in use or NULL)
    • bool RegexIterator::setFlags(int new_flags) - Set operation flags
    • bool RegexIterator::setMode(int new_mode) - Set new operation mode
    • bool RegexIterator::setPregFlags(int new_flags) - Set PREG flags
  • RecursiveRegexIterator Constants:
    • RecursiveRegexIterator::ALL_MATCHES
    • RecursiveRegexIterator::GET_MATCH
    • RecursiveRegexIterator::MATCH
    • RecursiveRegexIterator::REPLACE
    • RecursiveRegexIterator::SPLIT
    • RecursiveRegexIterator::USE_KEY
    Methods:
    • RecursiveRegexIterator::__construct(RecursiveIterator it, string regex [, int mode [, int flags [, int preg_flags]]]) - Create an RecursiveRegexIterator from another recursive iterator and a regular expression
    • RecursiveRegexIterator RecursiveRegexIterator::getChildren() - Return the inner iterator's children contained in a RecursiveRegexIterator
    • bool RecursiveRegexIterator::hasChildren() - Check whether the inner iterator's current element has children
New Extensions
New Global Constants
Migrating from PHP 5.1.x to PHP 5.2.x


New Global Constants

PHP Core:

  • 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 Added in PHP 5.2.1.
  • CURLOPT_TIMEOUT_MS Added in PHP 5.2.3
  • CURLOPT_CONNECTTIMEOUT_MS Added in PHP 5.2.3

GMP:

  • GMP_VERSION Added in 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
New Classes
New Class Constants
Migrating from PHP 5.1.x to PHP 5.2.x


New Class Constants

pdo:

  • PDO::ATTR_DEFAULT_FETCH_MODE
  • PDO::FETCH_PROPS_LATE
  • PDO::FETCH_KEY_PAIR Fetches a 2 column result set into an associated array. (Added in PHP 5.2.3)

spl:

  • CachingIterator::FULL_CACHE
  • CachingIterator::TOSTRING_USE_INNER
  • SplFileObject::READ_AHEAD
  • SplFileObject::READ_CSV
  • SplFileObject::SKIP_EMPTY
New Global Constants
New INI Configuration Directives
Migrating from PHP 5.1.x to PHP 5.2.x


New INI Configuration Directives

New php.ini directives introduced in PHP 5.2.0:

  • allow_url_include This useful option makes it possible to differentiate between standard file operations on remote files, and the inclusion of remote files. While the former is usually desirable, the latter can be a security risk if used naively. Starting with PHP 5.2.0, you can allow remote file operations while disallowing the inclusion of remote files in local scripts. In fact, this is the default configuration.
  • pcre.backtrack_limit PCRE's backtracking limit.
  • pcre.recursion_limit PCRE's recursion limit. Please note that if you set this value to a high number you may consume all the available process stack and eventually crash PHP (due to reaching the stack size limit imposed by the Operating System).
  • session.cookie_httponly Marks the cookie as accessible only through the HTTP protocol. This means that the cookie won't be accessible by scripting languages, such as JavaScript. This setting can effectively help to reduce identity theft through XSS attacks (although it is not supported by all browsers).

New directives in PHP 5.2.2:

  • max_input_nesting_level Limits how deep input variables can be nested, default is 64.
New Class Constants
Error Reporting
Migrating from PHP 5.1.x to PHP 5.2.x


Error Reporting

Some of the existing E_ERROR conditions have been converted to something that can be caught with a user-defined error handler. If an E_RECOVERABLE_ERROR is not handled, it will behave in the same way as E_ERROR behaves in all versions of PHP. Errors of this type are logged as Catchable fatal error.

This change means that the value of the E_ALL error_reporting constant is now 6143, where the previous value was 2047. Because PHP constants have no meaning outside of PHP, in some cases the integer value is used instead so these will need to be adjusted. So for example by setting the error_reporting mode from either the httpd.conf or the .htaccess files, the value has to be changed accordingly. The same applies when the numeric values are used rather than the constants in PHP scripts.

As a side-effect of a change made to prevent duplicate error messages when track_errors is On, it is now necessary to return FALSE from user defined error handlers in order to populate $php_errormsg. This provides a fine-grain control over the levels of messages stored.

New INI Configuration Directives
Other Enhancements
Migrating from PHP 5.1.x to PHP 5.2.x


Other Enhancements

  • Improved memory manager and increased default memory limit. The new memory manager allocates less memory and works faster than the previous incarnation. It allocates memory from the system in large blocks, and then manages the heap by itself. The memory_limit value in php.ini is checked, not for each emalloc() call (as before), but for actual blocks requested from the system. This means that memory_limit is far more accurate than it used to be, since the old memory manager didn't calculate all the memory overhead used by the malloc library. Thanks to this new-found accuracy memory usage may appear to have increased, although actually it has not. To accommodate this apparent increase, the default memory_limit setting was also increased - from 8 to 16 megabytes.
  • Added support for constructors in interfaces to force constructor signature checks in implementations. Starting with PHP 5.2.0, interfaces can have constructors. However, if you choose to declare a constructor in an interface, each class implementing that interface MUST include a constructor with a signature matching that of the base interface constructor. By 'signature' we mean the parameter and return type definitions, including any type hints and including whether the data is passed by reference or by value.
Error Reporting
Migrating from PHP 5.0.x to PHP 5.1.x
Migrating from PHP 5.1.x to 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

See also the migration guides for PHP versions 5.0.x and 5.2.x.

Other Enhancements
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 CVS at » http://cvs.php.net/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
  • Изменения, повлекшие за собой обратную несовместимость
  • CLI и CGI
  • Миграция конфигурационных файлов
  • Новые функции
  • Новые директивы
  • Базы данных
  • Новая Объектная Модель
  • Сообщения об ошибках
Checking for E_STRICT
Что изменилось в PHP 5
Appendices


Что изменилось в PHP 5

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. Пожалуйста, обратитесь к » ошибке #23610 для получения дальнейший информации, а также посмотрите описание $_SERVER['PATH_TRANSLATED'] в данном руководстве. Это изменение также имеет место в PHP версий >= 4.3.2.
  • Константа T_ML_COMMENT больше не объявляется расширением Tokenizer. Если директива error_reporting установлена в E_ALL, PHP сгенерирует ошибку уровня E_NOTICE. Несмотря на то, что 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 файл включается только один раз.

Пример #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
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() - Вычисляет различие массивов с дополнительной проверкой индексов, производимой заданной пользователем функцией обратного вызова
  • array_udiff() - Вычисляет различие массивов, используя функцию обратного вызова для сравнения данных
  • array_udiff_assoc() - Вычисляет различие массивов с дополнительной проверкой индексов. Данные сравниваются с использованием функции обратного вызова
  • array_udiff_uassoc() - Вычисляет различие массивов с дополнительной проверкой индексов. Данные сравниваются с использованием функции обратного вызова. Проверка индексов также производится с использованием функции обратного вызова
  • array_walk_recursive() - Применить пользовательскую функцию рекурсивно к каждому элементу массива
  • array_uintersect_assoc() - Вычисляет пересечение массивов с дополнительной проверкой индексов. Данные сравниваются с использованием функции обратного вызова
  • array_uintersect_uassoc() - Вычисляет пересечение массивов с дополнительной проверкой индексов. Как данные, так и индексы сравниваются при помощи функции обратного вызова
  • array_uintersect() - Вычисляет пересечение массивов. Данные сравниваются с использованием функции обратного вызова

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() - Зарегистрировать функцию обратного вызова, которая вызывается при публикации события
  • 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 domain сокет
  • stream_socket_get_name() - Получить имя локальных или удаленных сокетов
  • stream_socket_recvfrom() - Получает данные от сокета, вне зависимости от того, произведено соединение или нет
  • stream_socket_sendto() - Посылает сообщение сокету, вне зависимости от того, произведено соединение или нет
  • stream_socket_server() - Создать Internet или или Unix domain сокет на стороне сервера

Связанные с датой и временем:

  • idate() - Форматирует локальное время/дату как integer
  • date_sunset() - Время захода солнца для данного дня и месторасположения
  • date_sunrise() - Время восхода солнца для данного дня и месторасположения
  • time_nanosleep() - Задержка на заданное число секунд и наносекунд

Строки:

  • str_split() - Преобразовать строку в массив
  • strpbrk() - Поиск любого набора символов в строке
  • substr_compare() - Безопасное для бинарных данных опционально регистрозависимое сравнение двух строк, начиная с offset и до length символов

Другие:

  • 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 значения
  • 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-приложений будут работать либо вовсе безо всяких изменений, либо с совсем небольшими изменениями.

Новая Объектная модель задокументирована в Справочнике по языку.

Обратите внимание также на директиву zend.ze1_compatibility_mode для совместимости с PHP 4.

Базы данных
Сообщения об ошибках
Миграция с PHP 4 на PHP 5


Сообщения об ошибках

Начиная с PHP 5 был объявлен новый уровень ошибок - E_STRICT со значением 2048. Он позволяет PHP давать советы по способности взаимодействия и будущей совместимости вашего кода, что позволит вам придерживаться наилучшего метода написания кода. Т.е. сообщение уровня E_STRICT предупредит вас, если вы будете использовать устаревшие функции, которые в будущем будут удалены.

Замечание: E_ALL не включает E_STRICT, так что по умолчанию этот уровень ошибок выключен

Новая Объектная Модель
Отладка PHP
Миграция с PHP 4 на PHP 5


Отладка PHP

Содержание

  • Об отладчике
  • Использование отладчика
  • Протокол отладчика
Сообщения об ошибках
Об отладчике
Appendices


Об отладчике

PHP 3 имеет поддержку сетевого отладчика.

PHP 4 не имеет встроенной системы отладки. Тем не менее, вы можете использовать внешние отладчики. » Zend IDE имеет встроенный отладчик, кроме того, существует несколько свободно распространяемых расширений для отладки, например, DBG, находящееся по адресу » http://dd.cron.ru/dbg/ или » Advanced PHP Debugger (APD).

Отладка PHP
Использование отладчика
Отладка PHP


Использование отладчика

Встроенный в PHP 3 отладчик бывает полезным для отслеживания скрытых ошибок. Отладчик начинает работать на порту TCP каждый раз, когда запускается PHP. Все сообщения об ошибках отсылаются по TCP соединению. Эта информация предназначается для "сервера отладки", который может работать как в IDE, так и в программируемом редакторе (таком, как Emacs).

Как настроить отладчик:

  1. Установите TCP порт для отладчика в файле конфигурации (опция debugger.port) и включите его (опция debugger.enabled).
  2. Настройте на этот порт TCP listener (например, так: socket -l -s 1400 для платформ UNIX).
  3. В код скрипта внесите вызов функции "debugger_on(хост)", где хост - IP адрес или имя машины, на которой запущен TCP listener.

Теперь все предупреждения, замечания и т.д. будут отсылаться на сокет, используемый listener'ом, даже если вы отключили вывод сообщений об ошибках с помощью функции error_reporting().

Об отладчике
Протокол отладчика
Отладка PHP


Протокол отладчика

Протокол отладчика PHP 3 является построчным. Каждая строка состоит из типа и нескольких строк, составляющих сообщение. Каждое сообщение начинается строкой, имеющей тип start и завершается строкой, имеющей тип end. PHP 3 имеет возможность одновременной посылки строк, предназначенных для разных сообщений.

Каждая строка имеет следующий формат:

дата время
хост(pid)
тип:
данные сообщения

дата
Дата в формате ISO 8601 (гггг-мм-чч)
время
Время с указанием микросекунд: чч:мм:мсмсмс
хост
Имя DNS или IP адрес хоста, на котором возникла ошибка при выполнении скрипта.
pid
PID (идентификатор процесса) на хосте, в процессе работы которого возникла ошибка в скрипте PHP 3.
тип

Тип строки. Сообщает принимающей программе, как та должна интерпретировать последующие данные:

Типы строк отладчика
Имя | Значение
start | Сообщает принимающей программе о начале отладочного сообщения. Содержащиеся в данных сведения являютя одним из типов ошибки, перечисленных ниже.
message | Сообщение PHP 3 об ошибке.
location | Имя файла и номер строки, где возникла ошибка. Первая строка location всегда содержит указание на верхний уровень. данные будут содержать строку вида файл:строка. После каждой строки message и после каждой строки function всегда будет следовать строка location.
frames | Количество кадров в последующем дампе стека. Если, например, передаются сведения о четырех кадрах, следует ожидать, что последует информация о четырех уровнях вложенности вызова функций. Если строка "frames" отсутствует, глубина вложенности принимается за нулевую.
function | Имя функции, в которой произошла ошибка. Для каждого уровня вложенности в стеке вызовов функций это имя будет повторяться только однажды.
end | Сообщает об окончании отладочного сообщения.

data
Данные в строке.

Типы ошибок отладчика
Отладчик | Внутреннее представление в PHP 3
warning | E_WARNING
error | E_ERROR
parse | E_PARSE
notice | E_NOTICE
core-error | E_CORE_ERROR
core-warning | E_CORE_WARNING
unknown | (any other)

Пример #1 Пример отладочного сообщения

1998-04-05 23:27:400966 lucifer.guardian.no(20481) start: notice
1998-04-05 23:27:400966 lucifer.guardian.no(20481) message: Uninitialized variable
1998-04-05 23:27:400966 lucifer.guardian.no(20481) location: (NULL):7
1998-04-05 23:27:400966 lucifer.guardian.no(20481) frames: 1
1998-04-05 23:27:400966 lucifer.guardian.no(20481) function: display
1998-04-05 23:27:400966 lucifer.guardian.no(20481) location: /home/ssb/public_html/test.php3:10
1998-04-05 23:27:400966 lucifer.guardian.no(20481) end: notice

Использование отладчика
Configure options
Отладка PHP


Configure options

Содержание

  • List of core configure options
Протокол отладчика
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.

Misc options

--enable-debug

Compile with debugging symbols.

--with-layout=TYPE

Sets how installed files will be laid out. Type is one of PHP (default) or GNU.

--with-pear=DIR

Install PEAR in DIR (default PREFIX/lib/php).

--without-pear

Do not install PEAR.

--enable-sigchild

Enable PHP's own SIGCHLD handler.

--disable-rpath

Disable passing additional runtime library search paths.

--enable-libgcc

Enable explicitly linking against libgcc.

--enable-php-streams

Include experimental PHP streams. Do not use unless you are testing the code!

--with-zlib-dir[=DIR]

Define the location of zlib install directory.

--enable-trans-sid

Enable transparent session id propagation. Only valid for PHP 4.1.2 or less. From PHP 4.2.0, trans-sid feature is always compiled.

--with-tsrm-pthreads

Use POSIX threads (default).

--enable-shared[=PKGS]

Build shared libraries [default=yes].

--enable-static[=PKGS]

Build static libraries [default=yes].

--enable-fast-install[=PKGS]

Optimize for fast installation [default=yes].

--with-gnu-ld

Assume the C compiler uses GNU ld [default=no].

--disable-libtool-lock

Avoid locking (might break parallel builds).

--with-pic

Try to use only PIC/non-PIC objects [default=use both].

--enable-memory-limit

Compile with memory limit support. (not available since PHP 5.2.1 - always enabled)

--disable-url-fopen-wrapper

Disable the URL-aware fopen wrapper that allows accessing files via HTTP or FTP. (not available since PHP 5.2.5)

--enable-versioning

Export only required symbols. See INSTALL for more information.

PHP options

--enable-maintainer-mode

Enable make rules and dependencies not useful (and sometimes confusing) to the casual installer.

--with-config-file-path=PATH

Sets the path in which to look for php.ini, defaults to PREFIX/lib.

--enable-safe-mode

Enable safe mode by default.

--with-exec-dir[=DIR]

Only allow executables in DIR when in safe mode defaults to /usr/local/php/bin.

--enable-magic-quotes

Enable magic quotes by default.

--disable-short-tags

Disable the short-form <? start tag by default.

SAPI options

The following list contains the available SAPI&s (Server Application Programming Interface) for PHP.

--with-aolserver=DIR

Specify path to the installed AOLserver.

--with-apxs[=FILE]

Build shared Apache module. FILE is the optional pathname to the Apache apxs tool; defaults to apxs. Make sure you specify the version of apxs that is actually installed on your system and NOT the one that is in the apache source tarball.

--with-apache[=DIR]

Build a static Apache module. DIR is the top-level Apache build directory, defaults to /usr/local/apache.

--with-mod_charset

Enable transfer tables for mod_charset (Russian Apache).

--with-apxs2[=FILE]

Build shared Apache 2.0 module. FILE is the optional pathname to the Apache apxs tool; defaults to apxs.

--with-caudium=DIR

Build PHP as a Pike module for use with Caudium. DIR is the Caudium server dir, with the default value /usr/local/caudium/server.

--disable-cli

Available with PHP 4.3.0. Disable building the CLI version of PHP (this forces --without-pear). More information is available in the section about Using PHP from the command line.

--enable-embed[=TYPE]

Enable building of the embedded SAPI library. TYPE is either shared or static, which defaults to shared. Available with PHP 4.3.0.

--with-fhttpd[=DIR]

Build fhttpd module. DIR is the fhttpd sources directory, defaults to /usr/local/src/fhttpd. No longer available as of PHP 4.3.0.

--with-isapi=DIR

Build PHP as an ISAPI module for use with Zeus.

--with-nsapi=DIR

Specify path to the installed Netscape/iPlanet/SunONE Webserver.

--with-phttpd=DIR

No information yet.

--with-pi3web=DIR

Build PHP as a module for use with Pi3Web.

--with-roxen=DIR

Build PHP as a Pike module. DIR is the base Roxen directory, normally /usr/local/roxen/server.

--enable-roxen-zts

Build the Roxen module using Zend Thread Safety.

--with-servlet[=DIR]

Include servlet support. DIR is the base install directory for the JSDK. This SAPI requires the java extension must be built as a shared dl.

--with-thttpd=SRCDIR

Build PHP as thttpd module.

--with-tux=MODULEDIR

Build PHP as a TUX module (Linux only).

--with-webjames=SRCDIR

Build PHP as a WebJames module (RISC OS only)

--disable-cgi

Disable building CGI version of PHP. Available with PHP 4.3.0.

--enable-force-cgi-redirect

Enable the security check for internal server redirects. You should use this if you are running the CGI version with Apache.

--enable-discard-path

If this is enabled, the PHP CGI binary can safely be placed outside of the web tree and people will not be able to circumvent .htaccess security.

--with-fastcgi

Build PHP as FastCGI application. No longer available as of PHP 4.3.0, instead you should use --enable-fastcgi.

--enable-fastcgi

If this is enabled, the CGI module will be built with support for FastCGI also. Available since PHP 4.3.0

--disable-path-info-check

If this is disabled, paths such as /info.php/test?a=b will fail to work. Available since PHP 4.3.0. For more information see the » Apache Manual.

Configure options
Директивы php.ini
Configure options


Директивы 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.
allow_url_fopen | "1" | PHP_INI_SYSTEM | PHP_INI_ALL в PHP <= 4.3.4. Доступна с версии PHP 4.0.4.
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_SYSTEM |
apc.enabled | "1" | PHP_INI_SYSTEM |
apc.filters | "" | PHP_INI_SYSTEM |
apc.gc_ttl | "3600" | PHP_INI_SYSTEM |
apc.mmap_file_mask | NULL | PHP_INI_SYSTEM |
apc.num_files_hint | "1000" | PHP_INI_SYSTEM |
apc.optimization | "0" | 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.ttl | "0" | PHP_INI_SYSTEM |
apc.user_entries_hint | "100" | PHP_INI_SYSTEM |
apc.user_ttl | "0" | PHP_INI_SYSTEM |
apd.dumpdir | NULL | PHP_INI_ALL |
apd.statement_tracing | "0" | PHP_INI_ALL |
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 |
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.
bcmath.scale | "0" | PHP_INI_ALL | Доступна с версии PHP 5.0.0.
blenc.key_file | "/usr/local/etc/blenckeys" | PHP_INI_ALL |
browscap | NULL | PHP_INI_SYSTEM |
child_terminate | "0" | PHP_INI_ALL | Доступна с версии PHP 4.0.5.
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_SYSTEM | Доступна с версии PHP 4.0.5.
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.83" | PHP_INI_ALL | Доступна с версии PHP 5.0.0.
date.sunset_zenith | "90.83" | PHP_INI_ALL | Доступна с версии PHP 5.0.0.
dba.default_handler | "" | PHP_INI_ALL | Доступна с версии PHP 4.3.3.
dbx.colnames_case | "unchanged" | PHP_INI_SYSTEM | Доступна с версии PHP 4.3.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 |
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 |
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.
expose_php | "1" | Только php.ini |
extension_dir | "/path/to/php" | PHP_INI_SYSTEM |
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_ALL | Доступна с версии PHP 5-cvs.
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.
file_uploads | "1" | PHP_INI_SYSTEM | PHP_INI_ALL в PHP <= 4.2.3. Доступна с версии PHP 4.0.3.
highlight.bg | "#FFFFFF" | PHP_INI_ALL |
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.
http.allowed_methods | "OPTIONS,GET,HEAD,POST,PUT,DELETE,TRACE,CONNECT" | PHP_INI_ALL |
hyperwave.allow_persistent | "0" | PHP_INI_SYSTEM | Доступна с версии PHP 4.3.2.
hyperwave.default_port | "418" | PHP_INI_ALL |
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 |
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 |
ifx.blobinfile | "1" | PHP_INI_ALL |
ifx.byteasvarchar | "0" | PHP_INI_ALL |
ifx.charasvarchar | "0" | PHP_INI_ALL |
ifx.default_host | NULL | PHP_INI_SYSTEM |
ifx.default_password | NULL | PHP_INI_SYSTEM |
ifx.default_user | NULL | PHP_INI_SYSTEM |
ifx.max_links | "-1" | PHP_INI_SYSTEM |
ifx.max_persistent | "-1" | PHP_INI_SYSTEM |
ifx.nullformat | "0" | PHP_INI_ALL |
ifx.textasvarchar | "0" | PHP_INI_ALL |
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 |
implicit_flush | "0" | PHP_INI_ALL | PHP_INI_PERDIR in PHP <= 4.2.3.
include_path | ".;/path/to/php/pear" | PHP_INI_ALL |
ingres.allow_persistent | "1" | PHP_INI_SYSTEM | Доступна с версии PHP 4.0.2.
ingres.default_database | NULL | PHP_INI_ALL | Доступна с версии PHP 4.0.2.
ingres.default_password | NULL | PHP_INI_ALL | Доступна с версии PHP 4.0.2.
ingres.default_user | NULL | PHP_INI_ALL | Доступна с версии PHP 4.0.2.
ingres.max_links | "-1" | PHP_INI_SYSTEM | Доступна с версии PHP 4.0.2.
ingres.max_persistent | "-1" | PHP_INI_SYSTEM | Доступна с версии PHP 4.0.2.
ircg.control_user | "nobody" | PHP_INI_ALL | Доступна с версии PHP 5.0.0.
ircg.keep_alive_interval | "60" | PHP_INI_ALL | Доступна с версии PHP 5.0.0.
ircg.max_format_message_sets | "12" | PHP_INI_ALL | Доступна с версии PHP 5.0.0.
ircg.shared_mem_size | "6000000" | PHP_INI_ALL | Доступна с версии PHP 5.0.0.
ircg.work_dir | "/tmp/ircg" | PHP_INI_ALL | Доступна с версии PHP 5.0.0.
last_modified | "0" | PHP_INI_ALL | Доступна с версии PHP 4.0.5.
ldap.max_links | "-1" | PHP_INI_SYSTEM |
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.
magic_quotes_runtime | "0" | PHP_INI_ALL |
magic_quotes_sybase | "0" | PHP_INI_ALL |
mail.force_extra_parameters | NULL | PHP_INI_PERDIR | Доступна с версии PHP 5.0.0.
mailparse.def_charset | "us-ascii" | PHP_INI_ALL | Доступна с версии PHP 4.1.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_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_PERDIR | PHP_INI_SYSTEM в PHP <= 4.2.3. Доступна с версии 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_PERDIR | Доступна с версии PHP 4.3.0.
mbstring.script_encoding | NULL | PHP_INI_ALL | Доступна с версии PHP 4.3.0.
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.
memory_limit | "8M" | 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.
mssql.allow_persistent | "1" | PHP_INI_SYSTEM |
mssql.batchsize | "0" | PHP_INI_ALL | Доступна с версии PHP 4.0.4.
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 | "25" | 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.
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 |
opendirectory.max_refs | "-1" | PHP_INI_ALL |
opendirectory.separator | "/" | PHP_INI_ALL |
open_basedir | NULL | PHP_INI_SYSTEM |
output_buffering | "0" | PHP_INI_PERDIR |
output_handler | NULL | PHP_INI_PERDIR | Доступна с версии PHP 4.0.4.
pdo.global_value | "42" | PHP_INI_ALL |
pfpro.defaulthost | "test-payflow.verisign.com" | PHP_INI_ALL | Доступна с версии PHP 4.0.2.
pfpro.defaultport | "443" | PHP_INI_ALL | Доступна с версии PHP 4.0.2.
pfpro.defaulttimeout | "30" | PHP_INI_ALL | Доступна с версии PHP 4.0.2.
pfpro.proxyaddress | "" | PHP_INI_ALL | Доступна с версии PHP 4.0.2.
pfpro.proxylogon | "" | PHP_INI_ALL | Доступна с версии PHP 4.0.2.
pfpro.proxypassword | "" | PHP_INI_ALL | Доступна с версии PHP 4.0.2.
pfpro.proxyport | "" | PHP_INI_ALL | Доступна с версии PHP 4.0.2.
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 |
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 |
realpath_cache_size | "16K" | PHP_INI_SYSTEM | Доступна с версии PHP 5-cvs.
realpath_cache_ttl | "120" | PHP_INI_SYSTEM | Доступна с версии PHP 5-cvs.
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.
register_long_arrays | "1" | PHP_INI_PERDIR | Доступна с версии PHP 5.0.0.
report_memleaks | "1" | PHP_INI_ALL | Доступна с версии PHP 4.3.0.
report_zend_debug | "1" | PHP_INI_ALL | Доступна с версии PHP 5.0.0.
safe_mode | "0" | PHP_INI_SYSTEM |
safe_mode_allowed_env_vars | "PHP_" | PHP_INI_SYSTEM |
safe_mode_exec_dir | "" | PHP_INI_SYSTEM |
safe_mode_gid | "0" | PHP_INI_SYSTEM | Доступна с версии PHP 4.1.0.
safe_mode_include_dir | NULL | PHP_INI_SYSTEM | Доступна с версии PHP 4.1.0.
safe_mode_protected_env_vars | "LD_LIBRARY_PATH" | PHP_INI_SYSTEM |
sendmail_from | NULL | PHP_INI_ALL |
sendmail_path | NULL | PHP_INI_SYSTEM |
serialize_precision | "100" | PHP_INI_ALL | Доступна с версии PHP 4.3.2.
session.auto_start | "0" | PHP_INI_ALL |
session.bug_compat_42 | "1" | PHP_INI_ALL | Доступна с версии PHP 4.3.0.
session.bug_compat_warn | "1" | PHP_INI_ALL | Доступна с версии PHP 4.3.0.
session.cache_expire | "180" | PHP_INI_ALL |
session.cache_limiter | "nocache" | PHP_INI_ALL |
session.cookie_domain | "" | PHP_INI_ALL |
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_divisor | "100" | 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 | "0" | 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 <= 4-cvs. Доступна с версии 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_PERDIR | PHP_INI_ALL в PHP <= 4.0.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_dir | "/tmp" | PHP_INI_ALL | Доступна с версии PHP 5.0.0.
soap.wsdl_cache_enabled | "1" | PHP_INI_ALL | Доступна с версии PHP 5.0.0.
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.
sybct.allow_persistent | "1" | PHP_INI_SYSTEM | Доступна с версии PHP 4.0.4.
sybct.deadlock_retry_count | "0" | PHP_INI_ALL | Доступна с версии PHP 4.3.0.
sybct.hostname | NULL | PHP_INI_ALL | Доступна с версии PHP 4.0.4.
sybct.login_timeout | "-1" | PHP_INI_ALL | Доступна с версии PHP 4.3.5.
sybct.max_links | "-1" | PHP_INI_SYSTEM | Доступна с версии PHP 4.0.4.
sybct.max_persistent | "-1" | PHP_INI_SYSTEM | Доступна с версии PHP 4.0.4.
sybct.min_client_severity | "10" | PHP_INI_ALL | Доступна с версии PHP 4.0.4.
sybct.min_server_severity | "10" | PHP_INI_ALL | Доступна с версии PHP 4.0.4.
tidy.clean_output | "0" | PHP_INI_PERDIR | Доступна с версии PHP 5.0.0.
tidy.default_config | "" | PHP_INI_SYSTEM | Доступна с версии PHP 5.0.0.
track_errors | "0" | PHP_INI_ALL |
unserialize_callback_func | NULL | PHP_INI_ALL | Доступна с версии PHP 4.2.0.
upload_max_filesize | "2M" | PHP_INI_PERDIR | PHP_INI_ALL в PHP <= 4.2.3.
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 |
valkyrie.auto_validate | "0" | PHP_INI_ALL |
valkyrie.config_path | NULL | PHP_INI_ALL |
variables_order | "EGPCS" | PHP_INI_ALL |
request_order | "" | PHP_INI_SYSTEM|PHP_INI_PERDIR | Added in PHP 5.3.0
xbithack | "0" | PHP_INI_ALL | Доступна с версии PHP 4.0.5.
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 |
yaz.keepalive | "120" | PHP_INI_ALL |
yaz.log_file | NULL | PHP_INI_ALL | Доступна с версии PHP 4.3.0.
yaz.log_mask | NULL | PHP_INI_ALL |
yaz.max_links | "100" | PHP_INI_ALL | Доступна с версии PHP 4.3.0.
zend.ze1_compatibility_mode | "0" | PHP_INI_ALL | Доступна с версии PHP 5.0.0.
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_USER | 1 | Опция может быть установлена в пользовательских скриптах
PHP_INI_PERDIR | 2 | Опция может быть установлена в php.ini, .htaccess или httpd.conf
PHP_INI_SYSTEM | 4 | Опция может быть установлена в php.ini или httpd.conf
PHP_INI_ALL | 7 | Опция может быть установлена где угодно

Директивы 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_PERDIR | PHP_INI_ALL в PHP <= 4.0.0.
asp_tags | "0" | PHP_INI_PERDIR | PHP_INI_ALL в PHP <= 4.0.0.
precision | "14" | PHP_INI_ALL |
y2k_compliance | "1" | PHP_INI_ALL |
allow_call_time_pass_reference | "1" | PHP_INI_PERDIR | PHP_INI_ALL в PHP <= 4.0.0.
expose_php | "1" | Только php.ini |
zend.ze1_compatibility_mode | "0" | PHP_INI_ALL | Доступна с версии PHP 5.0.0.

Краткое разъяснение конфигурационных директив.

short_open_tag boolean

Определяет, разрешается ли короткая форма записи (<? ?> ) тегов PHP. Если вы хотите использовать PHP в комбинации с XML, вы можете отключить эту опцию, чтобы беспрепятственно использовать <?xml ?> . В противном случае, вы можете отобразить это при помощи PHP, например: <?php echo '<?xml version="1.0"'; ?> . Если же эта опция отключена, вы должны использовать длинную форму открывающего тега PHP (<?php ?> ).

Замечание: Эта директива также влияет на сокращение <?= , которое идентично записи <? echo . Для использования этого сокращения, директива short_open_tag должна быть включена.

asp_tags boolean
Включает использование тегов в стиле ASP в дополнение к обычным тегам <?php ?>. Это касается и сокращения для отображения значения переменных <%= $value %>. Для получения дополнительной информации, обратитесь к разделу Вставка в HTML.

Замечание: Поддержка тегов в стиле ASP выла добавлена в версии PHP 3.0.4.

precision integer
Количество значащих цифр, отображаемых для десятичных дробей.
y2k_compliance boolean
Включение совместимости с 2000 годом (создаст проблемы с несовместимыми браузерами).
allow_call_time_pass_reference boolean

Включена ли возможность жёсткой передачи аргументов по ссылке во время вызова функции. Этот метод является устаревшим и скорее всего не будет поддерживаться будущими версиями PHP/Zend. Рекомендуемым методом указания, какие аргументы должны быть переданы по ссылке, является указание этого при объявлении функции. Вам рекомендуется попытаться отключить эту опцию, чтобы убедиться, что ваши скрипты будут правильно работают без неё и что они будут работать с будущими версиями языка (вы будете получать предупреждение каждый раз, когда вы будете пользоваться этим методом, и аргументы будут передаваться по значению, а не по ссылке).

Передача аргументов по ссылке во время вызова функции была объявлена устаревшей из соображений чистоты кода. Функция может менять свои аргументы недокументированным способом, если бы не требовалось объявление передачи аргумента по ссылке. Чтобы избежать побочных эффектов, лучше явно указывать, какие аргументы передаются по ссылке только при объявлении функции.

См. также Ссылки - подробное описание.

expose_php boolean

Определяет, разрешено ли PHP выдавать факт своего присутствия на сервере (например, добавляя свою подпись в заголовок веб-сервера). Ни в коей мере это не является угрозой безопасности, но это даёт возможность определить, используете ли вы PHP на своём сервере.

zend.ze1_compatibility_mode boolean

Включает режим совместимости с Zend Engine 1 (PHP 4). Это влияет на клонирование, приведение типов и сравнение объектов.

См. также раздел Миграция из PHP 4 в PHP 5.

Ограничения ресурсов

Ограничения ресурсов
Имя | По умолчанию | Изменяемый | Список изменений
memory_limit | "8M" | PHP_INI_ALL |

Краткое разъяснение конфигурационных директив.

memory_limit integer

Эта директива задаёт максимальный объём памяти в байтах, который разрешается использовать скрипту. Это помогает предотвратить ситуацию, при которой плохо написанный скрипт съедает всю доступную память сервера. Для того, чтобы использовать эту директиву, вы должны указать её на этапе компиляции. Так, ваша строка конфигурации должна включать: --enable-memory-limit. Обратите внимание, что вы должны установить эту директиву в -1, если не хотите ограничивать объём памяти.

Начиная с версии PHP 4.3.2, если memory_limit включён, стала доступна функция PHP memory_get_usage().

Если используется integer, значение измеряется байтами. Вы также можете использовать сокращённую запись, которая описана в этом разделе FAQ.

См. также: max_execution_time.

Обработка данных

Конфигурационные опции обработки данных
Имя | По умолчанию | Изменяемый | Список изменений
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_ALL |
request_order | "" | PHP_INI_SYSTEM|PHP_INI_PERDIR | Доступна с версии PHP 5.3.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.
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). Значением по умолчанию для этой директивы является "EGPCS". Установка её в "GP", к примеру, заставит PHP полностью игнорировать переменные окружения, cookie и сервера, а так же перезаписать любую GET-переменную POST-переменной с таким же именем.

См. также register_globals.

request_order string

Эта директива регулирует порядок, в котором PHP добавляет переменные GET, POST и Cookie в массив _REQUEST. Добавление производится слева направо, новые значения перезаписывают старые.

Если значение этой директива не установлено, используется значение директивы variables_order.

auto_globals_jit boolean

Когда включено, переменные SERVER и ENV создаются в тот момент, когда они впервые используются (Just In Time), а не в начале выполнения скрипта. Если эти переменные в скрипте не используются, включение этой директивы приведёт к росту производительности.

Директивы PHP register_globals, register_long_arrays и register_argc_argv должны быть выключены для того, чтобы эта директива работала.

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.

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.
post_max_size integer
Устанавливает максимальный допустимый размер POST-данных. Это свойство также влияет на закачиваемые файлы. Чтобы закачивать большие файлы, это значение должно быть выше upload_max_filesize. Если в вашем конфигурационном скрипте включено ограничение памяти, memory_limit также будет влиять на закачивание файлов. Проще говоря, memory_limit должна быть больше чем post_max_size . Если используется integer, значение измеряется байтами. Вы также можете использовать сокращённую запись, которая описана в этом разделе FAQ.
gpc_order string

Устанавливает порядок обработки переменных GET/POST/COOKIE. Значением по умолчанию для этой директивы является "GPC". Установка её в "GP", к примеру, приведёт к тому, что PHP будет полностью игнорировать cookies и перезапишет любую GET-переменную POST-переменной с таким же именем.

Замечание: Эта опция не доступна в PHP 4. Вместо неё используйте variables_order.

auto_prepend_file string

Определяет имя файла, который будет автоматически обрабатываться перед главным файлом. Файл вызывается так, будто он был подключён при помощи функции include(), так что используется include_path.

Специальное значение none отключает эту директиву.

auto_append_file string

Определяет имя файла, который будет автоматически обрабатываться после главного файла. Файл вызывается так, будто он был подключён при помощи функции include(), так что используется include_path.

Специальное значение none отключает эту директиву.

Замечание: Если скрипт завершает работу при помощи exit(), auto_append_file НЕ выполняется.

default_mimetype string

default_charset string

Начиная с версии 4.0b4, PHP всегда отправляет кодировку по умолчанию в заголовке Content-Type. Чтобы отключить отправку кодировки, просто установите её пустой строкой.

always_populate_raw_post_data boolean

Всегда объявлять переменную $HTTP_RAW_POST_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 |
doc_root | NULL | PHP_INI_SYSTEM |
user_dir | NULL | PHP_INI_SYSTEM |
extension_dir | "/path/to/php" | PHP_INI_SYSTEM |
cgi.fix_pathinfo | "0" | PHP_INI_SYSTEM |
cgi.force_redirect | "1" | PHP_INI_SYSTEM |
cgi.redirect_status_env | "" | PHP_INI_SYSTEM |
fastcgi.impersonate | "0" | PHP_INI_SYSTEM |
cgi.rfc2616_headers | "0" | PHP_INI_SYSTEM |

Краткое разъяснение конфигурационных директив.

include_path string

Указывает список директорий, в которых функции require(), include() и fopen_with_path() ищут файлы. Формат соответствует формату переменной окружения PATH вашей системы: список директорий, разделённых двоеточием в Unix или точкой с запятой в Windows.

Пример #1 include_path в Unix

include_path=".:/php/includes"

Пример #2 include_path в Windows

include_path=".;c:\php\includes"

Использование . в include_path позволяет задавать относительные пути для подключения файлов, так как точка означает текущую директорию.

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

Which dynamically loadable extensions to load when PHP starts up.

cgi.fix_pathinfo boolean

Обеспечивает поддержку правильных PATH_INFO/PATH_TRANSLATED в CGI. Раньше PHP просто устанавливал PATH_TRANSLATED в SCRIPT_FILENAME и не обращал внимания на PATH_INFO. Для получения дополнительной информации о PATH_INFO, обратитесь к спецификации CGI. Установка этого значения в 1 заставит PHP CGI исправлять свой путь в соответствии со спецификацией. Значение 0 соответствует предыдущему поведению. По умолчанию установлен 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. Значение по умолчанию - ноль.

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.

Краткое разъяснение конфигурационных директив.

file_uploads boolean

Разрешать или не разрешать закачивание файлов по HTTP. См. также директивы upload_max_filesize, upload_tmp_dir и post_max_size.

Если используется integer, значение измеряется байтами. Вы также можете использовать сокращённую запись, которая описана в этом разделе FAQ.
upload_tmp_dir string

Временная директория, используемая для хранения файлов во время закачивания. Должна быть доступна для записи пользователю, от имени которого запущен PHP. Если не указана, используется директория по умолчанию для вашей системы.

upload_max_filesize integer

Максимальный размер закачиваемого файла.

Если используется integer, значение измеряется байтами. Вы также можете использовать сокращённую запись, которая описана в этом разделе FAQ.

Общий SQL

Конфигурационные Опции Общего SQL
Имя | По умолчанию | Изменяемый | Список изменений
sql.safe_mode | "0" | PHP_INI_SYSTEM |

Краткое разъяснение конфигурационных директив.

sql.safe_mode boolean

Конфигурационные Директивы Отладчика

Предостережение

Отладчик по умолчанию реализован только в PHP 3. Для получения дополнительной информации обратитесь к разделу Отладка PHP.

debugger.host string

Имя DNS или IP адрес хоста, используемый отладчиком.

debugger.port string

Номер порта, используемый отладчиком.

debugger.enabled boolean

Определяет, включён ли отладчик.

Список директив php.ini
Extension List/Categorization
Директивы php.ini


Extension List/Categorization

Содержание

  • Alphabetical
  • Membership
  • State

This appendix categorizes more than 150 extensions documented in the PHP Manual by several criteria.

Описание встроенных директив php.ini
Alphabetical
Appendices


Alphabetical

  • Apache
  • APC
  • APD
  • Массивы
  • BBCode
  • BC Math
  • bcompiler
  • Функции сжатия Bzip2
  • Calendar
  • Classkit
  • Классы/Объекты
  • COM
  • Crack
  • ctype
  • Функции CURL
  • Cyrus
  • Date/Time
  • DBA
  • dBase
  • DB++
  • dbx
  • Direct IO
  • Директории
  • DOM
  • DOM XML (PHP 4)
  • .NET
  • Enchant
  • Error Handling
  • Program execution
  • Exif
  • Expect
  • FAM
  • FrontBase
  • FDF
  • Fileinfo
  • filePro
  • Функции для работы с файловой системой
  • Filter
  • FriBiDi
  • Функции FTP
  • Управление функциями
  • GeoIP
  • Gettext
  • GMP
  • GnuPG
  • haru
  • Hash
  • HTTP
  • Hyperwave API
  • Hyperwave
  • i18n
  • Firebird/InterBase
  • IBM DB2
  • iconv
  • ID3
  • Informix
  • IIS
  • GD
  • ImageMagick
  • IMAP
  • inclued
  • PHP Options/Info
  • Ingres
  • Inotify
  • intl
  • Java
  • JSON
  • KADM5
  • LDAP
  • libxml
  • LZF
  • Mail
  • Mailparse
  • Math
  • MaxDB
  • Multibyte String
  • Mcrypt
  • MCVE
  • Memcache
  • Mhash
  • Mimetype
  • Ming
  • Misc.
  • mnoGoSearch
  • Mongo
  • mqseries
  • Msession
  • mSQL
  • Mssql
  • MySQL
  • mysqli
  • Ncurses
  • Gopher
  • Network
  • Newt
  • YP/NIS
  • Lotus Notes
  • NSAPI
  • Object Aggregation
  • Oracle/OCI8
  • oggvorbis
  • OpenAL
  • OpenSSL
  • Output Control
  • Object overloading
  • Ovrimos SQL
  • Paradox
  • Parsekit
  • PCNTL
  • PCRE
  • PDF
  • PDO
  • PostgreSQL
  • Phar
  • POSIX
  • Printer
  • PS
  • Pspell
  • qtdom
  • Radius
  • Функции Rar
  • Readline
  • Recode
  • POSIX Regex
  • RPM Reader
  • runkit
  • SAM
  • SCA
  • scream
  • SDO
  • SDO-DAS-Relational
  • SDO DAS XML
  • Semaphore
  • Sessions
  • Session PgSQL
  • Shared Memory
  • SimpleXML
  • SNMP
  • SOAP
  • Sockets
  • Sphinx
  • SPL
  • SPL Types
  • SPPLUS
  • SQLite3
  • SQLite
  • SSH2
  • Statistics
  • Streams
  • Строки
  • SVN
  • SWF
  • Swish
  • Sybase
  • TCP
  • Tidy
  • Tokenizer
  • Unicode
  • ODBC
  • URLs
  • Управление переменными
  • vpopmail
  • W32api
  • WDDX
  • win32ps
  • win32service
  • xattr
  • xdiff
  • XML Parser
  • XMLReader
  • XML-RPC
  • XMLWriter
  • XSL
  • XSLT (PHP4)
  • YAZ
  • Zip
  • Zlib
Extension List/Categorization
Membership
Extension List/Categorization


Membership

Core Extensions

These are not actual extensions. They are part of the PHP core and cannot be left out of a PHP binary with compilation options.

  • Массивы

  • Классы/Объекты

  • Date/Time

  • Директории

  • Error Handling

  • Program execution

  • Функции для работы с файловой системой

  • Управление функциями

  • i18n

  • PHP Options/Info

  • Mail

  • Math

  • Misc.

  • Network

  • Output Control

  • POSIX Regex

  • Sessions

  • Streams

  • Строки

  • Tokenizer

  • Unicode

  • URLs

  • Управление переменными

Bundled Extensions

These extensions are bundled with PHP.

  • Apache

  • BC Math

  • Функции сжатия Bzip2

  • Calendar

  • 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

  • Ncurses

  • NSAPI

  • Object Aggregation

  • Oracle/OCI8

  • OpenSSL

  • PCNTL

  • PCRE

  • PDO

  • MS SQL Server (PDO)

  • Firebird/Interbase (PDO)

  • MySQL (PDO)

  • Oracle (PDO)

  • ODBC and DB2 (PDO)

  • PostgreSQL (PDO)

  • SQLite (PDO)

  • PostgreSQL

  • POSIX

  • Pspell

  • Readline

  • Recode

  • Semaphore

  • Shared Memory

  • SimpleXML

  • SNMP

  • SOAP

  • Sockets

  • SPL

  • SQLite

  • SVN

  • Sybase

  • Tidy

  • ODBC

  • WDDX

  • XML Parser

  • XMLReader

  • XML-RPC

  • XSL

  • XSLT (PHP4)

  • Zip

  • Zlib

External Extensions

In order to compile these extensions, external libraries will be needed.

  • BBCode

  • Функции сжатия Bzip2

  • Crack

  • Функции CURL

  • dBase

  • DB++

  • dbx

  • DOM

  • DOM XML (PHP 4)

  • Enchant

  • FAM

  • FrontBase

  • FDF

  • Fileinfo

  • FriBiDi

  • GeoIP

  • Gettext

  • GMP

  • haru

  • Hyperwave

  • Hyperwave API

  • i18n

  • Firebird/InterBase

  • IBM DB2

  • Informix

  • ImageMagick

  • IMAP

  • Ingres

  • Java

  • LDAP

  • libxml

  • MaxDB

  • Mcrypt

  • Memcache

  • Mhash

  • Ming

  • mnoGoSearch

  • Msession

  • mSQL

  • Mssql

  • MySQL

  • mysqli

  • Ncurses

  • Newt

  • Oracle/OCI8

  • oggvorbis

  • OpenAL

  • OpenSSL

  • Ovrimos SQL

  • Paradox

  • PDF

  • MS SQL Server (PDO)

  • Firebird/Interbase (PDO)

  • IBM (PDO)

  • Informix (PDO)

  • MySQL (PDO)

  • Oracle (PDO)

  • ODBC and DB2 (PDO)

  • PostgreSQL (PDO)

  • PostgreSQL

  • PS

  • Pspell

  • qtdom

  • Radius

  • Функции Rar

  • Readline

  • Recode

  • Session PgSQL

  • SimpleXML

  • SNMP

  • SOAP

  • Sphinx

  • SSH2

  • SWF

  • Swish

  • Sybase

  • Tidy

  • Unicode

  • ODBC

  • vpopmail

  • WDDX

  • xattr

  • xdiff

  • XML Parser

  • XMLReader

  • XSL

  • XSLT (PHP4)

  • YAZ

PECL Extensions

These extensions are available from » PECL. More PECL extensions exist but they are not documented in the PHP manual yet.

  • APC

  • APD

  • BBCode

  • bcompiler

  • Classkit

  • Crack

  • Cyrus

  • DB++

  • dbx

  • Direct IO

  • DOM XML (PHP 4)

  • Enchant

  • Expect

  • FAM

  • Fileinfo

  • filePro

  • Filter

  • FriBiDi

  • GeoIP

  • GnuPG

  • haru

  • Hash

  • HTTP

  • Hyperwave

  • Hyperwave API

  • IBM DB2

  • ID3

  • IIS

  • ImageMagick

  • Ingres

  • Java

  • JSON

  • KADM5

  • LZF

  • Mailparse

  • MaxDB

  • MCVE

  • Memcache

  • mnoGoSearch

  • Mongo

  • Msession

  • Ncurses

  • Gopher

  • Newt

  • YP/NIS

  • Lotus Notes

  • oggvorbis

  • OpenAL

  • Ovrimos SQL

  • Paradox

  • Parsekit

  • PDF

  • PDO

  • MS SQL Server (PDO)

  • Firebird/Interbase (PDO)

  • IBM (PDO)

  • Informix (PDO)

  • MySQL (PDO)

  • Oracle (PDO)

  • ODBC and DB2 (PDO)

  • PostgreSQL (PDO)

  • SQLite (PDO)

  • Phar

  • Printer

  • PS

  • qtdom

  • Radius

  • Функции Rar

  • RPM Reader

  • runkit

  • SAM

  • SCA

  • SDO

  • SDO DAS XML

  • SDO-DAS-Relational

  • Session PgSQL

  • Sphinx

  • SSH2

  • Statistics

  • SVN

  • SWF

  • Swish

  • TCP

  • Tidy

  • vpopmail

  • W32api

  • win32ps

  • win32service

  • xattr

  • xdiff

  • XMLReader

  • XMLWriter

  • YAZ

  • Zip

Alphabetical
State
Extension List/Categorization


State

This part lists extensions not intended for the production use - they are either too "old" (deprecated) or "new" (experimental).

Deprecated Extensions

These extensions have been deprecated usually in the favor of some other extensions.

  • Mimetype

  • Object overloading

Experimental Extensions

The behaviour of these extensions - including the names of their functions and anything else documented about these extensions - may change without notice in a future release of PHP. Use these extensions at your own risk.

  • bcompiler

  • DB++

  • .NET

  • haru

  • Hash

  • ImageMagick

  • Java

  • Ming

  • Mongo

  • Ncurses

  • Newt

  • Lotus Notes

  • Object Aggregation

  • Paradox

  • MS SQL Server (PDO)

  • Firebird/Interbase (PDO)

  • Oracle (PDO)

  • PS

  • qtdom

  • SCA

  • SDO-DAS-Relational

  • Sphinx

  • Swish

  • vpopmail

  • W32api

  • XML-RPC

Membership
Список псевдонимов функций
Extension List/Categorization


Список псевдонимов функций

В этом списке приведены все псевдонимы. Использование псевдонимов нежелательно, поскольку они могут быть переименованы или признаны устаревшими, что приведет к невозможности портирования скрипта. Этот список может помочь тем пользователям, которые решили привести синтаксис своих прежних скриптов к используемому в настоящий момент синтаксису.

Однако, некоторые функции просто имют два имени, и в их использовании не существует никакой разницы. (Например is_int() и is_integer() совершенно одинаковы).

Этот список соответствует PHP версии 4.0.6.

Псевдонимы
Псевдоним | Функция | Расширение
_ | 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() | Базовый синтаксис
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

State
List of Reserved Words
Appendices


List of Reserved Words

Содержание

  • List of Keywords
  • Predefined Classes
  • Предопределенные константы

The following is a listing of predefined identifiers in PHP. None of the identifiers listed here should be used as identifiers in any of your scripts. These lists include keywords and predefined variable, constant, and class names. These lists are neither exhaustive or complete.

Список псевдонимов функций
List of Keywords
Appendices


List of Keywords

These words have special meaning in PHP. Some of them represent things which look like functions, some look like constants, and so on--but they're not, really: they are language constructs. You cannot use any of the following words as constants, class names, function or method names. Using them as variable names is generally OK, but could lead to confusion.

PHP Keywords
abstract (as of PHP 5) | and | array() | as | break
case | catch (as of PHP 5) | cfunction (PHP 4 only) | class | clone (as of PHP 5)
const | continue | declare | default | do
else | elseif | enddeclare | endfor | endforeach
endif | endswitch | endwhile | extends | final (as of PHP 5)
for | foreach | function | global | goto (as of PHP 5.3)
if | implements (as of PHP 5) | interface (as of PHP 5) | instanceof (as of PHP 5)
namespace (as of PHP 5.3) | new | old_function (PHP 4 only) | or | private (as of PHP 5)
protected (as of PHP 5) | public (as of PHP 5) | static | switch | throw (as of PHP 5)
try (as of PHP 5) | use | var | while | xor
Compile-time constants
__CLASS__ | __DIR__ (as of PHP 5.3) | __FILE__ | __FUNCTION__ | __METHOD__
__NAMESPACE__ (as of PHP 5.3) |  |  |  |
Language constructs
die() | echo() | empty() | exit() | eval()
include() | include_once() | isset() | list() | require()
require_once() | return() | print() | unset() |
List of Reserved Words
Predefined Classes
List of Reserved Words


Predefined Classes

This section lists standard predefined classes. Miscellaneous extensions define other classes which are described in their reference.

Standard Defined Classes

These classes are defined in the standard set of functions included in the PHP build.

Directory
The class from which dir is instantiated.
stdClass
__PHP_Incomplete_Class

Predefined classes as of PHP 5

These additional predefined classes were introduced in PHP 5.0.0.

exception
php_user_filter

Closure

The predefined final class Closure was introduced in PHP 5.3.0. It is used for internal implementation of anonymous functions.

The class has a constructor forbidding the manual creation of the object (issues E_RECOVERABLE_ERROR) and the __invoke method with the calling magic.

Special classes

Following identifiers may not be used as a class name as they have special purpose.

self
parent
List of Keywords
Предопределенные константы
List of Reserved Words


Предопределенные константы

Объявленные в ядре константы

Нижеописанные константы объявляются ядром PHP и охватывают PHP, Zend engine и SAPI-модули.

PHP_VERSION (строка)
PHP_OS (строка)
DEFAULT_INCLUDE_PATH (строка)
PEAR_INSTALL_DIR (строка)
PEAR_EXTENSION_DIR (строка)
PHP_EXTENSION_DIR (строка)
PHP_BINDIR (строка)
PHP_LIBDIR (строка)
PHP_DATADIR (строка)
PHP_SYSCONFDIR (строка)
PHP_LOCALSTATEDIR (строка)
PHP_CONFIG_FILE_PATH (строка)
PHP_OUTPUT_HANDLER_START (целое)
PHP_OUTPUT_HANDLER_CONT (целое)
PHP_OUTPUT_HANDLER_END (целое)
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_ALL (целое)

Стандартные константы

Эти константы объявлены в 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 (integer)
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)
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)
Predefined Classes
List of Resource Types
List of Reserved Words


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

Предопределенные константы
List of Supported Protocols/Wrappers
Appendices


List of Supported Protocols/Wrappers

Содержание

  • Filesystem
  • HTTP and HTTPS
  • FTP and FTPS
  • PHP input/output streams
  • Compression Streams
  • Data (RFC 2397)
  • Glob
  • Phar
  • Secure Shell 2
  • Audio Streams
  • Process Interaction Streams

PHP comes with many built-in wrappers for various URL style protocols for use with the filesystem functions such as fopen() and copy(). In addition to these wrappers, you can as of PHP 4.3.0, write your own wrappers using the stream_wrapper_register() function.

List of context options is available in the chapter Context options and parameters.

List of Resource Types
Filesystem
Appendices


Filesystem

All versions of PHP. Explicitly using file:// since PHP 5.0.0.

  • /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

Filesystem is the default wrapper used with PHP and represents the local filesystem. When a relative path is specified (a path which does not begin with /, \, \\, or a Windows drive letter) the path provided will be applied against the current working directory. In many cases this is the directory in which the script resides unless it has been changed. Using the CLI sapi, this defaults to the directory from which the script was called.

With some functions, such as fopen() and file_get_contents(), include_path may be optionally searched for relative paths as well.

Wrapper Summary
Attribute | Supported
Restricted by allow_url_fopen | No
Allows Reading | Yes
Allows Writing | Yes
Allows Appending | Yes
Allows Simultaneous Reading and Writing | Yes
Supports stat() | Yes
Supports unlink() | Yes
Supports rename() | Yes
Supports mkdir() | Yes
Supports rmdir() | Yes

List of Supported Protocols/Wrappers
HTTP and HTTPS
List of Supported Protocols/Wrappers


HTTP and HTTPS

PHP 4, PHP 5, PHP 6. https:// since PHP 4.3.0

  • 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

Allows read-only access to files/resources via HTTP 1.0, using the HTTP GET method. A Host: header is sent with the request to handle name-based virtual hosts. If you have configured a user_agent string using your php.ini file or the stream context, it will also be included in the request.

Внимание

При использовании SSL, Microsoft IIS нарушает протокол, закрывая соединение без отправки индикатора close_notify. PHP сообщит об этом как о "SSL: Fatal Protocol Error" в тот момент, когда вы достигнете конца данных. Чтобы обойти это, вы должны установить error_reporting на уровень, исключающий E_WARNING. PHP версий 4.3.7 и старше умеет определять, что на стороне сервера находится проблемный IIS и не выводит предупреждение. Если вы используете fsockopen() для создания ssl:// сокета, вы сами отвечаете за определение и подавление этого предупреждения.

Redirects have been supported since PHP 4.0.5; if you are using an earlier version you will need to include trailing slashes in your URLs. If it's important to know the URL of the resource where your document came from (after all redirects have been processed), you'll need to process the series of response headers returned by the stream.

<?php
$url = 'http://www.example.com/redirecting_page.php';

$fp = fopen($url, 'r');

/* Prior to PHP 4.3.0 use $http_response_header
   instead of stream_get_meta_data() */
$meta_data = stream_get_meta_data($fp);
foreach($meta_data['wrapper_data'] as $response) {

  /* Were we redirected? */
  if (substr(strtolower($response), 0, 10) == 'location: ') {
    /* update $url with where we were redirected to */
    $url = substr($response, 18);
  }

}

?>

The stream allows access to the body of the resource; the headers are stored in the $http_response_header variable. Since PHP 4.3.0, the headers are available using stream_get_meta_data().

HTTP connections are read-only; you cannot write data or copy files to an HTTP resource.

Замечание: HTTPS is supported starting from PHP 4.3.0, if you have compiled in support for OpenSSL.

Wrapper Summary
Attribute | Supported
Restricted by allow_url_fopen | Yes
Allows Reading | Yes
Allows Writing | No
Allows Appending | No
Allows Simultaneous Reading and Writing | N/A
Supports stat() | No
Supports unlink() | No
Supports rename() | No
Supports mkdir() | No
Supports rmdir() | No

Custom headers may be sent with an HTTP request prior to version 5 by taking advantage of a side-effect in the handling of the user_agent INI setting. Set user_agent to any valid string (such as the default PHP/version setting) followed by a carriage-return/line-feed pair and any additional headers. This method works in PHP 4 and all later versions.

Пример #1 Sending custom headers with an HTTP request

<?php
ini_set('user_agent', "PHP\r\nX-MyCustomHeader: Foo");

$fp = fopen('http://www.example.com/index.php', 'r');
?>

Results in the following request being sent:

GET /index.php HTTP/1.0
Host: www.example.com
User-Agent: PHP
X-MyCustomHeader: Foo

Filesystem
FTP and FTPS
List of Supported Protocols/Wrappers


FTP and FTPS

PHP 4, PHP 5, PHP 6. ftps:// since PHP 4.3.0

  • 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

Allows read access to existing files and creation of new files via FTP. If the server does not support passive mode ftp, the connection will fail.

You can open files for either reading or writing, but not both simultaneously. If the remote file already exists on the ftp server and you attempt to open it for writing but have not specified the context option overwrite, the connection will fail. If you need to overwrite existing files over ftp, specify the overwrite option in the context and open the file for writing. Alternatively, you can use the FTP extension.

Замечание: Appending
As of PHP 5.0.0 files may be appended via the ftp:// URL wrapper. In prior versions, attempting to append to a file via ftp:// will result in failure.

ftps:// was introduced in PHP 4.3.0. It is the same as ftp://, but attempts to negotiate a secure connection with the ftp server. If the server does not support SSL, then the connection falls back to regular unencrypted ftp.

Замечание: FTPS is supported starting from PHP 4.3.0, if you have compiled in support for OpenSSL.

Wrapper Summary
Attribute | PHP 4 | PHP 5
Restricted by allow_url_fopen | Yes | Yes
Allows Reading | Yes | Yes
Allows Writing | Yes (new files only) | Yes (new files/existing files with overwrite )
Allows Appending | No | Yes
Allows Simultaneous Reading and Writing | No | No
Supports stat() | No | As of PHP 5.0.0: filesize(), filetype(), file_exists(), is_file(), and is_dir() elements only. As of PHP 5.1.0: filemtime().
Supports unlink() | No | Yes
Supports rename() | No | Yes
Supports mkdir() | No | Yes
Supports rmdir() | No | Yes

HTTP and HTTPS
PHP input/output streams
List of Supported Protocols/Wrappers


PHP input/output streams

  • php://stdin
  • php://stdout
  • php://stderr
  • php://output
  • php://input
  • php://filter (available since PHP 5.0.0)
  • php://memory (available since PHP 5.1.0)
  • php://temp (available since PHP 5.1.0)

php://stdin, php://stdout and php://stderr allow access to the corresponding input or output stream of the PHP process. The stream references a duplicate file descriptor, so if you open php://stdin and later close it, you close only your copy of the descriptor--the actual stream referenced by STDIN is unaffected. Note that PHP exhibited buggy behavior in this regard until PHP 5.2.1. It is recommended that you simply use the constants STDIN, STDOUT and STDERR instead of manually opening streams using these wrappers.

php://output allows you to write to the output buffer mechanism in the same way as print() and echo().

php://input allows you to read raw POST data. It is a less memory intensive alternative to $HTTP_RAW_POST_DATA and does not need any special php.ini directives. php://input is not available with enctype="multipart/form-data".

php://stdin and php://input are read-only, whereas php://stdout, php://stderr and php://output are write-only.

php://filter is a kind of meta-wrapper designed to permit the application of filters to a stream at the time of opening. This is useful with all-in-one file functions such as readfile(), file(), and file_get_contents() where there is otherwise no opportunity to apply a filter to the stream prior the contents being read.

The php://filter target takes the following 'parameters' as parts of its 'path'.

  • /resource=<stream to be filtered> (required) This parameter must be located at the end of your php://filter specification and should point to the stream which you want filtered.

    <?php
    /* This is equivalent to simply:
       readfile("http://www.example.com");
       since no filters are actually specified */

    readfile("php://filter/resource=http://www.example.com");
    ?>

  • /read=<filter list to apply to read chain> (optional) This parameter takes one or more filternames separated by the pipe character |.

    <?php
    /* This will output the contents of
       www.example.com entirely in uppercase */
    readfile("php://filter/read=string.toupper/resource=http://www.example.com");

    /* This will do the same as above
       but will also ROT13 encode it */
    readfile("php://filter/read=string.toupper|string.rot13/resource=http://www.example.com");
    ?>

  • /write=<filter list to apply to write chain> (optional) This parameter takes one or more filternames separated by the pipe character |.

    <?php
    /* This will filter the string "Hello World"
       through the rot13 filter, then write to
       example.txt in the current directory */
    file_put_contents("php://filter/write=string.rot13/resource=example.txt","Hello World");
    ?>

  • /<filter list to apply to both chains> (optional) Any filter lists which are not prefixed specifically by read= or write= will be applied to both the read and write chains (as appropriate).

The php://memory wrapper stores the data in the memory. php://temp behaves similarly, but uses a temporary file for storing the data when a certain memory limit is reached (the default is 2 MB).

The php://temp wrapper takes the following 'parameters' as parts of its 'path':

  • /maxmemory:<number of bytes> (optional). This parameter allows changing the default value for the memory limit (when the data is moved to a temporary file).

    <?php
    $fiveMBs     = 5 * 1024 * 1024;
    $fp = fopen("php://temp/maxmemory:$fiveMBs", 'r+');

    fputs($fp, "hello\n");

    // read what we have written
    rewind($fp);
    echo     stream_get_contents($fp);
    ?>

Wrapper Summary (For php://filter, refer to summary of wrapper being filtered.)
Attribute | Supported
Restricted by allow_url_fopen | No
Restricted by allow_url_include | php://input, php://stdin, php://memory and php://temp only.
Allows Reading | php://stdin, php://input, php://memory and php://temp only.
Allows Writing | php://stdout, php://stderr, php://output, php://memory and php://temp only.
Allows Appending | php://stdout, php://stderr, php://output, php://memory and php://temp only. (Equivalent to writing)
Allows Simultaneous Reading and Writing | php://memory and php://temp only.
Supports stat() | php://memory and php://temp only.
Supports unlink() | No
Supports rename() | No
Supports mkdir() | No
Supports rmdir() | No

FTP and FTPS
Compression Streams
List of Supported Protocols/Wrappers


Compression Streams

zlib: PHP 4.0.4 - PHP 4.2.3 (systems with fopencookie only)

compress.zlib:// and compress.bzip2:// PHP 4.3.0 and up

  • zlib:
  • compress.zlib://
  • compress.bzip2://

zlib: works like gzopen(), except that the stream can be used with fread() and the other filesystem functions. This is deprecated as of PHP 4.3.0 due to ambiguities with filenames containing ':' characters; use compress.zlib:// instead.

compress.zlib:// and compress.bzip2:// are equivalent to gzopen() and bzopen() respectively, and operate even on systems that do not support fopencookie.

Wrapper Summary
Attribute | Supported
Restricted by allow_url_fopen | No
Allows Reading | Yes
Allows Writing | Yes
Allows Appending | Yes
Allows Simultaneous Reading and Writing | No
Supports stat() | No, use the normal file:// wrapper to stat compressed files.
Supports unlink() | No, use the normal file:// wrapper to unlink compressed files.
Supports rename() | No
Supports mkdir() | No
Supports rmdir() | No

ZIP extension registers zip: wrapper.

PHP input/output streams
Data (RFC 2397)
List of Supported Protocols/Wrappers


Data (RFC 2397)

The data: (» RFC 2397) stream wrapper is available since PHP 5.2.0.

Пример #1 Print data:// contents

<?php
// prints "I love PHP"
echo file_get_contents('data://text/plain;base64,SSBsb3ZlIFBIUAo=');
?>

Пример #2 Fetch the media type

<?php
$fp   = fopen('data://text/plain;base64,', 'r');
$meta = stream_get_meta_data($fp);

// prints "text/plain"
echo $meta['mediatype'];
?>

Wrapper Summary
Attribute | Supported
Restricted by allow_url_fopen | No
Restricted by allow_url_include | Yes
Allows Reading | Yes
Allows Writing | No
Allows Appending | No
Allows Simultaneous Reading and Writing | No
Supports stat() | No
Supports unlink() | No
Supports rename() | No
Supports mkdir() | No
Supports rmdir() | No

Compression Streams
Glob
List of Supported Protocols/Wrappers


Glob

The glob: stream wrapper is available since PHP 5.3.0.

Пример #1 Basic usage

<?php
// Loop over all *.php files in ext/spl/examples/ directory
// and print the filename and its size
$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

Wrapper Summary
Attribute | Supported
Restricted by allow_url_fopen | No
Restricted by allow_url_include | No
Allows Reading | No
Allows Writing | No
Allows Appending | No
Allows Simultaneous Reading and Writing | No
Supports stat() | No
Supports unlink() | No
Supports rename() | No
Supports mkdir() | No
Supports rmdir() | No

Data (RFC 2397)
Phar
List of Supported Protocols/Wrappers


Phar

The phar:// stream wrapper is available since PHP 5.3.0. See Phar stream wrapper for detailed description.

Wrapper Summary
Attribute | Supported
Restricted by allow_url_fopen | No
Restricted by allow_url_include | No
Allows Reading | Yes
Allows Writing | Yes
Allows Appending | No
Allows Simultaneous Reading and Writing | Yes
Supports stat() | Yes
Supports unlink() | Yes
Supports rename() | Yes
Supports mkdir() | Yes
Supports rmdir() | Yes

Glob
Secure Shell 2
List of Supported Protocols/Wrappers


Secure Shell 2

ssh2.shell:// ssh2.exec:// ssh2.tunnel:// ssh2.sftp:// ssh2.scp:// PHP 4.3.0 and up (PECL)

  • 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

Замечание: This wrapper is not enabled by default
In order to use the ssh2.*:// wrappers you must install the » SSH2 extension available from » PECL.

In addition to accepting traditional URI login details, the ssh2 wrappers will also reuse open connections by passing the connection resource in the host portion of the URL.

Пример #1 Opening a stream from an active connection

<?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');
?>

Wrapper Summary
Attribute | ssh2.shell | ssh2.exec | ssh2.tunnel | ssh2.sftp | ssh2.scp
Restricted by allow_url_fopen | Yes | Yes | Yes | Yes | Yes
Allows Reading | Yes | Yes | Yes | Yes | Yes
Allows Writing | Yes | Yes | Yes | Yes | No
Allows Appending | No | No | No | Yes (When supported by server) | No
Allows Simultaneous Reading and Writing | Yes | Yes | Yes | Yes | No
Supports stat() | No | No | No | Yes | No
Supports unlink() | No | No | No | Yes | No
Supports rename() | No | No | No | Yes | No
Supports mkdir() | No | No | No | Yes | No
Supports rmdir() | No | No | No | Yes | No

Context options
Name | Usage | Default
session | Preconnected ssh2 resource to be reused |
sftp | Preallocated sftp resource to be reused |
methods | Key exchange, hostkey, cipher, compression, and MAC methods to use |
callbacks |  |
username | Username to connect as |
password | Password to use with password authentication |
pubkey_file | Name of public key file to use for authentication |
privkey_file | Name of private key file to use for authentication |
env | Associate array of environment variables to set |
term | Terminal emulation type to request when allocating a pty |
term_width | Width of terminal requested when allocating a pty |
term_height | Height of terminal requested when allocating a pty |
term_units | Units to use with term_width and term_height | SSH2_TERM_UNIT_CHARS

Phar
Audio Streams
List of Supported Protocols/Wrappers


Audio Streams

ogg:// PHP 4.3.0 and up (PECL)

  • ogg://soundfile.ogg
  • ogg:///path/to/soundfile.ogg
  • ogg://http://www.example.com/path/to/soundstream.ogg

Замечание: This wrapper is not enabled by default
In order to use the ogg:// wrapper you must install the » OGG/Vorbis extension available from » PECL.

Files opened for reading via the ogg:// wrapper are treated as compressed audio encoded using the OGG/Vorbis codec. Similarly, files opened for writing or appending via the ogg:// wrapper are writen as compressed audio data. stream_get_meta_data(), when used on an OGG/Vorbis file opened for reading will return various details about the stream including the vendor tag, any included comments , the number of channels , the sampling rate , and the encoding rate range described by: bitrate_lower , bitrate_upper , bitrate_nominal , and bitrate_window .

Wrapper Summary
Attribute | Supported
Restricted by allow_url_fopen | No
Allows Reading | Yes
Allows Writing | Yes
Allows Appending | Yes
Allows Simultaneous Reading and Writing | No
Supports stat() | No
Supports unlink() | No
Supports rename() | No
Supports mkdir() | No
Supports rmdir() | No

Context options
Name | Usage | Default | Mode
pcm_mode | PCM encoding to apply while reading, one of: OGGVORBIS_PCM_U8, OGGVORBIS_PCM_S8, OGGVORBIS_PCM_U16_BE, OGGVORBIS_PCM_S16_BE, OGGVORBIS_PCM_U16_LE, and OGGVORBIS_PCM_S16_LE. (8 vs 16 bit, signed or unsigned, big or little endian) | OGGVORBIS_PCM_S16_LE | Read
rate | Sampling rate of input data, expressed in Hz | 44100 | Write/Append
bitrate | When given as an integer, the fixed bitrate at which to encode. (16000 to 131072) When given as a float, the variable bitrate quality to use. (-1.0 to 1.0) | 128000 | Write/Append
channels | The number of audio channels to encode, typically 1 (Mono), or 2 (Stero). May range as high as 16. | 2 | Write/Append
comments | An array of string values to encode into the track header. |  | Write/Append

Secure Shell 2
Process Interaction Streams
List of Supported Protocols/Wrappers


Process Interaction Streams

expect:// PHP 4.3.0 and up (PECL)

  • expect://command

Замечание: This wrapper is not enabled by default
In order to use the expect:// wrapper you must install the » Expect extension available from » PECL.

Streams opened via the expect:// wrapper provide access to process'es stdio, stdout and stderr via PTY.

Wrapper Summary
Attribute | Supported
Restricted by allow_url_fopen | No
Allows Reading | Yes
Allows Writing | Yes
Allows Appending | Yes
Allows Simultaneous Reading and Writing | No
Supports stat() | No
Supports unlink() | No
Supports rename() | No
Supports mkdir() | No
Supports rmdir() | No

Audio Streams
Список доступных фильтров
List of Supported Protocols/Wrappers


Список доступных фильтров

Содержание

  • Строковые фильтры
  • Преобразовывающие фильтры
  • Компрессионные фильтры
  • Шифрующие фильтры

Следующий список перечисляет несколько встроенных фильтров для использования с stream_filter_append(). Ваша версия PHP может включать больше (или меньше) фильтров, чем перечислено здесь.

Следует акцентировать внимание на определённой асимметричности функций stream_filter_append() и stream_filter_prepend(). Каждый поток в PHP имеет небольшой буфер чтения, в котором он хранит блоки данных, полученные из файловой системы или другого ресурса, для того чтобы обрабатывать данные наиболее эффективным образом. Как только данные переносятся из ресурса во внутренний буфер потока, они сразу же обрабатываются закреплёнными за потоком фильтрами, независимо от того, готово ли приложение PHP принимать данные или нет. Если данные находятся в буфере чтения в момент, когда в фильтр что-то дописывают в конец, данные будут немедленно обработаны этим фильтром, таким образом их нахождение в буфере будет прозрачным. В то же время, если данные находятся в буфере в момент, когда в фильтр что-то дописывают в начало, данные НЕ будут обработаны этим фильтром. Вместо этого, они будут ждать момента, когда следующий блок данных будет получен из ресурса.

Для получения списка фильтров, установленных в вашу версию PHP, используйте функцию stream_get_filters().

Process Interaction Streams
Строковые фильтры
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('secert-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('secert-file.enc', 'rb');
stream_filter_append($fp, 'mdecrypt.tripledes', STREAM_FILTER_WRITE, $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 3, PHP 4. ssl:// и tls:// начиная с PHP 4.3

Замечание: Если транспортный протокол не указан, будет использован 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
  • 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 численные адреса с указанием порта
Во втором примере выше, IPv6 адрес, заключён в квадратные скобки: [fe80::1]. Это сделано для того, чтобы отличить двоеточие в адресе от двоеточия при указании порта.

Протоколы ssl:// and tls:// (доступные только если поддержка openssl включена в PHP) являются расширениями tcp://, дополняющими его SSL-шифрованием. Начиная с PHP 4.3.0, для работы с ssl-протоколами, PHP должен быть собран с поддержкой OpenSSL, в PHP 5.0.0 он может быть представлен как модуль.

Параметры для протоколов ssl:// и tls:// (начиная с PHP 4.3.2)
Имя | Использование | По умолчанию
verify_peer | TRUE или FALSE. Требует проверки SSL-сертификата. | FALSE
allow_self_signed | TRUE или FALSE. Позволяет использовать само-подписанные сертификаты. | FALSE
cafile | Расположение в локальной файловой системе файла сертификата, который будет использовать verify_peer для аутентифицирования идентификатора удалённого сервера(клиента). |
capath | Если cafile не указан, или сертификат не найден, поиск подходящего сертификата продолжается в директории capath. Значением директивы должен быть путь к директории, содержащей сертификаты. |
local_cert | Путь к локальному файлу сертификата. Это должен быть PEM-энкодированный файл, содержащий ваш сертификат и частный ключ. Опционально он может содержать цепочку сертфиикатов издателей. |
passphrase | Ключевое слово, по которому был энкодирован ваш local_cert. |
CN_match | Общее название (Common Name), которого мы ожидаем. PHP будет сравнивать, используя вайлд-карды. Если общее название не подходит, соединение будет разорвано. |

Замечание: Постольку поскольку ssl:// протокол является базисом для https:// и ftps:// врапперов, все директивы ssl:// применяются как для https://, так и для ftps://.

Список поддерживаемых транспортных протоколов
Unix-сокеты: UNIX и UDG
Список поддерживаемых транспортных протоколов


Unix-сокеты: UNIX и UDG

unix:// начиная с PHP 3, 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" -- строка, в то время как 42 -- целое. FALSE -- логическое, а "false" -- строка.

Замечание: HTML-формы не передают тип переменной: они всегда передают строки. Для проверки является ли строка числом, используйте функцию is_numeric().

Замечание: Использование if ($x) пока $x не определена сгенерирует ошибку E_NOTICE. Вместо этого используйте функцию empty() или isset() и/или инициализируйте переменную.

Сравнение типов $x и результатов функций PHP, связанных с типами
Выражение | gettype() | empty() | is_null() | isset() | логическое : if($x)
$x = ""; | строка | 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(); | массив | TRUE | FALSE | TRUE | FALSE
$x = false; | логическое | TRUE | FALSE | TRUE | FALSE
$x = true; | логическое | FALSE | FALSE | TRUE | TRUE
$x = 1; | целое | FALSE | FALSE | TRUE | TRUE
$x = 42; | целое | FALSE | FALSE | TRUE | TRUE
$x = 0; | целое | TRUE | FALSE | TRUE | FALSE
$x = -1; | целое | FALSE | FALSE | TRUE | TRUE
$x = "1"; | строка | FALSE | FALSE | TRUE | TRUE
$x = "0"; | строка | TRUE | FALSE | TRUE | FALSE
$x = "-1"; | строка | FALSE | FALSE | TRUE | TRUE
$x = "php"; | строка | FALSE | FALSE | TRUE | TRUE
$x = "true"; | строка | FALSE | FALSE | TRUE | TRUE
$x = "false"; | строка | 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 | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE
1 | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE
0 | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE
-1 | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE
"1" | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE
"0" | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE
"-1" | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE
NULL | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE
array() | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE
"php" | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | 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 | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
1 | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
0 | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
-1 | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE
"1" | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE
"0" | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE
"-1" | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE
NULL | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE
array() | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE
"php" | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE

Замечание: Заметка о PHP 3.0
Строка "0" считалась не пустой, в PHP4 ситуация изменилась: строка трактуется как пустая.

Unix-сокеты: UNIX и UDG
List of Parser Tokens
Appendices


List of Parser Tokens

Various parts of the PHP language are represented internally by types like T_SR. PHP outputs identifiers like this one in parse errors, like "Parse error: unexpected T_SR, expecting ',' or ';' in script.php on line 10."

You're supposed to know what T_SR means. For everybody who doesn't know that, here is a table with those identifiers, PHP-syntax and references to the appropriate places in the manual.

Tokens
Token | Syntax | Reference
T_ABSTRACT | abstract | Абстрактные классы (available since PHP 5.0.0)
T_AND_EQUAL | &= | assignment operators
T_ARRAY | array() | array(), array syntax
T_ARRAY_CAST | (array) | type-casting
T_AS | as | foreach
T_BAD_CHARACTER |  | anything below ASCII 32 except \t (0x09), \n (0x0a) and \r (0x0d)
T_BOOLEAN_AND | && | logical operators
T_BOOLEAN_OR | || | logical operators
T_BOOL_CAST | (bool) or (boolean) | type-casting
T_BREAK | break | break
T_CASE | case | switch
T_CATCH | catch | Исключения (available since PHP 5.0.0)
T_CHARACTER |  |
T_CLASS | class | classes and objects
T_CLASS_C | __CLASS__ | magic constants (available since PHP 4.3.0)
T_CLONE | clone | classes and objects (available since PHP 5.0.0)
T_CLOSE_TAG | ?> or %> |
T_COMMENT | // or #, and /* */ in PHP 5 | comments
T_CONCAT_EQUAL | .= | assignment operators
T_CONST | const |
T_CONSTANT_ENCAPSED_STRING | "foo" or 'bar' | string syntax
T_CONTINUE | continue |
T_CURLY_OPEN |  |
T_DEC | -- | incrementing/decrementing operators
T_DECLARE | declare | declare
T_DEFAULT | default | switch
T_DIR | __DIR__ | magic constants (available since PHP 5.3.0)
T_DIV_EQUAL | /= | assignment operators
T_DNUMBER | 0.12, etc | floating point numbers
T_DOC_COMMENT | /** */ | PHPDoc style comments (available since PHP 5.0.0)
T_DO | do | do..while
T_DOLLAR_OPEN_CURLY_BRACES | ${ | complex variable parsed syntax
T_DOUBLE_ARROW | => | array syntax
T_DOUBLE_CAST | (real), (double) or (float) | type-casting
T_DOUBLE_COLON | :: | see T_PAAMAYIM_NEKUDOTAYIM below
T_ECHO | echo | echo()
T_ELSE | else | else
T_ELSEIF | elseif | elseif
T_EMPTY | empty | empty()
T_ENCAPSED_AND_WHITESPACE |  |
T_ENDDECLARE | enddeclare | declare, alternative syntax
T_ENDFOR | endfor | for, alternative syntax
T_ENDFOREACH | endforeach | foreach, alternative syntax
T_ENDIF | endif | if, alternative syntax
T_ENDSWITCH | endswitch | switch, alternative syntax
T_ENDWHILE | endwhile | while, alternative syntax
T_END_HEREDOC |  | heredoc syntax
T_EVAL | eval() | eval()
T_EXIT | exit or die | exit(), die()
T_EXTENDS | extends | extends, classes and objects
T_FILE | __FILE__ | magic constants
T_FINAL | final | Ключевое слово "final" (available since PHP 5.0.0)
T_FOR | for | for
T_FOREACH | foreach | foreach
T_FUNCTION | function or cfunction | functions
T_FUNC_C | __FUNCTION__ | magic constants (available since PHP 4.3.0)
T_GLOBAL | global | variable scope
T_GOTO | goto | undocumented (available since PHP 5.3.0)
T_HALT_COMPILER | __halt_compiler() | __halt_compiler (available since PHP 5.1.0)
T_IF | if | if
T_IMPLEMENTS | implements | Интерфейсы объектов (available since PHP 5.0.0)
T_INC | ++ | incrementing/decrementing operators
T_INCLUDE | include() | include()
T_INCLUDE_ONCE | include_once() | include_once()
T_INLINE_HTML |  |
T_INSTANCEOF | instanceof | type operators (available since PHP 5.0.0)
T_INT_CAST | (int) or (integer) | type-casting
T_INTERFACE | interface | Интерфейсы объектов (available since PHP 5.0.0)
T_ISSET | isset() | isset()
T_IS_EQUAL | == | comparison operators
T_IS_GREATER_OR_EQUAL | >= | comparison operators
T_IS_IDENTICAL | === | comparison operators
T_IS_NOT_EQUAL | != or <> | comparison operators
T_IS_NOT_IDENTICAL | !== | comparison operators
T_IS_SMALLER_OR_EQUAL | <= | comparison operators
T_LINE | __LINE__ | magic constants
T_LIST | list() | list()
T_LNUMBER | 123, 012, 0x1ac, etc | integers
T_LOGICAL_AND | and | logical operators
T_LOGICAL_OR | or | logical operators
T_LOGICAL_XOR | xor | logical operators
T_METHOD_C | __METHOD__ | magic constants (available since PHP 5.0.0)
T_MINUS_EQUAL | -= | assignment operators
T_ML_COMMENT | /* and */ | comments (PHP 4 only)
T_MOD_EQUAL | %= | assignment operators
T_MUL_EQUAL | *= | assignment operators
T_NS_C | __NAMESPACE__ | namespaces. Also defined as T_NAMESPACE (available since PHP 5.3.0)
T_NEW | new | classes and objects
T_NUM_STRING |  |
T_OBJECT_CAST | (object) | type-casting
T_OBJECT_OPERATOR | -> | classes and objects
T_OLD_FUNCTION | old_function | (PHP 4 Only)
T_OPEN_TAG | <?php, <? or <% | escaping from HTML
T_OPEN_TAG_WITH_ECHO | <?= or <%= | escaping from HTML
T_OR_EQUAL | |= | assignment operators
T_PAAMAYIM_NEKUDOTAYIM | :: | ::. Also defined as T_DOUBLE_COLON.
T_PLUS_EQUAL | += | assignment operators
T_PRINT | print() | print()
T_PRIVATE | private | classes and objects (available since PHP 5.0.0)
T_PUBLIC | public | classes and objects (available since PHP 5.0.0)
T_PROTECTED | protected | classes and objects (available since PHP 5.0.0)
T_REQUIRE | require() | require()
T_REQUIRE_ONCE | require_once() | require_once()
T_RETURN | return | returning values
T_SL | << | bitwise operators
T_SL_EQUAL | <<= | assignment operators
T_SR | >> | bitwise operators
T_SR_EQUAL | >>= | assignment operators
T_START_HEREDOC | <<< | heredoc syntax
T_STATIC | static | variable scope
T_STRING |  |
T_STRING_CAST | (string) | type-casting
T_STRING_VARNAME |  |
T_SWITCH | switch | switch
T_THROW | throw | Исключения (available since PHP 5.0.0)
T_TRY | try | Исключения (available since PHP 5.0.0)
T_UNSET | unset() | unset()
T_UNSET_CAST | (unset) | type-casting (available since PHP 5.0.0)
T_USE | use | namespaces (available since PHP 5.3.0)
T_VAR | var | classes and objects
T_VARIABLE | $foo | variables
T_WHILE | while | while, do..while
T_WHITESPACE |  |
T_XOR_EQUAL | ^= | assignment operators

See also token_name().

Таблица сравнения типов в PHP
Userland Naming Guide
Appendices


Userland Naming Guide

Содержание

  • Global Namespace
  • Rules
  • Tips

The following is a guide for how to best choose names for identifiers in userland PHP code. When choosing names for any code that creates symbols in the global namespace, it is important to take into account the following guidelines to prevent future versions of PHP from clashing with your symbols.

List of Parser Tokens
Global Namespace
Appendices


Global Namespace

Here is an overview of code constructs that go into the global namespace:

  • functions

  • classes

  • interfaces

  • constants (not class constants)

  • variables defined outside of functions/methods

Userland Naming Guide
Rules
Userland Naming Guide


Rules

The following list gives an overview of which rights the PHP project reserves for itself, when choosing names for new internal identifiers. The definitive guide is the official » CODING STANDARDS:

  • PHP owns the top-level namespace but tries to find decent descriptive names and avoid any obvious clashes.

  • Function names use underscores between words, while class names use the camel case rule (there are some exceptions for older classes and functions).

  • PHP will prefix any global symbols of an extension with the name of the extension. (In the past, there have been numerous exceptions to this rule.) Examples:

    • curl_close()

    • mysql_query()

    • PREG_SPLIT_DELIM_CAPTURE

    • new DOMDocument()

    • strpos() (example of a past mistake)

    • new SplFileObject()

  • Iterators and Exceptions are however simply postfixed with "Iterator" and "Exception." Examples:

    • ArrayIterator

    • LogicException

  • PHP reserves all symbols starting with __ as magical. It is recommended that you do not create symbols starting with __ in PHP unless you want to use documented magical functionality. Examples:

    • __get()

    • __autoload()

Global Namespace
Tips
Userland Naming Guide


Tips

In order to write future-proof code, it is recommended that you prefix (or suffix) anything that goes into the global namespace with an uncommon 3-4 letter prefix (or suffix) separated with an underscore. It is recommended that in order to prevent namespace clashes with other userland code that projects research existing prefixes (or suffixes) used in other projects and advertise their chosen prefix (or suffix) appropriately. Examples:

  • MyPx_someFunc()

  • Foo_Date

  • $asdf_dbh

Rules
Об этом руководстве
Userland Naming Guide


Об этом руководстве

Содержание

  • Форматы
  • О заметках пользователей
  • How to read a function definition (prototype)
  • PHP versions documented in this manual
  • Как узнать больше о PHP
  • Как помочь в написании документации
  • Как создаются форматы документации
  • Переводы
Tips
Форматы
Appendices


Форматы

Руководство по PHP доступно в нескольких форматах. Эти форматы могут быть разделены на две группы: форматы для чтения в онлайн и форматы, доступные для загрузки.

Замечание: Некоторые издательства выпустили печатные версии этого руководства. Однако, мы не рекомендуем пользоваться ими вследствие их быстрого устаревания.

Вы можете пользоваться руководством в он-лайн по адресу » http://www.php.net/, а также на многочисленных сайтах-зеркалах. Чтобы обеспечить наиболее высокую скорость загрузки, вам нужно выбрать ближайший к вам сайт-зеркало. Вы можете пользоваться руководством в виде обычного HTML (готового для распечатки) или же в виде, предлагающем оформление самого сайта PHP.

Преимуществом он-лайн руководства над большинством офф-лайн форматов является интеграция с замечаниями пользователей. Очевидным недостатком является то, что вам нужно находиться в он-лайне, чтобы пользоваться руководством в он-лайн форматах.

Существуют несколько форматов для использования в офф-лайне, и вы можете выбрать формат, наиболее подходящий для использования в вашей операционной системе и отвечающий вашим читательским предпочтениям. Чтобы узнать больше о том, каким образом создается такое количество форматов руководства, обратитесь к разделу 'Как мы создаем форматы руководства'.

Наиболее кросс-платформенными форматами этого руководства являются формат HTML и формат обычного текста. Формат HTML доступен как в виде одного HTML-файла, так и в виде архива, содержащего несколько тысяч файлов, каждый из которых является отдельной главой руководства. Форматы HTML и обычного текста доступны в качестве файлов tar, упакованных архиватором bzip2.

Другим популярным кросс-платформенным форматом, к тому же наиболее подходящим для печати, является PDF (также известный как Adobe Acrobat). Но прежде чем вы начнете загрузку этого формата и нажмете на кнопку Печать, имейте в виду, что руководство состоит примерно из 2000 страниц и постоянно обновляется.

Замечание: Если у вас еще нет программы для просмотра формата PDF, вам нужно будет загрузить » Adobe Acrobat Reader.

На платформах Windows доступна версия руководства в формате HTML, который может быть просмотрен с помощью приложения Windows HTML Help. Эта версия предусматривает поиск по тексту руководства, полный список тем и поддержку использования закладок. Многие среды разработки PHP-программ в Windows также используют эту версию для легкости доступа. Существуют также программы для просмотра CHM под Linux. Смотрите » xCHM или » GnoCHM.

Об этом руководстве
О заметках пользователей
Об этом руководстве


О заметках пользователей

Заметки пользователей играют большую роль в процессе создания этого руководства. Позволяя читателям высылать нам примеры, выявленные опечатки и другие сведения с помощью их броузеров, мы имеем возможность добавить эти замечания в текст руководства. Пока замечания пользователей не были добавлены в руководство, с ними можно ознакомиться в он-лайн и в некоторых офф-лайн форматах.

Замечание: Заметки пользователей не подвергаются модерации перед тем, как стать публично доступными, таким образом, качество написания примеров кода и даже их корректность не может быть гарантирована. (Так же, как не может быть гарантировано качество и точность собственно текста руководства).

Форматы
How to read a function definition (prototype)
Об этом руководстве


How to read a function definition (prototype)

Each function in the manual is documented for quick reference. Knowing how to read and understand the text will make learning PHP much easier. Rather than relying on examples or cut/paste, you will want to know how to read function definitions (prototypes). Let's begin:

Замечание: Prerequisite: Basic understanding of types
Although PHP is a loosely typed language, it's important to have a basic understanding of types as they have important meaning.

Function definitions tell us what type of value is returned. Let's use the definition for strlen() as our first example:

strlen

(PHP 3, PHP 4, PHP 5)
strlen -- Get string length

Description
int strlen ( string str )

Returns the length of string.

Explanation of a function definition
Part | Description
strlen | The function name.
(PHP 3, PHP 4, PHP 5) | strlen() has been around in all versions of PHP 3, PHP 4 and PHP 5
int | Type of value this function returns, which is an integer (i.e. the length of a string is measured in numbers).
( string str ) | The first (and in this case the only) parameter/argument for this function is named str , and it's a string.

We could rewrite the above function definition in a generic way:

returned type function name ( parameter type parameter name )

Many functions take on multiple parameters, such as in_array(). Its prototype is as follows:

bool in_array ( mixed needle, array haystack [, bool strict])

What does this mean? in_array() returns a boolean value, TRUE on success (if the needle was found in the haystack ) or FALSE on failure (if the needle was not found in the haystack ). The first parameter is named needle and it can be of many different types, so we call it "mixed". This mixed needle (what we're looking for) can be either a scalar value (string, integer, or float), or an array. haystack (the array we're searching in) is the second parameter. The third optional parameter is named strict . All optional parameters are seen in [ brackets ]. The manual states that the strict parameter defaults to boolean FALSE. See the manual page on each function for details on how they work.

There are also functions with more complex PHP version information. Take html_entity_decode() as an example:

(PHP 4 >= 4.3.0, PHP 5)

This means that this function was not available in PHP 3, and is only available in a released version since PHP 4.3.0.

О заметках пользователей
PHP versions documented in this manual
Об этом руководстве


PHP versions documented in this manual

This documentation contains information about bot PHP 4 and PHP 5, with some added migration and compatibility notes regarding PHP 3. Behaviour, parameter, return value and other changes between different PHP versions are documented in notes and inline text in the manual.

You may find documentation pieces for the CVS version of PHP, which always means the very latest development version available through the CVS version handling system. If you are not a developer of PHP itself, and you are not keen on using the very latest development version of PHP, features marked with the "available in CVS" wording are not accessible to you. These features, though, will probably be available in the next stable version of PHP. If you would like to download the CVS version, see the » anonymous CVS access page.

You may also encounter documentation for a PHP version which is not released (something like PHP 5.0.0 while the latest stable version is 4.3.x). Most of the time, this is not an error in the documentation. Explanation is often added for features not available in the current PHP release, but which will be available in a known future PHP version.

How to read a function definition (prototype)
Как узнать больше о PHP
Об этом руководстве


Как узнать больше о PHP

Это руководство не пытается охватить вопросы общего программирования. Если вы являетесь новичком или даже начинающим программистом, написание PHP-программ может показаться вам трудным, если вы будете использовать только это руководство. Вам, скорее всего, может понадобиться материал, более подходящий для начинающих. По адресу » http://www.php.net/books.php вы можете найти список книг по теме PHP.

Существует несколько списков рассылки, предназначенных для обсуждения всех аспектов программирования на PHP. Если вы чувствуете, что не можете найти решение какой-либо проблемы, кто-нибудь из подписчиков списка, вполне вероятно, сможет вам помочь. За перечислением доступных списков рассылки вы можете обратиться по адресу » http://www.php.net/support.php, кроме того, там вы сможете найти архивы рассылок и другие ресурсы он-лайн поддержки. Кроме того, по адресу » http://www.php.net/links.php доступен список веб-сайтов, посвященных статьям по PHP, форумам и галереям кода.

PHP versions documented in this manual
Как помочь в написании документации
Об этом руководстве


Как помочь в написании документации

Существуют три способа, чтобы помочь нам в улучшении документации.

Если вам встречаются ошибки в этом руководстве, сообщайте о них с помощью системы сообщения об ошибках, доступной по адресу » http://bugs.php.net/. Классифицируйте ваше сообщение как "Documentation Problem" ("Ошибка в документации"). Также вы можете сообщать об ошибках, относящихся к какому-либо определенному формату руководства.

Замечание: Пожалуйста, не используйте систему сообщения об ошибках для того, чтобы получить помощь какого-либо рода. Вместо этого пользуйтесь списками рассылки или сайтами сообщества PHP, упомянутыми выше.

Не используйте систему аннотации для сообщений об ошибках. Более подробные сведения о заметках пользователей вы можете получить, ознакомившись с главой 'О заметках пользователей' этого приложения.

Если вы знаете английский язык и не являетесь его носителем, вы можете участвовать в переводе руководства. Если вы собираетесь приступить к переводу, обратитесь к » http://doc.php.net/php/dochowto/.

Как узнать больше о PHP
Как создаются форматы документации
Об этом руководстве


Как создаются форматы документации

Это руководство написано на XML с использованием » DocBook XML DTD, » DSSSL (Document Style and Semantics Specification Language) для форматирования и (экспериментально) » XSLT (Extensible Stylesheet Language Transformations) в целях поддержки и форматирования.

Использование XML в качестве единственного исходного формата позволяет нам создавать документацию во многих форматах. Утилитами для форматирования форматов HTML и TeX являются » Jade, написанная » James Clark и » The Modular DocBook Stylesheets написанная » Norman Walsh. Для создания руководства в формате Windows HTML Help мы используем » Microsoft HTML Help Workshop и, конечно, собственно PHP для дополнительных преобразований и форматирования.

Вы можете загрузить руководство на многих языках и во многих форматах, включая обычный текст, обычный HTML, PDF, PalmPilot DOC, PalmPilot iSilo и Windows HTML Help, обратившись по адресу » http://www.php.net/docs.php. Материалы, предназначенные для загрузки, обновляются автоматически по мере обновления исходного текста.

За более подробной информацией о получении исходного кода в формате XML обратитесь по адресу » http://cvs.php.net/. Документация находится в модуле phpdoc.

Как помочь в написании документации
Переводы
Об этом руководстве


Переводы

Руководство по PHP доступно не только в нескольких форматах, но и на различных языках. Сначала текст руководства пишется на английском, а затем команды пользователей по всему миру переводят его на свой язык. Если перевод документации какой-либо функции или главы еще не был завершен, система сборки руководства использует соответствующий английский вариант.

Пользователи, осуществляющие перевод документации, используют исходный код в формате XML, доступный по адресу » http://cvs.php.net/ и переводят его на свой родной язык. Для перевода не используются форматы HTML, обычного текста или PDF. Преобразованием XML в читабельные форматы занимается система сборки документации.

Замечание: Если вы хотите принять участие в переводе документации на ваш родной язык, присоединитесь к команде перевода, подписавшись на список рассылки phpdoc: вышлите пустое сообщение на адрес » phpdoc-subscribe@lists.php.net. Адрес списка рассылки - phpdoc@lists.php.net. Вышлите в рассылку сообщение, что вы заинтересованы в участии в переводе руководства и кто-нибудь поможет вам начать новый перевод или найти команду, занимающуюся переводом на ваш язык.

В настоящее время руководство, частично или в полной мере переведенное, существует на следующих языках: бразильском, португальском, чешском, датском, финском, французском, немецком, венгерском, итальянском, японском, корейском, польском, румынском, русском, испанском и турецком.

Все эти версии руководства доступны для загрузки по адресу » 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()
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_cache_info()
apc_clear_cache()
apc_compile_file()
apc_define_constants()
apc_delete()
apc_fetch()
apc_load_constants()
apc_sma_info()
apc_store()
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_socket_session_trace()
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_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::current()
ArrayIterator::key()
ArrayIterator::next()
ArrayIterator::rewind()
ArrayIterator::seek()
ArrayIterator::valid()
ArrayObject::__construct()
ArrayObject::append()
ArrayObject::count()
ArrayObject::getIterator()
ArrayObject::offsetExists()
ArrayObject::offsetGet()
ArrayObject::offsetSet()
ArrayObject::offsetUnset()
arsort()
ascii2ebcdic()
asin()
asinh()
asort()
aspell_check()
aspell_check_raw()
aspell_new()
aspell_suggest()
assert()
assert_options()
atan()
atan2()
atanh()
B
base64_decode()
base64_encode()
base_convert()
basename()
bbcode_add_element()
bbcode_create()
bbcode_destroy()
bbcode_parse()
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()
bzclose()
bzcompress()
bzdecompress()
bzerrno()
bzerror()
bzerrstr()
bzflush()
bzopen()
bzread()
bzwrite()
C
CachingIterator::__toString()
CachingIterator::hasNext()
CachingIterator::next()
CachingIterator::rewind()
CachingIterator::valid()
CachingRecursiveIterator::getChildren()
CachingRecursiveIterator::hasChildren()
cal_days_in_month()
cal_from_jd()
cal_info()
cal_to_jd()
call_user_func()
call_user_func_array()
call_user_method()
call_user_method_array()
ccvs_add()
ccvs_auth()
ccvs_command()
ccvs_count()
ccvs_delete()
ccvs_done()
ccvs_init()
ccvs_lookup()
ccvs_new()
ccvs_report()
ccvs_return()
ccvs_reverse()
ccvs_sale()
ccvs_status()
ccvs_textvalue()
ccvs_void()
ceil()
chdir()
checkdate()
checkdnsrr()
chgrp()
chmod()
chop()
chown()
chr()
chroot()
chunk_split()
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()
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()
configuration()
connection_aborted()
connection_status()
connection_timeout()
constant()
constants()
constants()
constants()
convert_cyr_string()
convert_uudecode()
convert_uuencode()
copy()
cos()
cosh()
count()
count_chars()
cpdf_add_annotation()
cpdf_add_outline()
cpdf_arc()
cpdf_begin_text()
cpdf_circle()
cpdf_clip()
cpdf_close()
cpdf_closepath()
cpdf_closepath_fill_stroke()
cpdf_closepath_stroke()
cpdf_continue_text()
cpdf_curveto()
cpdf_end_text()
cpdf_fill()
cpdf_fill_stroke()
cpdf_finalize()
cpdf_finalize_page()
cpdf_global_set_document_limits()
cpdf_import_jpeg()
cpdf_lineto()
cpdf_moveto()
cpdf_newpath()
cpdf_open()
cpdf_output_buffer()
cpdf_page_init()
cpdf_place_inline_image()
cpdf_rect()
cpdf_restore()
cpdf_rlineto()
cpdf_rmoveto()
cpdf_rotate()
cpdf_rotate_text()
cpdf_save()
cpdf_save_to_file()
cpdf_scale()
cpdf_set_action_url()
cpdf_set_char_spacing()
cpdf_set_creator()
cpdf_set_current_page()
cpdf_set_font()
cpdf_set_font_directories()
cpdf_set_font_map_file()
cpdf_set_horiz_scaling()
cpdf_set_keywords()
cpdf_set_leading()
cpdf_set_page_animation()
cpdf_set_subject()
cpdf_set_text_matrix()
cpdf_set_text_pos()
cpdf_set_text_rendering()
cpdf_set_text_rise()
cpdf_set_title()
cpdf_set_viewer_preferences()
cpdf_set_word_spacing()
cpdf_setdash()
cpdf_setflat()
cpdf_setgray()
cpdf_setgray_fill()
cpdf_setgray_stroke()
cpdf_setlinecap()
cpdf_setlinejoin()
cpdf_setlinewidth()
cpdf_setmiterlimit()
cpdf_setrgbcolor()
cpdf_setrgbcolor_fill()
cpdf_setrgbcolor_stroke()
cpdf_show()
cpdf_show_xy()
cpdf_stringwidth()
cpdf_stroke()
cpdf_text()
cpdf_translate()
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()
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()
cybercash_base64_decode()
cybercash_base64_encode()
cybercash_decr()
cybercash_encr()
cybermut_creerformulairecm()
cybermut_creerreponsecm()
cybermut_testmac()
cyrus_authenticate()
cyrus_bind()
cyrus_close()
cyrus_connect()
cyrus_query()
cyrus_unbind()
D
date()
date_create()
date_date_set()
date_default_timezone_get()
date_default_timezone_set()
date_format()
date_isodate_set()
date_modify()
date_offset_get()
date_parse()
date_sun_info()
date_sunrise()
date_sunset()
date_time_set()
date_timezone_get()
date_timezone_set()
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_lob_read()
db2_next_result()
db2_num_fields()
db2_num_rows()
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()
dblist()
dbmclose()
dbmdelete()
dbmexists()
dbmfetch()
dbmfirstkey()
dbminsert()
dbmnextkey()
dbmopen()
dbmreplace()
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()
debugger_off()
debugger_on()
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::current()
DirectoryIterator::getATime()
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::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->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()
DomXsltStylesheet->process()
DomXsltStylesheet->result_dump_file()
DomXsltStylesheet->result_dump_mem()
dotnet()
dotnet_load()
doubleval()
E
each()
easter_date()
easter_days()
ebcdic2ascii()
echo()
empty()
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()
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()
filetype()
filter_has_var()
filter_id()
filter_input()
filter_input_array()
filter_list()
filter_var()
filter_var_array()
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()
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
gd_info()
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_org_by_name()
geoip_record_by_name()
geoip_region_by_name()
get_browser()
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()
getimagesize()
getlastmod()
getmxrr()
getmygid()
getmyinode()
getmypid()
getmyuid()
getopt()
getprotobyname()
getprotobynumber()
getrandmax()
getrusage()
getservbyname()
getservbyport()
gettext()
gettimeofday()
gettype()
glob()
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_keyinfo()
gnupg_setarmor()
gnupg_seterrormode()
gnupg_setsignmode()
gnupg_sign()
gnupg_verify()
gopher_parsedir()
gregoriantojd()
gzclose()
gzcompress()
gzdecode()
gzdeflate()
gzencode()
gzeof()
gzfile()
gzgetc()
gzgets()
gzgetss()
gzinflate()
gzopen()
gzpassthru()
gzputs()
gzread()
gzrewind()
gzseek()
gztell()
gzuncompress()
gzwrite()
H
haruannotation()
HaruAnnotation::setBorderStyle()
HaruAnnotation::setHighlightMode()
HaruAnnotation::setIcon()
HaruAnnotation::setOpened()
harudestination()
HaruDestination::setFit()
HaruDestination::setFitB()
HaruDestination::setFitBH()
HaruDestination::setFitBV()
HaruDestination::setFitH()
HaruDestination::setFitR()
HaruDestination::setFitV()
HaruDestination::setXYZ()
harudoc()
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()
HaruEncoder::getByteType()
HaruEncoder::getType()
HaruEncoder::getUnicode()
HaruEncoder::getWritingMode()
haruexception()
harufont()
HaruFont::getAscent()
HaruFont::getCapHeight()
HaruFont::getDescent()
HaruFont::getEncodingName()
HaruFont::getFontName()
HaruFont::getTextWidth()
HaruFont::getUnicodeWidth()
HaruFont::getXHeight()
HaruFont::measureText()
haruimage()
HaruImage::getBitsPerComponent()
HaruImage::getColorSpace()
HaruImage::getHeight()
HaruImage::getSize()
HaruImage::getWidth()
HaruImage::setColorMask()
HaruImage::setMaskImage()
haruoutline()
HaruOutline::setDestination()
HaruOutline::setOpened()
harupage()
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_file()
hash_final()
hash_hmac()
hash_hmac_file()
hash_init()
hash_update()
hash_update_file()
hash_update_stream()
header()
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()
HttpDeflateStream::__construct()
HttpDeflateStream::factory()
HttpDeflateStream::finish()
HttpDeflateStream::flush()
HttpDeflateStream::update()
httpinflatestream()
HttpInflateStream::__construct()
HttpInflateStream::factory()
HttpInflateStream::finish()
HttpInflateStream::flush()
HttpInflateStream::update()
httpmessage()
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()
HttpQueryString::__construct()
HttpQueryString::get()
HttpQueryString::mod()
HttpQueryString::set()
HttpQueryString::singleton()
HttpQueryString::toArray()
HttpQueryString::toString()
HttpQueryString::xlate()
httprequest()
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()
HttpRequestPool::__construct()
HttpRequestPool::__destruct()
HttpRequestPool::attach()
HttpRequestPool::detach()
HttpRequestPool::getAttachedRequests()
HttpRequestPool::getFinishedRequests()
HttpRequestPool::reset()
HttpRequestPool::send()
HttpRequestPool::socketPerform()
HttpRequestPool::socketSelect()
httpresponse()
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()
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()
Imagick::__construct()
Imagick::adaptiveBlurImage()
Imagick::adaptiveResizeImage()
Imagick::adaptiveSharpenImage()
Imagick::adaptiveThresholdImage()
Imagick::addImage()
Imagick::addNoiseImage()
Imagick::affineTransformImage()
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::coalesceImages()
Imagick::colorFloodfillImage()
Imagick::colorizeImage()
Imagick::combineImages()
Imagick::commentImage()
Imagick::compareImageChannels()
Imagick::compareImageLayers()
Imagick::compositeImage()
Imagick::contrastImage()
Imagick::contrastStretchImage()
Imagick::convolveImage()
Imagick::cropImage()
Imagick::cropThumbnailImage()
Imagick::current()
Imagick::cycleColormapImage()
Imagick::deconstructImages()
Imagick::despeckleImage()
Imagick::destroy()
Imagick::displayImage()
Imagick::displayImages()
Imagick::drawImage()
Imagick::edgeImage()
Imagick::embossImage()
Imagick::enhanceImage()
Imagick::equalizeImage()
Imagick::evaluateImage()
Imagick::flattenImages()
Imagick::flipImage()
Imagick::flopImage()
Imagick::frameImage()
Imagick::fxImage()
Imagick::gammaImage()
Imagick::gaussianBlurImage()
Imagick::getCompression()
Imagick::getCompressionQuality()
Imagick::getCopyright()
Imagick::getFilename()
Imagick::getFormat()
Imagick::getHomeURL()
Imagick::getImage()
Imagick::getImageBackgroundColor()
Imagick::getImageBlob()
Imagick::getImageBluePrimary()
Imagick::getImageBorderColor()
Imagick::getImageChannelDepth()
Imagick::getImageChannelDistortion()
Imagick::getImageChannelExtrema()
Imagick::getImageChannelMean()
Imagick::getImageChannelStatistics()
Imagick::getImageColormapColor()
Imagick::getImageColors()
Imagick::getImageColorspace()
Imagick::getImageCompose()
Imagick::getImageDelay()
Imagick::getImageDepth()
Imagick::getImageDispose()
Imagick::getImageDistortion()
Imagick::getImageExtrema()
Imagick::getImageFilename()
Imagick::getImageFormat()
Imagick::getImageGamma()
Imagick::getImageGeometry()
Imagick::getImageGreenPrimary()
Imagick::getImageHeight()
Imagick::getImageHistogram()
Imagick::getImageIndex()
Imagick::getImageInterlaceScheme()
Imagick::getImageInterpolateMethod()
Imagick::getImageIterations()
Imagick::getImageMatte()
Imagick::getImageMatteColor()
Imagick::getImagePage()
Imagick::getImagePixelColor()
Imagick::getImageProfile()
Imagick::getImageProperty()
Imagick::getImageRedPrimary()
Imagick::getImageRegion()
Imagick::getImageRenderingIntent()
Imagick::getImageResolution()
Imagick::getImageScene()
Imagick::getImageSignature()
Imagick::getImageSize()
Imagick::getImageTicksPerSecond()
Imagick::getImageTotalInkDensity()
Imagick::getImageType()
Imagick::getImageUnits()
Imagick::getImageVirtualPixelMethod()
Imagick::getImageWhitePoint()
Imagick::getImageWidth()
Imagick::getInterlaceScheme()
Imagick::getNumberImages()
Imagick::getOption()
Imagick::getPackageName()
Imagick::getPage()
Imagick::getPixelIterator()
Imagick::getPixelRegionIterator()
Imagick::getQuantumDepth()
Imagick::getQuantumRange()
Imagick::getReleaseDate()
Imagick::getResource()
Imagick::getResourceLimit()
Imagick::getSamplingFactors()
Imagick::getSize()
Imagick::getSizeOffset()
Imagick::getVersion()
Imagick::hasNextImage()
Imagick::hasPreviousImage()
Imagick::identifyImage()
Imagick::implodeImage()
Imagick::labelImage()
Imagick::levelImage()
Imagick::linearStretchImage()
Imagick::magnifyImage()
Imagick::matteFloodfillImage()
Imagick::medianFilterImage()
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::optimizeImageLayers()
Imagick::paintOpaqueImage()
Imagick::paintTransparentImage()
Imagick::pingImage()
Imagick::pingImageBlob()
Imagick::pingImageFile()
Imagick::polaroidImage()
Imagick::posterizeImage()
Imagick::previousImage()
Imagick::profileImage()
Imagick::queryFontMetrics()
Imagick::queryFonts()
Imagick::queryFormats()
Imagick::radialBlurImage()
Imagick::raiseImage()
Imagick::randomThresholdImage()
Imagick::readImage()
Imagick::readImageBlob()
Imagick::readImageFile()
Imagick::reduceNoiseImage()
Imagick::removeImage()
Imagick::removeImageProfile()
Imagick::render()
Imagick::resampleImage()
Imagick::resizeImage()
Imagick::rollImage()
Imagick::rotateImage()
Imagick::roundCorners()
Imagick::sampleImage()
Imagick::scaleImage()
Imagick::separateImageChannel()
Imagick::sepiaToneImage()
Imagick::setBackgroundColor()
Imagick::setCompression()
Imagick::setCompressionQuality()
Imagick::setFilename()
Imagick::setFirstIterator()
Imagick::setFormat()
Imagick::setImageBackgroundColor()
Imagick::setImageBias()
Imagick::setImageBluePrimary()
Imagick::setImageBorderColor()
Imagick::setImageChannelDepth()
Imagick::setImageColormapColor()
Imagick::setImageColorspace()
Imagick::setImageCompose()
Imagick::setImageCompression()
Imagick::setImageDelay()
Imagick::setImageDepth()
Imagick::setImageDispose()
Imagick::setImageExtent()
Imagick::setImageFilename()
Imagick::setImageFormat()
Imagick::setImageGamma()
Imagick::setImageGreenPrimary()
Imagick::setImageIndex()
Imagick::setImageInterlaceScheme()
Imagick::setImageInterpolateMethod()
Imagick::setImageIterations()
Imagick::setImageMatte()
Imagick::setImageMatteColor()
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::setOption()
Imagick::setPage()
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::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::valid()
Imagick::vignetteImage()
Imagick::waveImage()
Imagick::whiteThresholdImage()
Imagick::writeImage()
Imagick::writeImages()
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::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_fetchstructure()
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()
inet_ntop()
inet_pton()
ingres_autocommit()
ingres_close()
ingres_commit()
ingres_connect()
ingres_cursor()
ingres_errno()
ingres_error()
ingres_errsqlstate()
ingres_fetch_array()
ingres_fetch_object()
ingres_fetch_row()
ingres_field_length()
ingres_field_name()
ingres_field_nullable()
ingres_field_precision()
ingres_field_scale()
ingres_field_type()
ingres_num_fields()
ingres_num_rows()
ingres_pconnect()
ingres_query()
ingres_rollback()
ini_alter()
ini_get()
ini_get_all()
ini_restore()
ini_set()
installation()
installation()
interface_exists()
intval()
ip2long()
iptcembed()
iptcparse()
ircg_channel_mode()
ircg_disconnect()
ircg_eval_ecmascript_params()
ircg_fetch_error_msg()
ircg_get_username()
ircg_html_encode()
ircg_ignore_add()
ircg_ignore_del()
ircg_invite()
ircg_is_conn_alive()
ircg_join()
ircg_kick()
ircg_list()
ircg_lookup_format_messages()
ircg_lusers()
ircg_msg()
ircg_names()
ircg_nick()
ircg_nickname_escape()
ircg_nickname_unescape()
ircg_notice()
ircg_oper()
ircg_part()
ircg_pconnect()
ircg_register_format_messages()
ircg_set_current()
ircg_set_file()
ircg_set_on_die()
ircg_topic()
ircg_who()
ircg_whois()
is_a()
is_array()
is_binary()
is_bool()
is_buffer()
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_unicode()
is_uploaded_file()
is_writable()
is_writeable()
isset()
iterator_count()
iterator_to_array()
J
java_last_exception_clear()
java_last_exception_get()
jddayofweek()
jdmonthname()
jdtofrench()
jdtogregorian()
jdtojewish()
jdtojulian()
jdtounix()
jewishtojd()
join()
jpeg2wbmp()
json_decode()
json_encode()
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()
L
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_get_errors()
libxml_get_last_error()
libxml_set_streams_context()
libxml_use_internal_errors()
LimitIterator::getPosition()
LimitIterator::next()
LimitIterator::rewind()
LimitIterator::seek()
LimitIterator::valid()
link()
linkinfo()
list()
locale_get_default()
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()
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()
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->fetch_assoc()
maxdb->field_count()
maxdb->get_host_info()
maxdb->info()
maxdb->insert_id()
maxdb->kill()
maxdb->more_results()
maxdb->multi_query()
maxdb->next_result()
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->sqlstate()
maxdb->ssl_set()
maxdb->stat()
maxdb->stmt_init()
maxdb->store_result()
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_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->close()
maxdb_stmt->errno()
maxdb_stmt->error()
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_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_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()
mcal_append_event()
mcal_close()
mcal_create_calendar()
mcal_date_compare()
mcal_date_valid()
mcal_day_of_week()
mcal_day_of_year()
mcal_days_in_month()
mcal_delete_calendar()
mcal_delete_event()
mcal_event_add_attribute()
mcal_event_init()
mcal_event_set_alarm()
mcal_event_set_category()
mcal_event_set_class()
mcal_event_set_description()
mcal_event_set_end()
mcal_event_set_recur_daily()
mcal_event_set_recur_monthly_mday()
mcal_event_set_recur_monthly_wday()
mcal_event_set_recur_none()
mcal_event_set_recur_weekly()
mcal_event_set_recur_yearly()
mcal_event_set_start()
mcal_event_set_title()
mcal_expunge()
mcal_fetch_current_stream_event()
mcal_fetch_event()
mcal_is_leap_year()
mcal_list_alarms()
mcal_list_events()
mcal_next_recurrence()
mcal_open()
mcal_popen()
mcal_rename_calendar()
mcal_reopen()
mcal_snooze()
mcal_store_event()
mcal_time_valid()
mcal_week_of_year()
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()
memory_get_peak_usage()
memory_get_usage()
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()
move_uploaded_file()
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_receive()
msg_remove_queue()
msg_send()
msg_set_queue()
msg_stat_queue()
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()
muscat_close()
muscat_get()
muscat_give()
muscat_setup()
muscat_setup_net()
mysql_affected_rows()
mysql_change_user()
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->close()
mysqli->commit()
mysqli->debug()
mysqli->disable_reads_from_master()
mysqli->dump_debug_info()
mysqli->errno()
mysqli->fetch_assoc()
mysqli->field_count()
mysqli->host_info()
mysqli->info()
mysqli->insert_id()
mysqli->kill()
mysqli->more_results()
mysqli->multi_query()
mysqli->next_result()
mysqli->options()
mysqli->ping()
mysqli->prepare()
mysqli->protocol_version()
mysqli->query()
mysqli->real_connect()
mysqli->real_escape_string()
mysqli->real_query()
mysqli->rollback()
mysqli->rpl_query_type()
mysqli->select_db()
mysqli->send_query()
mysqli->server_info()
mysqli->server_version()
mysqli->set_charset()
mysqli->sqlstate()
mysqli->ssl_set()
mysqli->stat()
mysqli->stmt_init()
mysqli->store_result()
mysqli->thread_id()
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_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_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_charset()
mysqli_get_client_info()
mysqli_get_client_version()
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_prepare()
mysqli_query()
mysqli_real_connect()
mysqli_real_escape_string()
mysqli_real_query()
mysqli_report()
mysqli_rollback()
mysqli_rpl_parse_enabled()
mysqli_rpl_probe()
mysqli_rpl_query_type()
mysqli_select_db()
mysqli_send_long_data()
mysqli_send_query()
mysqli_server_end()
mysqli_server_init()
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->close()
mysqli_stmt->errno()
mysqli_stmt->error()
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_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_count()
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()
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()
number_format()
O
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_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_csr_export()
openssl_csr_export_to_file()
openssl_csr_get_public_key()
openssl_csr_get_subject()
openssl_csr_new()
openssl_csr_sign()
openssl_error_string()
openssl_free_key()
openssl_get_privatekey()
openssl_get_publickey()
openssl_open()
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_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()
ora_bind()
ora_close()
ora_columnname()
ora_columnsize()
ora_columntype()
ora_commit()
ora_commitoff()
ora_commiton()
ora_do()
ora_error()
ora_errorcode()
ora_exec()
ora_fetch()
ora_fetch_into()
ora_getcolumn()
ora_logoff()
ora_logon()
ora_numcols()
ora_numrows()
ora_open()
ora_parse()
ora_plogon()
ora_rollback()
orbitenum()
orbitobject()
orbitstruct()
ord()
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::getChildren()
ParentIterator::hasChildren()
ParentIterator::next()
ParentIterator::rewind()
parse_ini_file()
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_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_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->errorCode()
PDO->errorInfo()
PDO->exec()
PDO->getAttribute()
PDO->getAvailableDrivers()
PDO->lastInsertId()
PDO->prepare()
PDO->query()
PDO->quote()
PDO->rollBack()
PDO->setAttribute()
PDO->sqliteCreateAggregate()
PDO->sqliteCreateFunction()
PDO::pgsqlLOBCreate()
PDO::pgsqlLOBOpen()
PDO::pgsqlLOBUnlink()
PDOStatement->bindColumn()
PDOStatement->bindParam()
PDOStatement->bindValue()
PDOStatement->closeCursor()
PDOStatement->columnCount()
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()
pfpro_cleanup()
pfpro_init()
pfpro_process()
pfpro_process_raw()
pfpro_version()
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->compressAllFilesBZIP2()
Phar->compressAllFilesGZ()
Phar->count()
Phar->getMetaData()
Phar->getModified()
Phar->getSignature()
Phar->getStub()
Phar->getVersion()
Phar->isBuffering()
Phar->setMetaData()
Phar->setStub()
Phar->startBuffering()
Phar->stopBuffering()
Phar->uncompressAllFiles()
Phar::__construct()
Phar::apiVersion()
Phar::canCompress()
Phar::canWrite()
Phar::loadPhar()
Phar::mapPhar()
Phar::offsetExists()
Phar::offsetGet()
Phar::offsetSet()
Phar::offsetUnset()
PharFileInfo->chmod()
PharFileInfo->getCompressedSize()
PharFileInfo->getCRC32()
PharFileInfo->getMetaData()
PharFileInfo->getPharFlags()
PharFileInfo->isCompressed()
PharFileInfo->isCompressedBZIP2()
PharFileInfo->isCompressedGZ()
PharFileInfo->isCRCChecked()
PharFileInfo->setCompressedBZIP2()
PharFileInfo->setCompressedGZ()
PharFileInfo->setMetaData()
PharFileInfo->setUncompressed()
PharFileInfo::__construct()
php_check_syntax()
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_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_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()
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::extract()
Rar::getAttr()
Rar::getCrc()
Rar::getFileTime()
Rar::getHostOs()
Rar::getMethod()
Rar::getName()
Rar::getPackedSize()
Rar::getUnpackedSize()
Rar::getVersion()
rar_close()
rar_entry_get()
rar_list()
rar_open()
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()
recode()
recode_file()
recode_string()
RecursiveDirectoryIterator::getChildren()
RecursiveDirectoryIterator::hasChildren()
RecursiveDirectoryIterator::key()
RecursiveDirectoryIterator::next()
RecursiveDirectoryIterator::rewind()
RecursiveIteratorIterator::current()
RecursiveIteratorIterator::getDepth()
RecursiveIteratorIterator::getSubIterator()
RecursiveIteratorIterator::key()
RecursiveIteratorIterator::next()
RecursiveIteratorIterator::rewind()
RecursiveIteratorIterator::valid()
register_shutdown_function()
register_tick_function()
rename()
rename_function()
reset()
resources()
restore_error_handler()
restore_exception_handler()
restore_include_path()
result->current_field()
result->current_field()
result->data_seek()
result->data_seek()
result->fetch_array()
result->fetch_array()
result->fetch_field()
result->fetch_field()
result->fetch_field_direct()
result->fetch_field_direct()
result->fetch_fields()
result->fetch_fields()
result->fetch_object()
result->fetch_object()
result->fetch_row()
result->fetch_row()
result->field_count()
result->field_count()
result->field_seek()
result->field_seek()
result->free()
result->free()
result->lengths()
result->lengths()
result->num_rows()
rewind()
rewinddir()
rmdir()
round()
rpm_close()
rpm_get_tag()
rpm_is_valid()
rpm_open()
rpm_version()
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->subscribe()
SAMConnection->unsubscribe()
SAMConnection::setDebug()
SAMMessage->__construct()
SAMMessage->body()
SAMMessage->header()
satellite_caught_exception()
satellite_exception_id()
satellite_exception_value()
satellite_get_repository_id()
satellite_load_idl()
satellite_object_to_string()
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()
sem_acquire()
sem_get()
sem_release()
sem_remove()
serialize()
sesam_affected_rows()
sesam_commit()
sesam_connect()
sesam_diagnostic()
sesam_disconnect()
sesam_errormsg()
sesam_execimm()
sesam_fetch_array()
sesam_fetch_result()
sesam_fetch_row()
sesam_field_array()
sesam_field_name()
sesam_free_result()
sesam_num_fields()
sesam_query()
sesam_rollback()
sesam_seek_row()
sesam_settransaction()
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_time_limit()
setcookie()
setlocale()
setrawcookie()
settype()
sha1()
sha1_file()
shell_exec()
shm_attach()
shm_detach()
shm_get_var()
shm_put_var()
shm_remove()
shm_remove_var()
shmop_close()
shmop_delete()
shmop_open()
shmop_read()
shmop_size()
shmop_write()
show_source()
shuffle()
similar_text()
simplexml_import_dom()
simplexml_load_file()
simplexml_load_string()
SimpleXMLElement->__construct()
SimpleXMLElement->addAttribute()
SimpleXMLElement->addChild()
SimpleXMLElement->asXML()
SimpleXMLElement->attributes()
SimpleXMLElement->children()
SimpleXMLElement->getDocNamespaces()
SimpleXMLElement->getName()
SimpleXMLElement->getNamespaces()
SimpleXMLElement->registerXPathNamespace()
SimpleXMLElement->xpath()
SimpleXMLIterator::current()
SimpleXMLIterator::getChildren()
SimpleXMLIterator::hasChildren()
SimpleXMLIterator::key()
SimpleXMLIterator::next()
SimpleXMLIterator::rewind()
SimpleXMLIterator::valid()
sin()
sinh()
sizeof()
sleep()
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->__soapCall()
SoapFault->__construct()
SoapHeader->__construct()
SoapParam->__construct()
SoapServer->__construct()
SoapServer->addFunction()
SoapServer->fault()
SoapServer->getFunctions()
SoapServer->handle()
SoapServer->setClass()
SoapServer->setPersistence()
SoapVar->__construct()
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()
sort()
soundex()
spl_autoload()
spl_autoload_call()
spl_autoload_extensions()
spl_autoload_functions()
spl_autoload_register()
spl_autoload_unregister()
spl_classes()
spl_object_hash()
split()
spliti()
sprintf()
sql_regcase()
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()
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()
stmt->bind_param()
stmt->bind_param()
stmt->bind_result()
stmt->bind_result()
stmt->close_long_data()
stmt->data_seek()
stmt->data_seek()
stmt->execute()
stmt->execute()
stmt->fetch()
stmt->fetch()
stmt->free_result()
stmt->free_result()
stmt->num_rows()
stmt->num_rows()
stmt->param_count()
stmt->param_count()
stmt->prepare()
stmt->prepare()
stmt->reset()
stmt->reset()
stmt->result_metadata()
stmt->send_long_data()
stmt->send_long_data()
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_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_register_wrapper()
stream_resolve_include_path()
stream_select()
stream_set_blocking()
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_wrapper_register()
stream_wrapper_restore()
stream_wrapper_unregister()
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_cat()
svn_checkout()
svn_cleanup()
svn_client_version()
svn_commit()
svn_diff()
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_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_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()
SWFAction->__construct()
swfbitmap()
SWFBitmap->__construct()
SWFBitmap->getHeight()
SWFBitmap->getWidth()
swfbutton()
SWFButton->__construct()
SWFButton->addAction()
SWFButton->addASound()
SWFButton->addShape()
SWFButton->setAction()
SWFButton->setDown()
SWFButton->setHit()
SWFButton->setMenu()
SWFButton->setOver()
SWFButton->setUp()
swfdisplayitem()
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()
SWFFill->moveTo()
SWFFill->rotateTo()
SWFFill->scaleTo()
SWFFill->skewXTo()
SWFFill->skewYTo()
swffont()
SWFFont->__construct()
SWFFont->getAscent()
SWFFont->getDescent()
SWFFont->getLeading()
SWFFont->getShape()
SWFFont->getUTF8Width()
SWFFont->getWidth()
swffontchar()
SWFFontChar->addChars()
SWFFontChar->addUTF8Chars()
swfgradient()
SWFGradient->__construct()
SWFGradient->addEntry()
swfmorph()
SWFMorph->__construct()
SWFMorph->getShape1()
SWFMorph->getShape2()
swfmovie()
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()
SWFPrebuiltClip->__construct()
swfshape()
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()
swfsound()
swfsoundinstance()
SWFSoundInstance->loopCount()
SWFSoundInstance->loopInPoint()
SWFSoundInstance->loopOutPoint()
SWFSoundInstance->noMultiple()
swfsprite()
SWFSprite->__construct()
SWFSprite->add()
SWFSprite->labelFrame()
SWFSprite->nextFrame()
SWFSprite->remove()
SWFSprite->setFrames()
SWFSprite->startSound()
SWFSprite->stopSound()
swftext()
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()
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()
SWFVideoStream->__construct()
SWFVideoStream->getNumFrames()
SWFVideoStream->setDimension()
Swish->getMetaList()
Swish->getPropertyList()
Swish->prepare()
Swish->query()
Swish::__construct()
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_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_node->get_attr()
tidy_node->get_nodes()
tidy_node->next()
tidy_node->prev()
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->hasChildren()
tidyNode->hasSiblings()
tidyNode->isAsp()
tidyNode->isComment()
tidyNode->isHtml()
tidyNode->isJste()
tidyNode->isPhp()
tidyNode->isText()
tidyNode::getParent()
time()
time_nanosleep()
time_sleep_until()
timezone_abbreviations_list()
timezone_identifiers_list()
timezone_name_from_abbr()
timezone_name_get()
timezone_offset_get()
timezone_open()
timezone_transitions_get()
tmpfile()
token_get_all()
token_name()
touch()
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()
unicode_decode()
unicode_encode()
unicode_get_error_mode()
unicode_get_subst_char()
unicode_semantics()
unicode_set_error_mode()
unicode_set_subst_char()
uniqid()
unixtojd()
unlink()
unpack()
unregister_tick_function()
unserialize()
unset()
urldecode()
urlencode()
usage()
use_soap_error_handler()
user_error()
usleep()
usort()
utf8_decode()
utf8_encode()
V
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()
wddx_unserialize()
win32_create_service()
win32_delete_service()
win32_get_last_control_message()
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()
wordwrap()
X
xattr_get()
xattr_list()
xattr_remove()
xattr_set()
xattr_supported()
xdiff_file_diff()
xdiff_file_diff_binary()
xdiff_file_merge3()
xdiff_file_patch()
xdiff_file_patch_binary()
xdiff_string_diff()
xdiff_string_diff_binary()
xdiff_string_merge3()
xdiff_string_patch()
xdiff_string_patch_binary()
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::setParserProperty()
XMLReader::setRelaxNGSchema()
XMLReader::setRelaxNGSchemaSource()
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::transformToDoc()
XSLTProcessor::transformToURI()
XSLTProcessor::transformToXML()
Y
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::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
    • Manual Content and User Note Separation
  • 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). The user notes are in php_manual_notes.chm. You only need to have one copy of this file on your computer, regardless of how many languages you use to read the PHP Manual. The only requirement is that you need to have all php_manual_LANG.chm files in one directory with php_manual_notes.chm. 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
  • Manual Content and User Note Separation

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
Manual Content and User Note Separation
The Full Text Search


Manual Content and User Note Separation

The manual content and the user notes are separated to php_manual_LANG.chm and php_manual_notes.chm. There were several resons to do this, including:

  • This way you can update the user notes and the manual independently as you need.
  • You can have more than one language of the manual, while only need to have one notes file. All the CHM files need to be in the same directory, and all translations need to share the same preferences if you would not like to have more then one notes file.
  • You can bookmark manual pages with notes, or just a notes part of a page separately.
  • You can "turn off" user note display and user note search results by simply deleting php_manual_notes.chm, moving it out of the directory or renaming it.

All these benefits lead us to provide the manual the way you can see it right now. This distribution had the effect on the full text search that you get search results from the manual content and from the user notes as separate ones. The "Location" column shows the source of the result, also enabling you to "add precedence" to manual content results with ordering the results by "Location". User note page titles are also prefixed with "N:" to make them easily distinguishable in the favorites list (there's no location info in the favorites list).

Using nested expressions when searching
Specialities of this Edition
The Full Text Search


Specialities of this Edition

Содержание

  • User Preferences
  • Presentational Specialities

The Windows HTML Help Edition of the PHP Manual over-performs the presentational and interactive capabilities offered by other editions (including the online manual). This was possible because currently CHMs can only be viewed on Windows using Internet explorer, so we can develop for one browser family and one operating system. Viewers for other OSes may be developed in the future by third parties.

Manual Content and User Note Separation
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/downloads/details.aspx?FamilyID=00535334-c8a6-452f-9aa0-d597d16580cc&DisplayLang=en.

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