2012-05-08 10 views
0

Upload Pluginを使用してください。ファイルを上書きする前に既存のファイルがチェックされていないように見えるので、foreign_keyフォルダ内のファイルをランダムに「保証」するようアップロードします。アップロードプラグイン - パスを上書きする方法

私のような何かにアップロードするファイルたい:私は'pathMethod'=>'random'を設定すると

/webroot/uploads/02/88/06/4f93676e-347c-4e0c-8e6c-0a3cadcd7f7c/my_photo.jpg 

を、私は3乱数(0〜100の間)フォルダを取得するが、私は主を得ることはありませんキーフォルダ。

または、 'pathMethod' => 'primaryKey'を設定すると、プライマリキーフォルダが取得されますが、乱数は取得されません。 (それはそれがために何だかどうかわからない)Upload behavior of the plugin

は、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'), 
     ), 
    ) 
); 

答えて

0

私はこれを先日使用しました。最初のように見えますが、どちらか一方しか得ることはできませんが、両方を得ることはできません。私はuploadSettings()関数が動作していないわからないんだけど、私はこのようにそれを使用して試してみた:

$this->Upload->uploadSettings('Upload', 'photo', 'path', '{ROOT}webroot{DS}uploads{DS}test{DS}ArticleData{DS}{field}'); 

配列と非配列を受け入れているようだが、それは正しく配列を受け入れていない可能性があり、そうしてみてくださいそれはこの方法です。

また、達成しようとしていることについては、外部キーに言及しただけでなく、主キーについても言及しました。私はこれが外部キーを使用するためのサポートを持っているとは思わないが、UUIDとしてアップロードエントリのプライマリキーを使用している場合、それはうまくいくはずです。しかし、外部キーを使用しようとしている場合は、パス設定とrootDir設定の組み合わせを調べてください。

関連する問題