PHP Doku:: Liefert Quota-Beschränkungen und Nutzungsstatistik der Postfächer - function.imap-get-quota.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzE-Mail-relevante ErweiterungenIMAP, POP3 and NNTPIMAP Funktionenimap_get_quota

Ein Service von Reinhard Neidl - Webprogrammierung.

IMAP Funktionen

<<imap_gc

imap_get_quotaroot>>

imap_get_quota

(PHP 4 >= 4.0.5, PHP 5)

imap_get_quotaLiefert Quota-Beschränkungen und Nutzungsstatistik der Postfächer

Beschreibung

array imap_get_quota ( resource $imap_stream , string $quota_root )

imap_get_quota() ermittelt die aktuellen Quota- Beschränkunten und tatsächlich genutzten Resourcen für Postfächer.

Für die Ausführung dieser Funktion ist ein IMAP-Benutzer mit Administrationsrechten erforderlich, eine nichtadministrative Variante der Funktion ist imap_get_quotaroot().

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

quota_root

quota_root sollte normalerweise in der Form user.name angegeben werden. name ist dabei der Name des Postfachs, für das Informationen geliefert werden sollen.

Rückgabewerte

Liefert ein Array mit zwei Integer-Elementen limit und usage, die den insgesamt verfügbaren und den zur Zeit vom Postfach genutzten Speicherplatz angeben. Im Fehlerfall wird FALSE zurückgegeben.

Ab PHP 4.3 hält sich die Funktion genauer an die Vorgaben aus » RFC2087. Das Ergebnisarray unterstützt nun eine unbegrenzte Anzahl von Ressourcewerten (z.B. Anzahl der Nachrichten oder Unterordner). Für jede Ressource wird ein Arrayelement mit dem Namen der Ressource als Key angelegt, die einzelnen Arrayelemente sind wiederum Arrays mit limit- und useage-Angaben.

Aus Gründen der Rückwärtskompatibilität werden außerdem weiter die beiden ursprünglichen Arrayelemente limit und usage zurückgegeben, ihre weitere Nutzung wird allerdings nicht empfohlen.

Beispiele

Beispiel #1 imap_get_quota()-Beispiel

<?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);
?>

Beispiel #2 Beispiel für imap_get_quota() ab 4.3 und aufwärts

<?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);
?>

Anmerkungen

Diese Funktion ist momentan nur für Benutzer der c-client2000-Bibliothek (oder neuer) verfügbar.

Der angegebene imap_stream muss als Mail-Administrator geöffnet werden; diese Funktion schlägt sonst fehl.

Siehe auch


3 BenutzerBeiträge:
- Beiträge aktualisieren...
Anti Veeranna
1.03.2007 20:26
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.
Shiraz Esat
20.12.2004 18:40
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
dc at aufruhr dot com
19.07.2003 1:26
ok, this error just occurs if there are no quotas on your mailbox.

same with imap_get_quotaroot().



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)