Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Посчитать размер почтового ящика
 
 автор: mihdan   (11.08.2009 в 19:08)   письмо автору
 
 

Есть таблица в БД

id | login | password | quota


Как для каждого ящика посчитать реально занимаемый им объем, чтобы выслать юзеру письмо с предупреждением о том, что скоро ящик переполниться

Сейчас реализовал это так:

<?php
function getMailBoxSize($login$password) {

    
$mbox imap_open("{server.ru:143/novalidate-cert/notls}"$login$passwordOP_READONLY1);
    if (
$mbox) {
        
$info imap_mailboxmsginfo($mbox);
        
imap_close($mbox);
        return 
$info->Size;
    }
    return 
0;
}
?>


<?php
echo 'Размер ящика - '.getMailBoxSize($login$password');
?>


Но этот способ тормозит даже на 20 ящиках, мне же нужно проверять разом по 100 штук.
Есть ли способ проще(быстрее)

  Ответить  
 
 автор: mihdan   (12.08.2009 в 15:59)   письмо автору
 
   для: mihdan   (11.08.2009 в 19:08)
 

Cheops, Sim5, Trianon -- вся надежда на вас. Спасибо

  Ответить  
 
 автор: sim5   (15.08.2009 в 00:47)   письмо автору
 
   для: mihdan   (12.08.2009 в 15:59)
 

Зря надеетесь )
А если проверкой квот?

  Ответить  
 
 автор: mihdan   (15.08.2009 в 21:04)   письмо автору
 
   для: sim5   (15.08.2009 в 00:47)
 

Всмысле?

  Ответить  
 
 автор: sim5   (16.08.2009 в 03:43)   письмо автору
 
   для: mihdan   (15.08.2009 в 21:04)
 

imap_get_quota (int imap_stream, string quota_root)

Возвращает массив с ограничителем целочисленных значений и использование данного mailbox'а. Значение ограничителя limit представляет общее количество пространства, отводимое для данного mailbox'а. Значение использования usage представляет текущий уровень ёмкости mailbox'ов.

  Ответить  
 
 автор: mihdan   (15.08.2009 в 00:24)   письмо автору
 
   для: mihdan   (11.08.2009 в 19:08)
 

up

  Ответить  
 
 автор: Trianon   (15.08.2009 в 01:23)   письмо автору
 
   для: mihdan   (15.08.2009 в 00:24)
 

почта на сервере как хранится?

  Ответить  
 
 автор: mihdan   (15.08.2009 в 21:04)   письмо автору
 
   для: Trianon   (15.08.2009 в 01:23)
 

Для каждого юзера создается папка с его логином, внутри лежат файлы по одному на письмо. Вы предлагаете считать размер папки?

  Ответить  
 
 автор: Trianon   (15.08.2009 в 21:17)   письмо автору
 
   для: mihdan   (15.08.2009 в 21:04)
 

без деления inbox/sent ?

В целом - да.

  Ответить  
 
 автор: cheops   (17.08.2009 в 00:37)   письмо автору
 
   для: mihdan   (15.08.2009 в 21:04)
 

>Для каждого юзера создается папка с его логином, внутри лежат файлы по одному на
>письмо. Вы предлагаете считать размер папки?
Самый верный способ, особенно по скорости.

  Ответить  
 
 автор: mihdan   (17.08.2009 в 01:29)   письмо автору
 
   для: cheops   (17.08.2009 в 00:37)
 

Спасибо-попробую все ваши варианты

  Ответить  
 
 автор: cheops   (17.08.2009 в 00:39)   письмо автору
 
   для: mihdan   (15.08.2009 в 21:04)
 

>Для каждого юзера создается папка с его логином, внутри лежат файлы по одному на
>письмо. Вы предлагаете считать размер папки?
Самый верный способ, особенно по скорости.

  Ответить  
 
 автор: mihdan   (26.08.2009 в 13:11)   письмо автору
 
   для: cheops   (17.08.2009 в 00:39)
 

Спасибо

  Ответить  
 
 автор: mihdan   (26.08.2009 в 13:11)   письмо автору
 
   для: cheops   (17.08.2009 в 00:39)
 

Выигрыш в скорости порядка 10-ти раз получился

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования