|
|
|
| Есть таблица в БД
id | login | password | quota
|
Как для каждого ящика посчитать реально занимаемый им объем, чтобы выслать юзеру письмо с предупреждением о том, что скоро ящик переполниться
Сейчас реализовал это так:
<?php
function getMailBoxSize($login, $password) {
$mbox = imap_open("{server.ru:143/novalidate-cert/notls}", $login, $password, OP_READONLY, 1);
if ($mbox) {
$info = imap_mailboxmsginfo($mbox);
imap_close($mbox);
return $info->Size;
}
return 0;
}
?>
|
<?php
echo 'Размер ящика - '.getMailBoxSize($login, $password');
?>
|
Но этот способ тормозит даже на 20 ящиках, мне же нужно проверять разом по 100 штук.
Есть ли способ проще(быстрее) | |
|
|
|
|
|
|
|
для: mihdan
(11.08.2009 в 19:08)
| | Cheops, Sim5, Trianon -- вся надежда на вас. Спасибо | |
|
|
|
|
|
|
|
для: mihdan
(12.08.2009 в 15:59)
| | Зря надеетесь )
А если проверкой квот? | |
|
|
|
|
|
|
|
для: sim5
(15.08.2009 в 00:47)
| | Всмысле? | |
|
|
|
|
|
|
|
для: mihdan
(15.08.2009 в 21:04)
| | imap_get_quota (int imap_stream, string quota_root)
Возвращает массив с ограничителем целочисленных значений и использование данного mailbox'а. Значение ограничителя limit представляет общее количество пространства, отводимое для данного mailbox'а. Значение использования usage представляет текущий уровень ёмкости mailbox'ов. | |
|
|
|
|
|
|
|
для: mihdan
(11.08.2009 в 19:08)
| | up | |
|
|
|
|
|
|
|
для: mihdan
(15.08.2009 в 00:24)
| | почта на сервере как хранится? | |
|
|
|
|
|
|
|
для: Trianon
(15.08.2009 в 01:23)
| | Для каждого юзера создается папка с его логином, внутри лежат файлы по одному на письмо. Вы предлагаете считать размер папки? | |
|
|
|
|
|
|
|
для: mihdan
(15.08.2009 в 21:04)
| | без деления inbox/sent ?
В целом - да. | |
|
|
|
|
|
|
|
для: mihdan
(15.08.2009 в 21:04)
| | >Для каждого юзера создается папка с его логином, внутри лежат файлы по одному на
>письмо. Вы предлагаете считать размер папки?
Самый верный способ, особенно по скорости. | |
|
|
|
|
|
|
|
для: cheops
(17.08.2009 в 00:37)
| | Спасибо-попробую все ваши варианты | |
|
|
|
|
|
|
|
для: mihdan
(15.08.2009 в 21:04)
| | >Для каждого юзера создается папка с его логином, внутри лежат файлы по одному на
>письмо. Вы предлагаете считать размер папки?
Самый верный способ, особенно по скорости. | |
|
|
|
|
|
|
|
для: cheops
(17.08.2009 в 00:39)
| | Спасибо | |
|
|
|
|
|
|
|
для: cheops
(17.08.2009 в 00:39)
| | Выигрыш в скорости порядка 10-ти раз получился | |
|
|
|