[CakePHP] MediaPluginの画像が削除できない件

数時間ハマってしまったので忘れないようにメモ。

開発中のサイトで画像が削除できないという症状が発生した。

削除ボタンを押しても「削除できませんでした」とメッセージが表示され、削除が失敗する。

デバッグモードを2にして、SQLを確認してみると、DELETEが発行されてない。

試しに新しい画像をアップして、それを削除してみると、問題なく削除できた。DELETEのSQLもバッチリ走ってる。

落ち着いて考えてみると、数日前までは全ての画像が問題なく削除できたのだ。

その間に何かやらかしたっけな・・・と思ったときに1つ思い出した。

数日前に、自分担当のシステムファイルとデザイナ担当のViewファイルをマージしたことを。

そしてこのシステムではMediaPluginを使っている。

で、/app/transfer/imgフォルダを確認したら、テストデータの画像がまるごとなくなってるじゃないディスカ。

/app/webroot/media/の中はしっかり移植されてるのに、transferフォルダが放置状態でした。

Mediaプラグインではどうやらtransferフォルダの中に元データを保管しており、

ファイル削除の命令がくると、transferフォルダ内を確認して該当ファイルを見つけ、

次にmediaフォルダ内にある各サイズの関連ファイルを削除するのではないだろうか。
(まったくソース読んでないけど、動作的にそうとしか思えない)

だからtransferフォルダにあるべきファイルが無いと、そこで処理が中断してしまうのでは・・・。(全部推測w)

Leave a Response