Ответы пользователя по тегу PHP
  • Как подготовить изображение для Instagaram?

    iResource
    @iResource
    Разработчик IR XML2Ozon
    Добавлять поля (белые / черные / серые и т.д.) - это один вариант.

    Другой вариант - сначала пропорциональное увеличить изображение, чтобы размеры были не меньше 400.
    А потом - обрезать до квадрата.

    Я бы добавил проверку размеров и увеличение (если надо) сразу после строки:
    list($width, $height) = getimagesize($imgSrc);

    Изображение немного потеряет в качестве (а может и много - если один из размеров совсем маленький),
    зато не будет лишних полей.
    Ответ написан
    2 комментария
  • Как решить проблему со склонением минут в функции?

    iResource
    @iResource
    Разработчик IR XML2Ozon
    Такая компактненькая функция с этим поможет. И не только с минутами )

    function word_variation_rus($chislo, $mnogo, $odin, $dva) {
        // @author Alexey Gnevyshev
        $ost_10 = $chislo%10;
        if ($ost_10 == 0 || $ost_10 >= 5 || in_array($chislo%100, range(11,19))) $string_txt = "$chislo $mnogo";
        else {
            if ($ost_10 == 1) $string_txt = "$chislo $odin";
            else if (in_array($ost_10, range(2,4))) $string_txt = "$chislo $dva";
        }
        return $string_txt;
    }

    (источник: https://blog.inform-resource.ru/2019/10/blog-post_...)

    И потом:
    echo word_variation_rus($minute, 'минут', 'минута', 'минуты');
    Ответ написан
    Комментировать
  • Как исключить из массива первое значение?

    iResource
    @iResource
    Разработчик IR XML2Ozon
    unset - выведет без первого, да, но и массив изменит, а это, возможно, не нужно.

    Попробуйте так:
    <?php if (stripos($image['url'], '63.jpeg') === false) echo esc_url($image['url']); ?>
    Ответ написан
    7 комментариев
  • Как проверить, входит ли текущее время в заданный диапазон?

    iResource
    @iResource
    Разработчик IR XML2Ozon
    Ещё один вариант:

    // https://iresurs.com
    $opening_hours = '11:00 - 01:00';
    $opening_start = trim(explode('-', $opening_hours)[0]);
    $opening_start_hours = explode(':', $opening_start)[0];
    $opening_start_minutes = explode(':', $opening_start)[1];
    $opening_start_today = $opening_start_hours * 60 + $opening_start_minutes;
    // echo $opening_start_today.'<br>';
    $opening_end = trim(explode('-', $opening_hours)[1]);
    $opening_end_hours = explode(':', $opening_end)[0];
    $opening_end_minutes = explode(':', $opening_end)[1];
    $opening_end_today = $opening_end_hours * 60 + $opening_end_minutes;
    if ($opening_end_today <= $opening_start_today) $opening_end_today = 24 * 60 + $opening_end_today;
    // echo $opening_end_today.'<br>';
    $config = JFactory::getConfig(); // это для CMS Joomla
    $zone = $config->get('offset'); // часовой пояс (зона)
    // echo $zone.'<br>';
    $now = new DateTime('now', new DateTimeZone($zone));
    $now_hours = $now->format('H');
    $now_minutes = $now->format('i');
    $now_today = $now_hours * 60 + $now_minutes;
    // echo $now_today.'<br>';
    if ($now_today > $opening_start_today && $now_today < $opening_end_today) {
        echo $output;
    } else {
        echo '<div class="cart-view"><h1>Время приёма заказов: '.$opening_hours.'</h1><p>Пожалуйста, зайдите позже.</p></div>';
    }
    Ответ написан
    Комментировать