Как в Drupal 7 переименовать и переместить любой файл при закачке

Если читателю по каким-либо весомым для него причинам (к примеру люди дают неприемлемые с  N точек зрения наименования своим файлам) необходимо автоматическим способом стандартизировать / упорядочивать все имена загружаемых пользователями файлов, то сделать это можно с помощью следующего программного кода, который нужно добавить в ваш модуль:

<?php
/**
 * Объявляем HOOK_file_insert():
 */
function druwebru_file_insert($failik) {
    $hash = 'public://' . md5($failik->filename) . '.' . pathinfo($failik->filename, PATHINFO_EXTENSION);
    file_move($failik, $hash, 'FILE_EXIST_REPLACE');
}
?>

Обратите внимание на 6-ю строчку реализуемой мною функции-крючка под названием HOOK_file_insert(). Отныне любой закаченный файл будет перемещен в public-каталог (скорее всего это будет sites/default/files), а также переименован в что-то типа 8951dba439b1aa07c6886dcbc387ab32.png (в данном примере происходит обработка посредством вызова md5()).





© 2012-2014 Druweb.ru. Вы можете спокойно копировать любые материалы сайта только при наличии обратной ссылки.