Передан пустой файл (Minishop2 - галерея)

Добрый день, может кто сталкивался с такой историей…
Установил minishop2 на свежий, только что установленный modx. пытаюсь загрузить фотографию в товар, вылазит ошибка: «Передан пустой файл» и ничего не загружается. С чем может быть связано? Изначально думал на права доступа к каталогу, проверил — все хорошо.
Спасибо!


Павел
20 июля 2016, 07:23
modx.pro
3 194
+1

Комментарии: 7

Василий Наумкин
20 июля 2016, 11:41
+2
Говорят, на некоторых хостингах и версии PHP 5.3 такое бывает. Я это повторить не смог.
    Павел
    20 июля 2016, 13:23
    0
    Спасибо, Василий. Действительно, поменял версию php на 7 и все заработало. Спасибо!
      ck
      ck
      04 октября 2016, 11:17
      0
      Василий поправил этот баг для PHP 5.3 в обновлённой версии miniShop2.
    Alexey
    23 октября 2016, 13:59
    0
    Возникла подобная проблема в php7.
    С php5.6 проблема ушла.

    UPD/
    Проверил и выяснилось что на php7 не работает и простая загрузка картинок через менеджер. Может дело вовсе не в Minishop2
      Denis
      18 января 2019, 12:54
      0
      Столкнулся с этой проблемой.
      core/components/minishop2/processors/mgr/gallery/upload.class.php
      функция handleFile()
      При формировании имени временного файла используется константа MODX_BASE_PATH, в результате временный файл создается в корневом каталоге, который у меня защищен от записи. Изменил константу на MODX_ASSETS_PATH, по идее так правильнее

      $tf = tempnam(MODX_ASSETS_PATH, 'ms_');
        Иван
        07 мая 2020, 23:55
        1
        0
        Уважаемые коллеги!
        Столкнулся с проблемой в случае использования облачных источников (Swift или Amazon S3, с файловой системой работает исправно).
        Окружение: PHP 7.3.12; ModX 2.7.3; Minishop2 2.5.0

        Изучение вопроса привело к следующему заключению:
        функция handleFile() [файл: core/components/minishop2/processors/mgr/gallery/upload.class.php]

        Обработчик не попадает ни в одну из веток, т.к. переменные $_FILES и $this->getProperty('file') всегда пустые:
        if (!empty($_FILES['file']) && is_uploaded_file($_FILES['file']['tmp_name'])) {
                    ....
                } else {
                    $file = $this->getProperty('file');
                    if (!empty($file) && (strpos($file, '://') !== false || file_exists($file))) {
                       ....
                        }
                }
        Есть ощущение что проблема кроется где-то на фронте, но к сожалению в ExtJS не силён.
        Подскажите, пожалуйста, в какую сторону копать?
        Заранее благодарю за ваше время и помощь.
          Юрий
          12 ноября 2024, 07:41
          0
          Если используете ispmanager, отключите параметр open_basedir
            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
            7