Когда мы загружаем файл на сервер через движок дле у нас получаеться идут цифры чёрточка потом аж название файла , вот от этого мы и будем избавляться. Этот
хак будет делать чуть по другому , если на сервере нет файла тогда он
не пропускает файл, если уже есть файл с таким названием тогда к нему
добавить 1,2,3,4.Например: Dle.jpg , Dle1.jgp и так далее...
Ставим данный хак , для этого открываем эти файлы в движке DLE: ./engine/ajax/upload.php ./engine/inc/files.php
Открываем файл ./engine/ajax/upload.php, Находим код:$file_prefix = time() + rand( 1, 100 ); $file_prefix .= "_"; и убераем его!
Далее находим:$image_name = totranslit( implode( ".", $img_name_arr ) ) . "." . $type; И заменяем на:$image_name = totranslit( implode( ".", $img_name_arr ) );
$file_prefix = ''; $number = '';
while ( file_exists( $config_path_image_upload . $image_name . $number . '.' . $type ) ) { $number = $number+1; }
$image_name = $image_name . $number . '.' . $type; В файле ./engine/inc/files.php проделываем все то же самое! Данная строка в файле ./engine/inc/files.php встретится 2 раза, поэтому заменяйте её везде!
Следующие изменения проделываем только в файле ./engine/inc/files.php: Ищем:if( $serverfile == '' ) { И перед этим кодом вставляем:$img_name_arr = explode( ".", $image_name ); $type = end( $img_name_arr ); $curr_key = key( $img_name_arr ); unset( $img_name_arr[$curr_key] ); $image_name = implode( ".", $img_name_arr ); $file_prefix = ''; $number = ''; while ( file_exists( ROOT_DIR . "/uploads/files/" . $image_name . $number . '.' . $type ) ) { $number = $number+1; } $image_name = $image_name . $number . '.' . $type; Готовые файлы для DLE 8.5:
|