Работа с FTP-сервером

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 при ошибке.

$upload = ftp_put($ftp_id, "C:\\file.txt", "/file.txt", FTP_ASCII);

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 агента, напущенного на локальном хосте.
По всем значениям можно пройти с помощью цикла:

for($i=0; $i<count($a); $i++) {          echo $a[$i];}

 















Функции 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 ошибка соединения

<?phpdl("php3_vmailmgr.so"); //load the shared library$vdomain="vdomain.com";$basepwd="password";?>

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 и просит его сообщить свое имя. Владелец хоста, таким образом, может передавать все, что ему заблагорассудится.

echo gethostbyaddr("127.0.0.1");

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.

echo getservbyname("HTTP", "TCP"); // может вывести 80

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

Синтаксис:
string getservbyport(int port, string protocol);

Здесь в аргументе protocol нужно указать тип протокола - TCP либо UDP.

echo getservbyport(21, "TCP"); // выведет: ftpecho getservbyport(23, "TCP"); // выведет: telnet

checkdnsrr
Производит проверку записи 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);?>

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: