Учебник РНР
Назад Вперёд

imap_getmailboxes

(PHP 3>= 3.0.12, PHP 4)

imap_getmailboxes - читает список mailbox'ов, возвращает детальную информацию о каждом.

Описание

array imap_getmailboxes (int imap_stream, string ref, string pattern)

Возвращает массив объектов, содержащих информацию о mailbox'ах. Каждый объект имеет атрибуты: name , специфицирующий полное имя mailbox'а; delimiter , ограничитель иерархии для той части её, в которой находится данный mailbox; и attributes . Attributes это битовая маска, проверяемая относительно:

  • LATT_NOINFERIORS - этот mailbox не имеет "потомков/children" (ниже него нет mailbox'ов).

  • LATT_NOSELECT - это лишь контейнер, а не mailbox - вы не можете открыть его.

  • LATT_MARKED - этот mailbox помечен. Используется только в UW-IMAPD.

  • LATT_UNMARKED - этот mailbox не помечен. Используется только в UW-IMAPD.

Имена mailbox'ов, содржащие интернациональные символы за пределами печатаемого диапазона ASCII, будут кодированы и могут быть декодированы с помощью imap_utf7_decode() .

ref нормально должен быть просто спецификацией сервера, как описано в imap_open() , а pattern специфицирует, где в иерархии mailbox'ов начинать поиск. Если вам нужны все mailbox'ы, передайте '*' для pattern .

Есть два специальных символа, которые вы можете передавать как часть pattern : '*' и '%'.
'*' означает: вернуть все mailbox'ы. Если вы передаёте pattern как '*', вы получите список всей иерархии mailbox'ов.
'%' означает: возвратить только текущий уровень. '%' как параметр pattern возвратит только mailbox'ы верхнего уровня; '~/mail/%' в UW_IMAPD will возвратит каждый mailbox в директории ~/mail, но не в подкаталогах данного каталога/директории.

Пример 1. imap_getmailboxes()
$mbox = imap_open("{your.imap.host}","username","password",OP_HALFOPEN) or die("can't connect: ".imap_last_error()); $list = imap_getmailboxes($mbox,"{your.imap.host}","*"); if(is_array($list)) { reset($list); while (list($key, $val) = each($list)) { print "($key) "; print imap_utf7_decode($val->name).","; print "'".$val->delimiter."',"; print $val->attributes."<br>\n"; } } else print "imap_getmailboxes failed: ".imap_last_error()."\n"; imap_close($mbox);

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


Назад Оглавление Вперёд
imap_get_quota Вверх imap_getsubscribed