imap_getacl
(PHP 5, PHP 7, PHP 8)
imap_getacl — 与えられたメールボックスの ACL を取得する
パラメータ
imap
IMAP\Connection クラスのインスタンス。
mailbox
-
メールボックス名。詳細は imap_open() を参照ください。
警告信頼できないデータをこのパラメータに渡すのであれば、 imap.enable_insecure_rsh を無効にしておかなければ危険です。
戻り値
"folder" => "acl" 形式の連想配列を返します。
失敗した場合に false
を返します
変更履歴
バージョン | 説明 |
---|---|
8.1.0 |
引数 imap は、IMAP\Connection
クラスのインスタンスを期待するようになりました。
これより前のバージョンでは、有効な imap リソース が期待されていました。
|
例
例1 imap_getacl() の例
<?php
print_r(imap_getacl($imap, 'user.joecool'));
?>
上の例の出力は、 たとえば以下のようになります。
Array ( [asubfolder] => lrswipcda [anothersubfolder] => lrswipcda )
注意
この関数は、現在は c-client2000 以降のライブラリを使用しているユーザーのみ利用可能です。
+add a note
User Contributed Notes 1 note
hartmut dot woehrle at hwds dot ch ¶
8 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.