PHP.mk документација

imap_getmailboxes

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.imap-getmailboxes.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.imap-getmailboxes.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
imap_getmailboxes

Референца за `function.imap-getmailboxes.php` со подобрена типографија и навигација.

function.imap-getmailboxes.php

imap_getmailboxes

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_getmailboxesПрочитај ја листата на сандачиња, враќајќи детални информации за секое од нив

= NULL

imap_getmailboxes(IMAP\Connection $imap, string $reference, string $pattern): array|false

Добива информации за сандачињата.

Параметри

imap

Еден IMAP\Connection instance.

reference

reference нормално треба да биде само спецификацијата на серверот како што е опишано во imap_open()

Ги ескејпува специјалните знаци во стринг за употреба во SQL изјава

Проследувањето на недоверливи податоци на овој параметар е insecure, освен ако imap.enable_insecure_rsh е оневозможено.

pattern

Специфицира каде во хиерархијата на сандачињата да се започне со пребарување.

Постојат два специјални знаци што можете да ги поминете како дел од pattern: '*' и '%'. '*' значи да се вратат сите сандачиња. Ако поминете pattern како што е*', ќе добиете список на целата хиерархија на сандачиња. '%' значи да се врати само тековното ниво. '%' како pattern параметар ќе врати само сандачиња на највисоко ниво; '~/mail/%' на UW_IMAPD ќе врати секое сандаче во ~/mail директориумот, но ниту едно во подпапките на таа директорија.

Вратени вредности

Враќа низа од објекти што содржат информации за сандачињата. Секој објект ги има атрибутите name, што го специфицира полното име на сандачето; delimiter, што е разделувач на хиерархијата за делот од хиерархијата во кој се наоѓа ова сандаче; и attributes. Attributes е битна маска што може да се тестира против:

  • LATT_NOINFERIORS - Ова сандаче не содржи, и можеби не содржи „деца“ (нема сандачиња под ова). Повикувањето imap_createmailbox() нема да работи на ова сандаче.

  • LATT_NOSELECT - Ова е само контејнер, не сандаче - не можете да го отворите.

  • LATT_MARKED - Ова сандаче е означено. Ова значи дека може да содржи нови пораки откако последен пат било проверено. Не е обезбедено од сите IMAP сервери.

  • LATT_UNMARKED - Ова сандаче не е означено, не содржи нови пораки. Ако било кое MARKED or UNMARKED е обезбедено, можете да претпоставите дека IMAP серверот ја поддржува оваа функција за ова сандаче.

  • LATT_REFERRAL - Овој контејнер има препорака до оддалечено сандаче.

  • LATT_HASCHILDREN - Ова сандаче има избирачки инфериорни.

  • LATT_HASNOCHILDREN - Ова сандаче нема избирачки инфериорни.

Вредност на алфа компонентата. false при неуспех.

Дневник на промени

Верзија = NULL
8.1.0 На imap параметарот очекува IMAP\Connection инстанца сега; претходно, валидна imap resource се очекуваше.

Примери

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

Види Исто така

Белешки од корисници 3 белешки

Мохамед Абас mabbas_xyz на yahoo точка com
19 години пред
i am currently develop a simple IMAP client, when i call imap_getmailboxes() i receive a different values in attributes property of the mailbox object the problem is how can i manipulate these attributes to get a meaningful value,
if you make a hard search to find a solution for this, you will
not find any useful documents for this problem, let us take a closer look for this problem.

when i call imap_getmailboxes() against different IMAP servers i got these attribute values

[attributes] => 9
[attributes] => 1
[attributes] => 64
[attributes] => 32
[attributes] => 40 

the documentation tell us that we check this attributes against four constants, these contents are

LATT_NOINFERIORS 
LATT_NOSELECT 
LATT_MARKED
LATT_UNMARKED

the value of these constants are 

LATT_NOINFERIORS = 1
LATT_NOSELECT = 2
LATT_MARKED = 4
LATT_UNMARKED = 8

you can got this result by echo each constant, unfortunately the documentation not explain how we can check the attributes against the constants, after a long time of searching i find the answer in source code of c-client 
(you can get the source from ftp://ftp.cac.washington.edu/imap/)
under \src\c-client you will find mail.h open it and you will find this

                               /* terminal node in hierarchy */
#define LATT_NOINFERIORS (long) 0x1
                /* name can not be selected */
#define LATT_NOSELECT (long) 0x2
                /* changed since last accessed */
#define LATT_MARKED (long) 0x4
                /* accessed since last changed */
#define LATT_UNMARKED (long) 0x8
                /* name has referral to remote mailbox */
#define LATT_REFERRAL (long) 0x10
                /* has selectable inferiors */
#define LATT_HASCHILDREN (long) 0x20
                /* has no selectable inferiors */
#define LATT_HASNOCHILDREN (long) 0x40

as you notice here these are our four constants and three additional constants 

LATT_REFERRAL
LATT_HASCHILDREN
LATT_HASNOCHILDREN

then what is the value of these 3 attributes 
LATT_REFERRAL 0x10 = 00010000 in binary, the bitmask value is 2^4 = 16 and so on, or simply echo this constant to get the value, then

LATT_REFERRAL = 16
LATT_HASCHILDREN = 32
LATT_HASNOCHILDREN = 64

finally the full list of constants will be
LATT_NOINFERIORS = 1
LATT_NOSELECT = 2
LATT_MARKED = 4
LATT_UNMARKED = 8
LATT_REFERRAL = 16
LATT_HASCHILDREN = 32
LATT_HASNOCHILDREN = 64

ok let's back to our attributes 
[attributes] => 9
[attributes] => 1
[attributes] => 64
[attributes] => 32
[attributes] => 40 

[attributes] => 9 this mean it's LATT_UNMARKED and LATT_NOINFERIORS 1+8 =9

[attributes] => 1 this mean LATT_NOINFERIORS

[attributes] => 64 this mean LATT_HASNOCHILDREN

[attributes] => 32 this mean LATT_HASCHILDREN 

[attributes] => 40 this mean LATT_HASCHILDREN and LATT_UNMARKED 32+8=40

this just like linux file permission 7 mean read, write, and execute 4+2+1 read=4 write=2 execute=1

that is what i found, i hope this can help 

Mohamed Abbas
Nileweb Egypt
foom на fuhm точка NO_supercalifragilisticexpialidocious_SPAM точка net
figroc at gmail dot com
The list of mailbox attributes in this document is very misleading. In particular the explanation of noinferiors is just wrong. It does not mean that the mailbox currently has no children, it means that it *cannot* have children ever. Also, it is untrue that marked and unmarked are only used by UW-IMAP. They are in the official IMAP specification and are used by at least Courier-imap as well.

One thing to watch out for, however, is broken IMAP servers which do send \Noinferiors when they mean that there are currently no children.

From the IMAP4rev1 specs (RFC 2060):
      \Noinferiors

         It is not possible for any child levels of hierarchy to exist
         under this name; no child levels exist now and none can be
         created in the future.

      \Noselect

         It is not possible to use this name as a selectable mailbox.

      \Marked

         The mailbox has been marked "interesting" by the server; the
         mailbox probably contains messages that have been added since
         the last time the mailbox was selected.

      \Unmarked

         The mailbox does not contain any additional messages since the
         last time the mailbox was selected.
ad-rotator.com
21 години пред
In case you print_r() or var_dump() the object and see an int for attribute, these are the constant integers for the bitmask.

1 LATT_NOINFERIORS
2 LATT_NOSELECT
4 LATT_MARKED
8 LATT_UNMARKED
Навигација

Прелистувај сродни теми и функции.

На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.