При загрузке любого файла на сайт DLE добавляет префикс к файлу в формате unixtime (например 1266540926_yandex.jpg).
Данный хак позволяет не только убрать префикс перед именем файла, а так же будет проверять существует ли файл с таким же именем в этой же папке и в этом случае добавит к нему суффикс 1,2,3 и т.д.
Например: yandex.jpg, yandex1.jpg, yandex2.jpg
В блоге WordPress суффиксы к имени файла добавляются таким же образом.
Ставится данный хак очень просто, для этого потребуется отредактировать следующие файлы:
./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;
UPD: Скачать готовые файлы для DLE 8.5:
Вы не можете скачивать файлы с нашего сервера