| |
|
|
| | Есть таблица в БД
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-ти раз получился | |
| |
|
|