[Решено] Как удалить загруженный файл из дирректории и БД Друпала?

Главные вкладки

Аватар пользователя Lavio Lavio 8 ноября 2012 в 11:07

Есть папка /sites/default/files/udl_files куда загружаются файлы командой

<?php
file_save_upload
('file'$validators'public://udl_files')
?>

Каким образом можно удалить файл из системы? Я так понял нужны 2 команды. Одна удаляет файл физически, другая из БД. Сам файл можно удалить

<?php
unlink
(адрес_файла);
?>

Как быть с БД? В какой именно таблице и какие записи чистить?
Или есть стандартная команда Друпала, которая выполняет оба действия - удаляет файл и чистит БД?

Комментарии

Аватар пользователя natbampo natbampo 8 ноября 2012 в 16:29

"Lavio" wrote:
Круто, ссылка на мануал и исходный код самой функции...

другой документации к друпалу нет Wink
"Lavio" wrote:
Мне нужно пример ее использования, там ни чего не понятно.

На той странице есть примеры: 9 calls to file_delete

Аватар пользователя Lavio Lavio 8 ноября 2012 в 16:51

natbampo wrote:

другой документации к друпалу нет Wink
На той странице есть примеры: 9 calls to file_delete

Я уже методом тыка разобрался, но в любом случае спасибо.

Аватар пользователя Lavio Lavio 9 ноября 2012 в 6:06

Ampleev wrote:
Решение в студию! Актуально!

Команда

<?php
file_delete
($file$force)
?>

где
$file файл к удалению в виде объекта.
$force на сколько я понял, при варианте TRUE будет учитывать используется ли удаляемый файл другими модулями, и если это так то удаление отменяется. При варианте FALSE такой проверки нет.

Quote:
If the $force parameter is not TRUE, file_usage_list() will be called to determine if the file is being used by any modules. If the file is being used the delete will be canceled.

P.S. Данная функция удаляет только один файл, есть ли вариант с удалением нескольких?