Местоположение
Россия

Наибольший вклад в теги

Все теги (4)

Лучшие ответы пользователя

Все ответы (4)
  • Упрощенное переключение между строками кода?

    migelbd
    @migelbd
    Человек
    В продуктах JetBrains есть закладки..
    Ctrl+Shift+(1-9) - установить закладку
    Ctrl+(1-9) - перейти на закладку
    Ответ написан
    Комментировать
  • Как сделать формулу для расчета даты?

    migelbd
    @migelbd
    Человек
    Во-первых нужно хранить где-нибудь дату начала, конца акции и дату когда нужно обновить эти значения..

    //$date_from_db - дата из БД
    
    if ($date_from_db > time()){
        $start_date = date('d.m.Y', strtotime('-5 days'));
        $end_date = date('d.m.Y', strtotime('+5 days'));
    
        $date_from_db = time();
        
        // Тут сохранить все три значения в базу
    }
    Ответ написан
    4 комментария
  • Как получить количество месяцев?

    migelbd
    @migelbd
    Человек
    Как то так например
    $now = new DateTime('now');
    $date = new DateTime('2019-05-01');
    $diff = $now->diff($date);
    $interval = $diff->format('%m');
    Ответ написан
    Комментировать
  • Как забрать файл с почты?

    migelbd
    @migelbd
    Человек
    Делал для себя.
    В данном примере используются библиотеки (Composer):
    ddeboer/imap
    soundasleep/html2text

    <?php
    
    
    use Ddeboer\Imap\Search\Flag\Unseen;
    use Ddeboer\Imap\SearchExpression;
    use Ddeboer\Imap\Server;
    
    
    $server = (new Server('imap.example.com'))->authenticate('user', 'pass');
    
    $mailbox = $server->getMailbox('INBOX');
    $sr = new SearchExpression();
    $sr->addCondition(new Unseen());
    $messages = $mailbox->getMessages($sr);
    
    foreach ( $messages as $msg) {
    
        try {
            if($html = $msg->getBodyHtml()){
                $options = array(
                    'ignore_errors' => true,
                );
                $text = \Soundasleep\Html2Text::convert($html, $options);
            } else {
                $text = $msg->getBodyText();
            }
    
            foreach ( $msg->getAttachments() as $attachment) {
                $path_to_save = '/files/' . $attachment->getFilename();
                file_put_contents($path_to_save,
                                  $attachment->getDecodedContent());
            }
        } catch (Exception $e) {
            error_log($e);
        } finally {
            $msg->markAsSeen();
        }
    }
    Ответ написан
    Комментировать