ftp_connect
Производит подключение к FTP-серверу.
Синтаксис:
int ftp_connect(string host [, int port])
В функции ftp_connect() аргумент host указывает имя сервера, к которому производится подключение, а необязательный аргумент port указывает какой порт нужно использовать (по умолчанию это 21).
Функция возвращает дескриптор потока FTP или false в случае ошибки.
ftp_pasv
Производит переключение пассиваного режима.
Синтаксис:
int ftp_pasv(int ftp_stream, int pasv)
Функция ftp_pasv() производит переключение режима подключения в пассивный, в случае, если аргумент pasv равен true. Если false - то режим подключения будет активный.
В пассивном режиме передача данных инициируется клиентом, а в активном - сервером (это бывает необходимо при блокировке портов у клиента).
Функция возварщает true или false при ошибке.
ftp_login
Производит вход на сервер FTP.
Синтаксис:
int ftp_login(int ftp_stream, string username, string password)
Функция ftp_login() производит регистрацию в системе под именем username с паролем password. Возвращает true или false при ошибке.
ftp_quit
Производит завершение сеанса FTP.
Синтаксис:
int ftp_quit(int ftp_stream)
|
|
ftp_pwd
Производит определение текущего каталога.
Синтаксис:
int ftp_pwd(int ftp_stream)
Эта функция возвращает текущий каталог FTP-сервера или false при ошибке.
ftp_cdup
Производит переход в корневой каталог.
Синтаксис:
int ftp_cdup(int ftp_stream)
Функция возвращает true или false при ошибке.
ftp_chdir
Производит переход в каталог.
Синтаксис:
int ftp_chdir(int ftp_stream, string directory)
Функция возвращает true или false при ошибке.
ftp_mkdir
Производит создание каталога.
Синтаксис:
int ftp_mkdir(int ftp_stream, string directory)
Функция возвращает имя созданного каталога или false при ошибке.
ftp_rmdir
Производит удаление каталога.
Синтаксис:
int ftp_rmdir(int ftp_stream, string directory)
Функция true или false при ошибке.
ftp_nlist
Производит получение листинга каталога.
Синтаксис:
int ftp_nlist(int ftp_stream, string directory)
Функция ftp_nlist() возвращает массив файловых имен или false при ошибке.
ftp_rawlist
Получение подробного листинга каталога.
Синтаксис:
int ftp_rawlist(int ftp_stream, string directory)
Функция ftp_rawlist() выполняет FTP-команду LIST, и возвращате его результаты в массиве, где каждый элемент соответствует строке текста "как есть". Идентификатор типа системы, возвращаемый ftp_systype(), может быть использован для определения того, как следует интерпретировать результаты.
ftp_systype
Возвращает системный идентификатор типа FTP-сервера.
Синтаксис:
int ftp_systype(int ftp_stream)
Функция возвращает строковое значение или false в случае ошибки.
Работа файлами
ftp_get
Производит загрузку с FTP-сервера.
Синтаксис:
int ftp_get(int ftp_stream, string local_file, string remote_file, int mode)
Функция ftp_get() загружает файл под названием remote_file с FTP-сервера и локально сохраняет его под именем local_file. Параметр mode устанавливает режим передачи файла и может принимать значения FTP_ASCII(текстовой) или FTP_BINARY(бинарный, двоичный).
Функция возвращает true или false при ошибке.
|
|
ftp_fget
Производит загрузку и запись файла.
Синтаксис:
int ftp_fget(int ftp_stream, string fp, string remote_file, int mode)
Функция ftp_fget() загружает файл под названием remote_file с FTP-сервера и сохраняет его в файле, который имеет дескриптор fp. Параметр mode устанавливает режим передачи файла и может принимать значения FTP_ASCII(текстовой) или FTP_BINARY(бинарный, двоичный).
Функция возвращает true или false при ошибке.
ftp_put
Производит загрузку файла на FTP-сервер.
Синтаксис:
int ftp_put(int ftp_stream, string remote_file, string local_file, int mode)
Функция ftp_put() загружает файл на FTP-сервер под именем remote_file. Параметр mode устанавливает режим передачи файла и может принимать значения FTP_ASCII(текстовой) или FTP_BINARY(бинарный, двоичный).
Функция возвращает true или false при ошибке.
ftp_fput
Производит чтение и загрузку файла на FTP-сервер.
Синтаксис:
int ftp_fput(int ftp_stream, string remote_file, string fp, int mode)
Функция ftp_fput() читает открытый файл с дескриптором fp до конца и загружает этот файл на FTP-сервер под именем remote_file. Параметр mode устанавливает режим передачи файла и может принимать значения FTP_ASCII(текстовой) или FTP_BINARY(бинарный, двоичный).
Функция возвращает true или false при ошибке.
ftp_size
Определяет размер файла.
Синтаксис:
int ftp_size(int ftp_stream, string remote_file)
Функция ftp_size() возвращает размер файла, заданного в параметре remote_file, в байтах или -1 при ошибке.
Не все серверы поддерживают эту возможность.
ftp_mdtm
Возвращает время последней модификации файла.
Синтаксис:
int ftp_mdtm(int ftp_stream, string remote_file)
Функция ftp_mdtm() возвращает время, последней модификации, представленное в формате Unix, или -1 при ошибке.
Данная функция не работает с каталогами.
ftp_rename
Производит переименование файла.
Синтаксис:
int ftp_rename(int ftp_stream, string from, string to)
Функция ftp_rename() переименовывает файл from в to.
Функция возвращает true или false в случае ошибки.
ftp_delete
Производит удаление файла с сервера.
Синтаксис:
int ftp_delete(int ftp_stream, string path)
Функция ftp_delete() удаляет файл, имя которого задано в параметре path.
Функция возвращает true или false в случае ошибки.
ftp_site
Производит выполнение команды SITE на сервере.
Синтаксис:
int ftp_site(int ftp_stream, string cmd)
Функция ftp_site() посылает серверу команду cmd.
Т.к. команды SITE не стандартизированы, они могут различаться. Обычно они полезны для изменения прав доступа к файлам и групповой принадлежности.
Функция возвращает true или false в случае ошибки.
Функции IMAP
Для того, чтобы эти функции заработали вы должны скомпилировать PHP с флагом --with-imap.
Этот флаг требут,чтобы была установлена библиотека c-client. Последнюю версию можно получить по адресу ftp://ftp.cac.washington.edu/imap/.
Затем скопируйте c-client/c-client.a в /usr/local/lib или какую либо другую директорию, прописанную в пути, затемскопируйте c-client/rfc822.h, mail.h и linkage.h в /usr/local/include или другую директорию с include-файлами.
Не смотря на имя модуля, имеющиеся в нем функции позволяют выполнять также много других полезных операций, выходящих за рамки простого использования протокола IMAP. Лежащая в основе библиотека C-клиента также поддерживает NNTP, POP3 и методы доступа к локальным почтовым ящикам.
imap_append
Добавляет текстовое сообщение в указанный почтовый ящик.
Синтаксис:
int imap_append(int imap_stream, string mbox, string message, stringflags);
Возвращает true в случае успеха или false иначе.
imap_append() добавляет текстовое сообщение в указанный почтовый ящик mbox. Если указаны необязательные флаги, также записывает в почтовый ящик и флаги. При общении с сервером Cyrus IMAP нужно использовать в качестве ограничителей строки "\r\n" вместо "\n",иначе действие не выполнится.
imap_base64
Декодирует текст, закодированный с помощью BASE64.
Синтаксис:
string imap_base64(string text);
Функция imap_base64() декодирует текст в формате BASE-64. Декодированное сообщение возвращается как строка.
|
|
imap_body
Читает тело сообщения.
Синтаксис:
string imap_body(int imap_stream, int msg_number, int flags);
Функция imap_body() возвращает тело сообщения, имеющего номер п/п msg_number в текущем почтовом ящике.
Необязательные флаги это битовые маски из
FT_UID - Номер сообщения msgno является UID-ом сообщения
FT_PEEK - Не устанавливать флаг \Seen если он еще не установлен.
FT_INTERNAL - Возвращаемая строка записана во внутреннем формате и не может быть приведена к канонической форме с CRLF.
imap_check
Проверяет текущий почтовый ящик.
Синтаксис:
array imap_check(int imap_stream);
Возвращает информацию о текущем почтовом ящике. В случае неуспеха возвращает FALSE.
Функция imap_check() проверяет статус текущего почтового ящика на сервере и возвращает информацию в объекте со следующими свойствами:
Date: дата сообщения
Driver: драйвер
Mailbox: название почтового ящика
Nmsgs: количество сообщений
Recent: количество недавно пришедших сообщений
imap_close
Закрывает поток IMAP.
Синтаксис:
int imap_close(int imap_stream, int flags);
Закрывает поток imap. Необязательный флаг CL_EXPUNGE заставляет стереть помеченные на удаление сообщенияпри закрытии.
imap_createmailbox
Создает новый почтовый ящик.
Синтаксис:
int imap_createmailbox(int imap_stream, string mbox);
imap_createmailbox() создает новый почтовый ящик указанный в mbox.Возвращает true в случае успеха и false при ошибке.
imap_delete
Помечает сообщение из текущего почтового ящика на удаление.
Синтаксис:
int imap_delete(int imap_stream, int msg_number);
Возвращает true.
Возвращает true.Функция imap_delete() помечает сообщение, указанное через msg_number на удаление. Настоящее удаление сообщенийосуществляется функцией imap_expunge().
imap_deletemailbox
Удаляет почтовый ящик.
Синтаксис:
int imap_deletemailbox(int imap_stream, string mbox);
Возвращает true в случае успеха и false иначе.
imap_expunge
Удаляет все сообщения, помеченные на удаление.
Синтаксис:
int imap_expunge(int imap_stream);
imap_expunge() удаляет все сообщения помеченные на удаление с помощью imap_delete().
Возвращает true.
imap_fetchbody
Извлекает простую секцию тела сообщения.
Синтаксис:
string imap_fetchbody(int imap_stream, int msg_number, int part_number, flags flags);
Эта функция заставляет извлечь подробную секцию указанного сообщения как текстовую строку.Секция это строка целых чисел, разделенных точками, которые указывают на части тела сообщения в списке частей согласно спецификации IMAP4. Части тела не декодируются этой функцией.
Необязательным параметром к imap_fetchbody () является битовая маска из
FT_UID - msgono является
UID-ом FT_PEEK - не устанавливать флаг \Seen если он не установлен
FT_UID - возвращаемая строка записана во внутреннем формате, которое не может быть канонизированна с помощью CRLF
|
|
imap_fetchstructure
Читает структуру простого сообщения.
Синтаксис:
array imap_fetchstructure(int imap_stream, int msg_number);
array imap_fetchstructure(int imap_stream, int msg_number);Эта функция заставляет извлечь всю информацию о структуре сообщения с номером msg_number. Возвращаемая величинаявляется объектом со следующими элементами:
type, encoding, ifsubtype, subtype, ifdescription, description, ifid, id, lines, bytes, ifparameters тип, кодировка, подтип интерфейса, подтип, описание интерфейса, описание, идентификатор интерфейса, строки, байты, параметры интерфейса
Также функция возвращает массив объектов под названием parameters[]. Этот объект имеет следующиесвойства:
attribute, value
атрибут, величина
В случае сообщения из нескольих частей, функция также возвращает массив объектов всех свойств под название parts[].
imap_header
Читает заголовок сообщения.
Синтаксис:
object imap_header(int imap_stream, int msg_number, int fromlength, int subjectlength, int defaulthost);
Эта функция возвращает объект различных элементов заголовка
remail,date,Date,subject,Subject,in_reply_to,message_id,newsgroups, followup_to,references
toaddress (полная строка To: строка длиной до 1024 символов)
to[] (возвращает массив объектов из строки To, содержит:)
personal
adl
mailbox
host
fromaddress (полная строка From: строка длиной до 1024 символов)
from[] (возвращает массив объектов из строки From, содержит:)
personal
adl
mailbox
host
ccaddress (полная строка Cc: строка длиной до 1024 символов)
cc[] (возвращает массив объектов из строки Cc, содержит)
personal
adl
mailbox
host
bccaddress (полная строка Bcc: строка длиной до 1024 символов)
bcc[] (возвращает массив объектов из строки Bcc, содержит:)
personal
adl
mailbox
host
reply_toaddress (полная строка Reply_to: строка длиной до 1024 символов)
reply_to[] (возвращает массив объектов из строки Reply_to, содержит:)
personal
adl
mailbox
host
senderaddress (полная строка Sender: строка длиной до 1024 символов)
sender[] (возвращает массив объектов из строки Sender, содержит:)
personal
adl
mailbox
host
return_path (полная строка Return-path: строка длиной до 1024 символов)
return_path[] (возвращает массив объектов из строки Return_path, содержит:)
personal
adl
mailbox
host
udate (дата сообщения в формате времени unix)
fetchfrom (строка From, отформатированная до fromlength символов)
fetchsubject (строка Subject, отформатированная до subjectlength символов)
imap_headers
Возвращает заголовки всех сообщений в почтовом ящике.
Синтаксис:
array imap_headers(int imap_stream);
Возвращает строковый массив из информации по заголокам. Один элемент массива на сообщение.
imap_listmailbox
Читает список почтовых ящиков.
Синтаксис:
array imap_listmailbox(int imap_stream, string ref, string pat);
Возвращает массив, содержащий названия почтовых ящиков.
imap_listsubscribed
Перечисляет все подписанные ящики.
Синтаксис:
array imap_listsubscribed(int imap_stream, string ref, string pattern);
Возвращает массив всех почтовых ящиков на которые Вы подписаны. Аргументы ref и pattern указывают начальноеместорасположение откуда начинать поиск и шаблон, которому должны удовлетворять названия почтовых ящиков.
imap_mail_copy
Копирует указанные сообщения в почтовый ящик.
Синтаксис:
int imap_mail_copy(int imap_stream, string msglist, string mbox, int flags);
Возвращает true в случае успеха и false иначе.
Копирует почтовые сообщения указанные с помощью msglist в почтовый ящик mbox. msglist - это диапазон, а не простономера сообщений.
Флаги - это битовые маски из
CP_UID - номера в последовательности содержат
UID-ы CP_MOVE - после копирования удалить сообщения из текущего почтового ящика
imap_mail_move
Переносит указанные сообщения в почтовый ящик.
Синтаксис:
int imap_mail_move(int imap_stream, string msglist, string mbox);
Переносит почтовые сообщения указанные с помощью msglist в почтовый ящик mbox. msglist - это диапазон, а не простономера сообщений.
Возвращает true в случае успеха и false иначе.
imap_num_msg
Выдает количество сообщений в текущем почтовом ящике.
Синтаксис:
int imap_num_msg(void);
Возвращает количество сообщений в текущем почтовом ящике.
imap_num_recent
Возвращает количество недавно пришедших сообщений в текущем почтовом ящике.
Синтаксис:
int imap_num_recent(int imap_stream);
imap_open
Подключение к серверу (открытие почтового ящика).
Синтаксис:
int imap_open(string mailbox, string username, string password [, int flags]);
Функция imap_open() возвращает дескриптор почтового ящика IMAP (дескриптор подключения к серверу IMAP) или false при ошибке.
Эта функция может быть использована для открытия потоков к POP3 и NNTP серверам, но в этом случае некоторые функции будут недоступны.
Аргумент mailbox - задает имя сервера и путь к почтовому ящику. Имя сервера следует заключать в фигурные скобки "{" и "}", внутри которых должно содержаться: имя сервера (или его IP-адрес), возможно указание протокола (который начинается со слеша "/") и номера порта Для того, чтобы присоединиться к серверу IMAP на 143-й порт на локальной машине сделайте следующее:
$mbox = imap_open("{localhost:143}INBOX","user_id","password");
Для того, чтобы подсоединиться к POP3-серверу на 110-й порт на локальном сервере используйте:
$mbox = imap_open("{localhost/pop3:110}INBOX","user_id","password");
Для того, чтобы подсоединиться к NNTP-серверу на 119-й порт на локальном сервере используйте:
$nntp = imap_open("{localhost/nntp:119}comp.test","","");
Для того, чтобы подсоединиться к удаленному серверу замените "localhost" на имя или IP-адрес сервера к которомуВы хотите подсоединиться.
Опции - битовая маска из
OP_READONLY - Открыть почтовый ящик в режим "только чтение"
OP_ANONYMOUS - Не использовать или не обновлять.newsrc при использовании новостей
OP_HALFOPEN - Для IMAP и NNTP устанавливает соединение, но не открывает почтовый ящик
CL_EXPUNGE - Автоматически очищать почтовый ящик при закрытии
imap_ping
Проверяет поток IMAP на работоспособность.
Синтаксис:
int imap_ping(int imap_stream);
Возвращает true если поток еще работоспособен и false иначе.
Функция imap_ping() проверяет поток на работоспособность. Он может также проверять новую почту; это предпочтительный метод для периодической проверки новой почты и "живучести" удаленных серверов.
imap_renamemailbox
Переименовывает старый почтовый ящик в новый.
Синтаксис:
int imap_renamemailbox(int imap_stream, string old_mbox, string new_mbox);
Эта функция переименовывает старый почтовый ящик в новый.
Возвращает true в случае успеха и false иначе.
imap_reopen
Заново открывает поток IMAP на новый почтовый ящик.
Синтаксис:
int imap_reopen(string imap_stream, string mailbox, string [flags]);
Возвращает true в случае успеха и false иначе.
Эта функция заново открывает указанный поток на новый ящик.
Опции - битовая маска из
OP_READONLY - Открыть почтовый ящик в режиме только чтение
OP_ANONYMOUS - Не использовать или не обновлять.newsrc при работе с новостями
OP_HALFOPEN - Для IMAP и NNTP устанавливает связь но не открывает почтовый ящик
CL_EXPUNGE - Очищает почтовый ящик при закрытии
imap_subscribe
Подписывает на почтовый ящик.
Синтаксис:
int imap_subscribe(int imap_stream, string mbox);
Возвращает true в случае успеха и false иначе.
imap_undelete
Снимает отметку с сообщения помеченного на удаление.
Синтаксис:
int imap_undelete(int imap_stream, int msg_number);
Эта функция cнимает отметку с сообщения помеченного на удаление функцией imap_delete().
Возвращает true в случае успеха и false иначе.
imap_unsubscribe
Снимает подписку с почтового ящика.
Синтаксис:
int imap_unsubscribe(int imap_stream, string mbox);
Возвращает true в случае успеха и false иначе.
imap_qprint
Конвертирует строку формата quoted-printable в 8-битовую строку.
Синтаксис:
string imap_qprint(string string);
Возвращает 8-битовую (бинарную) строку.
imap_8bit
Конвертирует 8-битовую строку в формат quoted-printable.
Синтаксис:
string imap_8bit(string string);
Возвращает строку в формате quoted-printable.
imap_binary
Конвертирует 8-битную строку в формат base64.
Синтаксис:
string imap_binary(string string);
Возвращает строку в формате base64.
imap_scanmailbox
Читает список почтовых ящиков, проводит поиск в названиях ящиков.
Синтаксис:
array imap_scanmailbox(int imap_stream, string string);
Возвращает массив, содержащий имена почтовых ящиков, которые имеют строку string в названии.
imap_mailboxmsginfo
Получает информацию о текущем почтовом ящике.
Синтаксис:
array imap_mailboxmsginfo(int imap_stream);
Возвращает информацию о текущем почтовом ящике. FALSE в случае неудачи.
Функция imap_mailboxmsginfo() проверяет статус текущего почтового ящика на сервере и возвращает информацию в объекте со следующими свойствами:
Date: дата сообщения
Driver: драйвер
Mailbox: название почтового ящика
Nmsgs: количество сообщений
Recent: количество недавно пришедших сообщений
Unread: количество непрочитанных сообщений
Size: размер почтового ящика
imap_rfc822_write_address
Возвращает правильно отформатированный email адрес.
Синтаксис:
string imap_rfc822_write_address(string mailbox, string host, string personal);
Возвращает правильно отформатированный email адрес по данному почтовому ящику, хосту и персональной информации.
imap_rfc822_parse_adrlist
Проводит разбор адресной строки.
Синтаксис:
string imap_rfc822_parse_adrlist(string address, string default_host);
Эта функция разбирает адресную строку и для каждого адреса возвращает массив объектов.
Есть 4 типа объектов:
mailbox - название почтового ящика (имя пользователя)
host - название хоста
personal - личное имя
adl - путь к домену-источнику
imap_setflag_full
Устанавливает флаги на сообщения.
Синтаксис:
string imap_setflag_full(int stream, string sequence, string flag, string options);
Эта функция застваляет добавить указанный флаг к набору флагов сообщения в указанной последовательности.
options - это битовая маска из ST_UID
Аргументы последовательности содержат UIDы вместо номеров
imap_clearflag_full
Очищает флаги сообщения.
Синтаксис:
string imap_clearflag_full(int stream, string sequence, string flag, string options);
Эта функция заставляет удалить флаги из набора флагов сообщения в указанной последовательности.
options - это битовая маска из ST_UID
Аргументы последовательности содержат UIDы вместо номеров
imap_sort
Сортирует сообщения в текущем почтовом ящике.
Синтаксис:
string imap_sort(int stream, int criteria, int reverse, int options);
Возвращает массив номеров сообщений рассортированных по данному параметру
Rev должен быть равен 1 если нужна сортировка в обратном порядке
Критерии сортировки (должен быть указан только один): SORTDATE - по дате сообщения
SORTARRIVAL - по дате поступления
SORTFROM - по полю From
SORTSUBJECT - по теме сообщения
SORTTO - по полю To
SORTCC - по полю cc
SORTSIZE - по размеру
опции - битовая маска из
SE_UID - Возвратить UIDы вместо номеров последовательности
SE_NOPREFETCH - Не извелекать заранее найденные сообщения
imap_fetchheader
Возвращает заголовок сообщения.
Синтаксис:
string imap_fetchheader(int imap_stream, int msgno, int flags);
Эта функция заставляет извлечь полный, неотфильтрованный заголовок указанного сообщения в формате RFC 822 как текстовую строку.
Опиции:
FT_UID msgno является UID-ом
FT_INTERNAL Возвращаемая строка записана во внутреннем формате без каких-либо попыток канонизировать ее с помощью CRLF
FT_PREFETCHTEXT RFC822. Текст должен быть предварительно разобран. Это поможет избежать эстренных задержек если требуется извлечь полный текст сообщения (например, в операции "сохранить в локальном файле")
imap_uid
Эта функция возвращает UID по данному номеру сообщения в последовательности.
Синтаксис:
string imap_uid(string mailbox, int msgno);
Функции SNMP
snmpget
Получает объект SNMP.
Синтаксис:
int snmpget(string hostname, string community, string object_id);
Возвращает значание SNMP объекта при успехе и false при ошибке.
Функция snmpget() используется для чтения значения SNMP объекта, указанного в object_id.
SNMP агент определяется именем хоста hostname и группа чтения определяется параметром community.
snmpget("127.0.0.1", "public", "system.SysContact.0")
snmpwalk
Получает все SNMP объекты у агента.
Синтаксис:
array snmpwalk(string hostname, string community, string object_id);
Возвращает массив значений SNMP объектов начиная с object_id и false при ошибке.
Функция snmpwalk() используется для чтения всех значений у SNMP агента, определяемого параметром hostname.
Community определяет группу чтения для агента.
Нулевой object_id берется как корень дерева SNMP объектов и все объекты под этим деревом возвращаются как массив.
Если object_id указан, то возвращаются все SNMP объекты ниже этого объекта.
$a = snmpwalk("127.0.0.1", "public", "");
Указанный выше вызов функции вернет все SNMP объекты из SNMP агента, напущенного на локальном хосте.
По всем значениям можно пройти с помощью цикла:
Функции Vmailmgr
Эти функции требуют пакетов QMAIL (www.qmail.org) и vmailmgr Bruce Guenter http://www.qcc.sk.ca/~bguenter/distrib/vmailmgr/
Для всех функций следующие две переменные определяются как: строка vdomain - имя домена вашего виртуального домена (vdomain.com), строка basepwd - пароль для "real" пользователя, который поддерживает виртуальных пользователей.
Только до 8 символов распознаются в пароле для виртуальных пользователей.
Возвращается статус для всех функциональных значений ответа в response.h
O ok
1 плохой
2 ошибка
3 ошибка соединения
vm_adduser
Добавляет нового виртуального пользователя с паролем.
Синтаксис:
int vm_adduser(string vdomain, string basepwd, string newusername, string newuserpassword);
Добавляет нового виртуального пользователя с паролем. newusername - это имя почтового login-а и newuserpassword - это пароль для это пользователя.
vm_addalias
Добавляет новый псевдоним для виртуального пользователя.
Синтаксис:
int vm_addalias(string vdomain, string basepwd, string username, string alias);
Добавляет псевдоним виртуальному пользователю. username - это имя почтового login-а и alias - это псевдоним для этого пользователя.
vm_passwd
Изменяет пароль виртуальных пользователей.
Синтаксис:
int vm_passwd(string vdomain, string username, string password, string newpassword);
Изменяет пароль виртуальных пользователей. username - это имя почтового login-а, password - старый пароль пользователя, и newpassword - новый пароль.
vm_delalias
Удаляет всевдоним.
Синтаксис:
int vm_delalias(string vdomain, string basepwd, string alias);
vm_deluser
Удаляет псевдоним виртуального пользователя.
Синтаксис:
int vm_deluser (string vdomain, string username);
Сетевые функции
ip2long
Производит конвертацию строки адреса IPv4 в число.
Синтаксис:
int ip2long(string ip_address);
Функция ip2long() возвращает четырехбайтовое численное представление адреса IP v4 из строки (числа, разделенные точками, например: "127.0.0.1").
// получить IP адрес хоста$ip=gethostbyname("www.php.net");echo "Следующие URL эквивалентны:<br>";echo "http://www.php.net/, http://".$ip. "/, и http://".ip2long($ip)."/<br>";long2ip
Производит конвертацию числа в строку адреса IP v4.
Синтаксис:
string long2ip(int proper_address);
Функция long2ip() возвращает строковое представление IP-адреса (в формате: "aaa.bbb.ccc.ddd") из численного представления.
gethostbyaddr
Возвращает имя хоста, который соответствует заданному IP-адресу.
Синтаксис:
string gethostbyaddr(string ip_address);
Функция gethostbyaddr() возвращает доменное имя хоста, заданного своим IP-адресом. В аргументе указывается адрес IP в строковом формате. В случае ошибки возвращает ip_address.
Надо отметить, что функция не гарантирует, что полученное имя на самом деле будет соответствовать действительности. Она лишь опрашивает хост по адресу ip_address и просит его сообщить свое имя. Владелец хоста, таким образом, может передавать все, что ему заблагорассудится.
gethostbyname
Возвращает IP-адрес хоста.
Синтаксис:
string gethostbyname(string hostname);
Функция gethostbyname() получает в параметрах доменное имя хоста и возвращает его IP-адрес. Если адрес определить не удалось, функция возвращает hostname.
gethostbynamel
Возвращает список IP-адресов хоста.
Синтаксис:
array gethostbynamel(string hostname);
Одному доменному имени может соответствовать сразу несколько IP-адресов, и в случае сильной загруженности серверов DNS-сервер сам выбирает, по какому IP-адресу перенаправить запрос. Он выбирает тот адрес, который использовался наиболее редко.
Функция gethostbynamel() возвращает не один, а все IP-адреса хоста с именем hostname.
Стоит заметить, что в Интернете существует множество виртуальных хостов, которые имеют различные доменные имена, но один и тот же IP-адресс. Таким образом, если следующая последовательность команд для существующего хоста с IP-адресом ip всегда печатает этот же адрес:
$host = gethostbyaddr($ip);echo gethostbyname($host);то аналогичная последовательность для домена с DNS-именем $host, наоборот, может напечатать не то же имя, а другое:
$ip = gethostbyname($host);echo gethostbyaddr($ip);getprotobyname
Производит определение номера порта, используемого протоколом.
Синтаксис:
int getprotobyname(string name);
getprotobynumber
Производит определение протокола порта.
Синтаксис:
string getprotobynumber(int number);
getservbyname
Производит определение протокола интернет-службы.
Синтаксис:
int getservbyname(string service, string protocol);
Эта функция возвращает номер порта, который использует служба service.
В аргументе protocol указывается тип протокола - TCP или UDP.
getservbyport
Производит определение интернет-службы, которая использует заданный порт.
Синтаксис:
string getservbyport(int port, string protocol);
Здесь в аргументе protocol нужно указать тип протокола - TCP либо UDP.
echo getservbyport(21, "TCP"); // выведет: ftpecho getservbyport(23, "TCP"); // выведет: telnetcheckdnsrr
Производит проверку записи DNS.
Синтаксис:
int checkdnsrr(string host [, string type]);
Эта функция отправляет запрос DNS-серверу для поиска записей, которые имеются для хоста host. Если были найдены записи типа type, то функция возвращает true. В противном случае и при ошибке - false.
Аргумент type может принимать значения:
· A
· MX (по умолчанию)
· NS
· SOA
· PTR
· CNAME
· ANY
Аргумент host может указываться строкой в формате IP с разделением точками, либо быть именем хоста.
getmxrr
Производит получение MX записи для интернет-хоста.
Синтаксис:
int getmxrr(string hostname, array mxhosts [, array weight]);
Функция getmxrr() инициирует поиск в базе данных DNS записи MX (почтовый сервер домена) для хоста hostname.
Если запись найдена, возвращает true, если нет - то false.
Список записей MX заносится в массив mxhosts. Если указан массив weight, он заполняется дополнительной информацией о записях.
Введение
PHP имеет следующие типы ошибок и предупреждений:
Значение | Константа | Описание |
1 | E_ERROR | Фатальная ошибка времени исполнения. |
2 | E_WARNING | Предупреждение времени исполнения. |
4 | E_PARSE | Сообщение интерпретации времени исполнения. |
8 | E_NOTICE | Простое сообщение времени исполнения. |
16 | E_CORE_ERROR | Фатальная ошибка при инициализации PHP. |
32 | E_CORE_WARNING | Предупреждение инициализации. |
64 | E_COMPILE_ERROR | Фатальная ошибка компиляции. |
128 | E_COMPILE_WARNING | Предупреждение компиляции. |
256 | E_USER_ERROR | Ошибки, определяемые пользователем. |
512 | E_USER_WARNING | Предупреждения, определяемые пользователем. |
1024 | E_USER_NOTICE | Сообщения, определяемые пользователем. |
2047 | E_ALL | Все перечисленные сообщения. |
Указанные значения в виде чисел или констант можно комбинировать, формируя битовую маску ошибок, о которых необходимо сообщать в ходе исполнения сценария. Для комбинирования используются битовые операторы, но в конфигурационном файле php.ini распознаются только "|", "~", "!" и "&".
В PHP 4 по умолчанию разрешены сообщения вида E_ALL & ~E_NOTICE, то есть сообщаться должно все, кроме обычных сообщений. Можно переопределить эту установку параметром файла конфигурации error_reporting() (ее также можно указывать в файлах конфигурации сервера Apache).
Если при вызове функции перед ее именем указать символ "@", то в случае возникновения ошибки в этой функции сообщение о нем выдаваться не будет.
В настоящее время оператор игнорирования ошибок блокирует даже выдачу сообщений о критических ошибках, при возникновении которых сценарий досрочно завершается.
Если разрешен параметр конфигурации track_errors, то сообщение об ошибке сохраняется в глобальной переменной $php_errormsg.
<?// определенный пользователем обработчик ошибокfunction userErrorHandler($errno,$errmsg,$filename,$linenum,$vars) { // время возникновения ошибки $dt=date("Y-m-d H:i:s (T)"); $errortype = array(1 => "Error", 2 => "Warning", 4 => "Parsing Error", 8 => "Notice", 16 => "Core Error", 32 => "Core Warning", 64 => "Compile Error", 128 => "Compile Warning", 256 => "User Error", 512 => "User Warning", 1024 => "User Notice"); $err.="время ($dt), номер ошибки ($errno), "; $err.="тип ошибки (".$errortype[$errno]."): "; $err.="\"$errmsg\".файл \"$filename\", строка ("; $err.=$linenum.")\n"; $user_errors=array(E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE); if(in_array($errno, $user_errors)) // выдать сообщение для ошибок пользователя echo $err; // сохранить событие ошибки в системном журнале error_log($err, 3, "/usr/local/php4/error.log");} // установить уровень контроля ошибок и обработчикerror_reporting(0); // не выводить сообщения PHP$old_error_handler=set_error_handler("userErrorHAndler"); // неопределенная константа вызывает предупреждение$t=_NOT_DEFINED_CONSTANT; trigger_error("Моя ошибка", E_USER_ERROR);trigger_error("Мое предупреждение", E_USER_WARNING);?>