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

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

Загрузка методом POST

<?php // В PHP ранее 4.1.0 должна использоваться $HTTP_POST_FILES вместо $_FILES. if (is_uploaded_file($_FILES['userfile']['tmp_name'])) { copy($_FILES['userfile']['tmp_name'], "/place/to/put/uploaded/file"); } else { echo "Possible file upload attack. Filename: " . $_FILES['userfile']['name']; } /* ...или... */ move_uploaded_file($_FILES['userfile']['tmp_name'], "/place/to/put/uploaded/file"); ?>

PHP-скрипт, который получает загружаемый файл, должен реализовывать логику, необходимую для определения того, что нужно сделать с загруженным файлом. Вы можете, например, использовать переменную $_FILES['userfile']['size'] для исключения файлов, которые слишком малы или велики. Вы можете использовать переменную $_FILES['userfile']['type'] для исключения файлов, которые не отвечают критериям определённого типа. При любой логике вы должны либо удалять, либо перемещать такие файлы из временной директории.

Файл будет удалён из временной директории по окончании запроса, если он (файл) не перемещён или не переименован.