ユーザーが新しいバージョンをアップロードした場合、同じ名前の既存のファイルを強制的に置き換えようとしています。私はこのトピックに関する多くの投稿を見てきましたが、強制的に置換する方法を見つけることができたものはありません。
私はカスタムフォームを使用しており、フォームの検証中に機能させようとしてきたコードは次のとおりです。
$file = file_save_upload(
'file',
array(
'file_validate_is_document' => array(), // Validates file is really a document.
'file_validate_extensions' => array('pdf doc ppt pps avi mpg mov wmv'), // Validate extensions.
),
'public://',
FILE_EXISTS_REPLACE
);
改訂されたファイル(「file.jpg」としましょう)がアップロードされますが、Drupalは必然的に新しいコピーを作成し、新しいバージョンごとにfile_0.jpg、file_1.jpgなどの名前に変更します。
アップロードをコミットする前に "file_delete"を使用してプログラムで元のファイルを削除しようとしましたが、まだコピーを取得しています!
任意の助けいただければ幸いです。