略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: imap_get_quota

2024-04-27

imap_get_quota

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

imap_get_quotaRetrieve the quota level settings, and usage statics per mailbox

说明

imap_get_quota(IMAP\Connection $imap, string $quota_root): array|false

Retrieve the quota level settings, and usage statics per mailbox.

For a non-admin user version of this function, please see the imap_get_quotaroot() function of PHP.

参数

imap

IMAP\Connection 实例。

quota_root

quota_root should normally be in the form of user.name where name is the mailbox you wish to retrieve information about.

返回值

Returns an array with integer values limit and usage for the given mailbox. The value of limit represents the total amount of space allowed for this mailbox. The usage value represents the mailboxes current level of capacity. Will return false in the case of failure.

As of PHP 4.3, the function more properly reflects the functionality as dictated by the » RFC2087. The array return value has changed to support an unlimited number of returned resources (i.e. messages, or sub-folders) with each named resource receiving an individual array key. Each key value then contains an another array with the usage and limit values within it.

For backwards compatibility reasons, the original access methods are still available for use, although it is suggested to update.

更新日志

版本 说明
8.1.0 现在 imap 参数接受 IMAP\Connection 实例,之前接受 资源(resource)

范例

示例 #1 imap_get_quota() example

<?php
$mbox 
imap_open("{imap.example.org}""mailadmin""password"OP_HALFOPEN)
      or die(
"can't connect: " imap_last_error());

$quota_value imap_get_quota($mbox"user.kalowsky");
if (
is_array($quota_value)) {
    echo 
"Usage level is: " $quota_value['usage'];
    echo 
"Limit level is: " $quota_value['limit'];
}

imap_close($mbox);
?>

示例 #2 imap_get_quota() 4.3 or greater example

<?php
$mbox 
imap_open("{imap.example.org}""mailadmin""password"OP_HALFOPEN)
      or die(
"can't connect: " imap_last_error());

$quota_values imap_get_quota($mbox"user.kalowsky");
if (
is_array($quota_values)) {
   
$storage $quota_values['STORAGE'];
   echo 
"STORAGE usage level is: " .  $storage['usage'];
   echo 
"STORAGE limit level is: " .  $storage['limit'];

   
$message $quota_values['MESSAGE'];
   echo 
"MESSAGE usage level is: " .  $message['usage'];
   echo 
"MESSAGE limit is: " .  $message['limit'];

   
/* ...  */
}

imap_close($mbox);
?>

注释

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

The given imap must be opened as the mail administrator, otherwise this function will fail.

参见

add a noteadd a note

User Contributed Notes 3 notes

up
0
Anti Veeranna
15 years ago
If you're using this (or probably any other imap functions) and getting "Notice: Unknown: Quota root does not exist (errflg=2) in Unknown on line 0" errors after the script finishes, then call imap_errors() function before you close the imap stream - this will clear the error stack and you don't get those annoying notices.

Took me a while to figure it out.
up
-1
Shiraz Esat
17 years ago
For this function to work your IMAP server must also have the 'getquota' capability!

Check this by logging in directly:
telnet <mail server> <port>

e.g. telnet mail.myserver.com 143

and then once you're connected to the server
0 CAPABILITY
up
-2
dc at aufruhr dot com
18 years ago
ok, this error just occurs if there are no quotas on your mailbox.

same with imap_get_quotaroot().

官方地址:https://www.php.net/manual/en/function.imap-get-quota.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3