Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Как изменить префикс у загружаемого файла?

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


     07.11.2022    префикс    Все вопросы » Общие вопросы по PHP    459

вопрос
Пользователи загружают много картинок на сайт, бывает так что названия картинок совпадают, и если они быстро загружаются то они перезаписывают друг друга.
Чтобы решить эту проблему в дле 14.2 у загружаемых картинок я изменял префикс, по умолчанию туда добавлялась только временная метка, а я ещё добавил туда rand( 1, 999 ) . uniqid()

Вот так:
$file_prefix = time() . rand( 1, 999 ) . uniqid();

Но в дле 15.2 почему-то это не работает, кто знает почему?

В файле engine/classes/uploads/upload.class.php заменяю это

$file_prefix = time()."_";

На это

$file_prefix = time() . rand( 1, 999 ) . uniqid();

Ответа пока нет


4 комментария

lutskboy
Эксперт

lutskboy - 7 ноября 2022 14:19 -

в engine\classes\thumb.class.php функция save
там есть
$file_name = time()."_".$file_name;

$file_name = time().'.'.$this->format;

Snake
Юзер

Snake - 9 ноября 2022 10:53 -

Спасибо, это помогло.
Странно только, почему-то раньше я менял в файле engine/classes/uploads/upload.class.php и всё норм работало.
Как же достали разрабы дле постоянно что-то менять в коде.

dj-avtosh
PHP-developer

dj-avtosh - 9 ноября 2022 11:45 -

а можно еще
time()
заменить на
filter_var(microtime(true), FILTER_SANITIZE_NUMBER_INT)

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

TeraMoune
Эксперт

TeraMoune - 7 ноября 2022 19:59 -

в последних версиях префикс добавляется если другой файл с таким же именем уже существует. При первой загрузке ничего не будет и имя файла будет без префикса.

Тестовый репозиторий установки плагинов: teramoune

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

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

наверх