imap_getacl
(PHP 5, PHP 7, PHP 8)
imap_getacl — Gets the ACL for a given mailbox
说明
imap_getacl(IMAP\Connection
$imap
, string $mailbox
): array|falseGets the ACL for a given mailbox.
参数
-
imap
-
IMAP\Connection 实例。
-
mailbox
-
The mailbox name, see imap_open() for more information
警告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 |
现在 imap 参数接受 IMAP\Connection
实例,之前接受 资源(resource)。
|
范例
示例 #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 2 notes
hartmut dot woehrle at hwds dot ch ¶
6 years ago
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 ¶
15 years ago
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
)