アップロードプラグインの使用。ファイルを上書きする前に既存のファイルをチェックしていないように見えるため、foreign_keyフォルダー内のファイルをランダムに「保証」するようにアップロードしたいと思います。
次のようなファイルにアップロードしたいのですが。
/webroot/uploads/02/88/06/4f93676e-347c-4e0c-8e6c-0a3cadcd7f7c/my_photo.jpg
を設定すると'pathMethod'=>'random'
、3つの乱数(0〜100の間)のフォルダーが取得されますが、主キーフォルダーは取得されません。
または、「pathMethod」=>「primaryKey」を設定すると、主キーフォルダーは取得されますが、乱数は取得されません。
プラグインのアップロード動作には関数がありますがuploadSettings
(それが目的かどうかはわかりません)、コントローラーを介して実行しようとすると、何も実行されません。
//ArticleDatasController
$this->Upload->uploadSettings('Upload', 'photo', array('path'=> '{ROOT}webroot{DS}uploads{DS}test{DS}ArticleData{DS}{field}'));
if($this->Upload->save($this->request->data)) {
これが私のアップロードモデルの$actsAsです:
//Upload model
public $actsAs = array(
'Upload.Upload' => array(
'photo' => array(
'thumbnailSizes' => array(
'xvga' => '1024x768',
'vga' => '640x480',
'thumb' => '80x80',
),
'thumbnailMethod' => 'php',
'thumbnailQuality' => '80',
'pathMethod'=>'random',
'path' => '{ROOT}webroot{DS}uploads{DS}{field}{DS}',
'maxSize' => '5242880', //5MB
'mimetypes' => array('image/jpeg', 'image/png', 'image/gif', 'image/bmp'),
'extensions' => array('jpg', 'gif', 'png', 'bmp'),
),
)
);