Вы здесь

Некий нумератор имени загружаемого файла?

0

Добрый день, возникла потребность, а именно можно ли в типе поля у поля допустим Image настроить так, чтобы он каждый загружаемый файл переименовал по моим требованиям, а точнее мне вообще нужно чтобы он давал им имена:

image00000001.jpg
image00000002.jpg
image00000003.jpg
image00000004.jpg
image00000005.jpg
...

т.е. инкрементно

Версия Drupal: 
7.x
Категория: 
File API
Вопрос задан 11.10.2015 - 12:06

Ответы

3

filefield_paths поможет вам для этого поля создать шаблон не только пути, но и имени файла. там будут предложены токены.
в вашем случае шаблон будет таким:
image[file:fid].[file:extension]
на счет количества цифр в id надо будет думать

Ответ дан 11.10.2015 - 12:36

fid можно поднять в БД до 100000000 (сколько нужно нулей). Будет начинаться не с нуля а с 1 только счет

Комментарий оставлен 11.10.2015 - 13:12
1

Можно воспользоваться функцией file_move в hook_file_insert

function MYMODULE_file_insert($file) {
  $new_file= 'public://image' . numberFormat($file->fid, 8) . '.' . pathinfo($file->filename, PATHINFO_EXTENSION);
   file_move($file, $new_file, 'FILE_EXIST_REPLACE');
}

function numberFormat($digit, $width) {
    while(strlen($digit) < $width)
      $digit = '0' . $digit;
      return $digit;
}
?>
Ответ дан 11.10.2015 - 13:11
Аватар пользователя shu
shu
178