Ошибка PHP (неопределенное смещение: 1) при использовании хрома для загрузки файла

У меня есть PHP-скрипт для управления загрузкой (только VIP-пользователи могут загружать) Сценарий работает с распространенными менеджерами загрузки и браузерами (такими как Firefox, IE, IDM и Edge), но я получаю эту ошибку, когда хочу использовать хром для загрузки файла:

Неопределенное смещение: 1 в /home/username/public_html/index.php в строке 103.

Строка № 103: список($range, $extra_ranges) = взорвать(',', $range_orig, 2);

    //check if http_range is sent by browser (or download manager)
    if ($is_resume && isset($_SERVER['HTTP_RANGE']))
    {
        list($size_unit, $range_orig) = explode('=', $_SERVER['HTTP_RANGE'], 2);

        if ($size_unit == 'bytes')
        {
            //multiple ranges could be specified at the same time, but for simplicity only serve the first range
            //http://tools.ietf.org/id/draft-ietf-http-range-retrieval-00.txt
            list($range, $extra_ranges) = explode(',', $range_orig, 2);
        }
        else
        {
            $range = '';
        }
    }

Я пробовал некоторые коды, которые я нашел здесь, в темах stackoverflow, но они не работают!

list($range, $extra_ranges) = explode(',', $range_orig);

list($range, $extra_ranges) = array_pad(explode(',', $range_orig, 2), -2, null);

list($range, $extra_ranges) = explode(',', $range_orig. ',');
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
89
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Дополнительные диапазоны являются необязательными.

По сути, explode(',', $range_orig, 2) дает вам либо массив из одного значения (когда есть только один диапазон), либо массив из 2 значений (когда их как минимум 2).

Вы можете использовать array_pad перед explode, чтобы добавить null к вашему массиву во второй индекс. Вы пробовали это, но использовали отрицательный индекс, что делает ваш массив [null, <first_range>] вместо [<first_range>, null].

Итак, измените свой код на этот:

list($range, $extra_ranges) = array_pad(explode(',', $range_orig, 2), 2, null);

Большое спасибо, ошибка исчезла с вашим кодом, но загрузка с хромом по-прежнему не удалась, и в файле журнала ошибок нет! Помогите, как найти проблему?

Reza FH 09.04.2019 22:38

@RezaFH Тогда это другая проблема, вы должны опубликовать еще один вопрос и быть как можно более конкретным в том, что вы пытались сделать.

Jeto 09.04.2019 22:47

Другие вопросы по теме