アップロードした添付ファイルの削除

Events happening in the community are now at Drupal community events on www.drupal.org.
axc_cnt's picture

アップロードした添付ファイルの削除について質問です。

・Drupal6.30を使用しています。
・ファイルシステムのパスは以下のように設定しています
/sites/<プライベートサイト>/files

ページ作成時などに、アップロードして添付したファイルは
上記のfilesフォルダ直下に格納されています。
ページの編集などにより、添付ファイルを削除します。
この操作により、削除した添付ファイルはページとは切り離されますが
ファイル自体はfilesフォルダに残っています。
cronで削除されるのかと思いましたが
filesテーブルを確認すると、statusがFILE_STATUS_PERMANENTであるため
削除はされないようです。

アップロードしたファイルはリンクがなくっても残るのが仕様なのでしょうか?
ご教授よろしくお願いします。

Comments

ファイルの貼付方法によりますね。

qchan's picture

ノード削除時の挙動はファイルの貼付方法によります。
どういう方法でファイルを添付されているかを少し詳しく教えてもらえますか?

また、現行のDrupal7では標準でファイルフィールドを扱えて
問題もないと思いますが、近い将来EOLを迎えるDrupal6を
使う必要があるということでしょうか。

ファイルの貼り付け方法

axc_cnt's picture

早速のご回答ありがとうございます。
すみません、説明不足でした。
ファイルの添付は、module/uploadで行っています。

ノードを削除した場合は一緒にファイルも削除されているようですが
ノードの更新で、添付ファイルのみ削除した場合はファイルが残ります。
このアップロード方法であれば、仕様通りの挙動になるのでしょうか?

Drupal7以降へのバージョンアップも今後検討が必要と考えています。

Drupalのノードには更新の度にrevision

blauerberg's picture

Drupalのノードには更新の度にrevision idが付与されます。
また、誤って更新した場合などに、古いrevisionにrevertする機能が
コアの標準機能として提供されています。

つまり、ノードから添付ファイルを削除してノードを保存(ノード自体は削除しない)した場合、
その添付ファイルは、古いrevisionにrevertされた場合に再度利用される可能性があります。

そのため、ノード自体が削除されない限り添付ファイルの実体は削除しない仕様になっています
(いたはず..)

この動きはDrupal 7でも同じです(同じなはず..)

revisionっぽいですね。

qchan's picture

blauerberg さんの指摘どおりRevisionの動作っぽいですね。
これは正常な動きです。
D7, D6で試してみましたがNode自体は存在しても
ファイルが添付されているリビジョンがすべて削除されたら、ファイルはなくなっています。

D6のCCK filefieldではファイル自体が削除されないバグが
あったように記憶していますが、ここでは問題なさそうですね。

revision

axc_cnt's picture

blauerberg さん
qchan さん
ご返答ありがとうございます。

ノードが削除されなければ再利用の可能性があるのですね。
確かにrevisionを戻せば添付ファイルも再利用されますね。
仕様が分かって良かったです。
ありがとうございました。

日本 コミュニティ: Drupal Japan User Group

Group organizers

Group categories

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: