imap_getacl

(PHP 5, PHP 7, PHP 8)

imap_getaclGets the ACL for a given mailbox

说明

imap_getacl ( IMAP\Connection $imap , string $mailbox ) : array|false

Gets the ACL for a given mailbox.

参数

imap

An IMAP\Connection instance.

mailbox

The mailbox name, see imap_open() for more information

Warning

Passing untrusted data to this parameter is insecure, unless imap.enable_insecure_rsh is disabled.

返回值

Returns an associative array of "folder" => "acl" pairs, 或者在失败时返回 false.

更新日志

版本 说明
8.1.0 The imap parameter expects an IMAP\Connection instance now; previously, a 资源(resource) was expected.

范例

Example #1 imap_getacl() example

<?php

print_r
(imap_getacl($imap'user.joecool'));

?>

以上例程的输出类似于:

Array
(
    [asubfolder] => lrswipcda
    [anothersubfolder] => lrswipcda
)

注释

This function is currently only available to users of the c-client2000 or greater library.

参见

User Contributed Notes

hartmut dot woehrle at hwds dot ch 07-Mar-2016 02:13
Maybe the functionality changed over the years but the examples are wrong.
It does NOT return [subfolder] => ACL

At the moment (PHP5) the usage and answer of imap_getacl is the following:
You ask for the folder and get the ACLs for exactly this folder (no Wildcards)

Example:
When you have the folder Business in your mailbox

print_r(imap_getacl($connection , "user/john.doe/Business"));

returns the following:

Array
(
    [john.doe@example.com] => lrswipkxtecda
    [cyrus@example.com] => lrswipkxtecd
    [secretary@example.com] => lrsp
    [department@example.com] => lrs
)

Which means you have to loop over your directories (imap_list) and list the ACL for ever folder seperately.
info at obengelb dot de 13-Sep-2006 04:58
stream_id is the stream returned from imap_open

mailbox is a mailbox name (without server name)

Example:
print_r(imap_getacl ($strea_id, 'user.joecool'));

Array
(
    [asubfolder] => lrswipcda
    [anothersubfolder] => lrswipcda
)
PHP8中文手册 站长在线 整理 版权归PHP文档组所有