Haotik
@Haotik
PHP мидл без фреймворков

Как изменить наименоваание версии файла загруженную через форму?

Добрый день.
на сайте слетела система именования / версифицирования файлов которые пользователь грузит через формы.
Ранее работало как
Файл.png
Файл (1).png
Файл (2).png

Теперь же для кирилицы наименование выглядит вот так
Файл.png
Файл 19658965664.png //timestamp времени загрузки файла

чуть нагляднее что именно случилось
6537ac5c2aa0e336840979.png
И это очень не удобно в работе.
Я копал сами модули, копал события и как я понял идет подмена загружаемого файла на его версию у которой уже такие правила наименования.

Саму причину сбоя нашли, но решение требуется из кода

я пробовал вот таким образом подцепится к событию, но файл обновить не поулчается

$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler('disk', 'onAfterAddFile', function (\Bitrix\Main\Event $event)
{
    global $USER;
    $parameters = $event->getParameters();

    if (!empty($parameters) && is_array($parameters)) {
        $file = reset($parameters);
        if ($file instanceof \Bitrix\Disk\File) {
            $file->rename('Тест.docx');
            $file->updateContent($file->getFile(), $USER->GetID());
        }
    }
});
  • Вопрос задан
  • 59 просмотров
Решения вопроса 1
Haotik
@Haotik Автор вопроса
PHP мидл без фреймворков
Нашел решение.
по самому модулю вызывается обработка действий по подписке
GetModuleEvents внутри которого вызывалось предустановленное событие для модуля диск.
Там уже дальше решил вопрос
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы