cakePHP2.xでこの機能あるのかな?ちょっとざっと調べてみた。(ファイルアップロードの続き・・ファイルのリネイム)
機能作成した、ファイルアップロードだが、やはり日本語ファイルの場合問題が生じるので、その部分を修正した。
それに伴ってカラム名も一部修正「photo」→「photo0」に修正。
コントローラーのadd()を以下のように修正した。
かなり泥臭い、記述になっております。関数かclassにでもした方がいいかな。
public function add() { if ($this->request->is('post')) { $num = 0; foreach($this->request->data['User'] as $postData => $postDataValue){ $filemane = 'photo'.$num; if($postData== $filemane){ if($postDataValue !== ""){ if($postDataValue['name'] !== ""){ mb_regex_encoding("Shift_jis"); if(mb_ereg("^[a-zA-Z0-9 -/:-@\[-\`\{-\~]+$", $postDataValue['name']) != 1){ $nameArray = explode('.',$postDataValue['name']); $nameLast = array_pop($nameArray); $this->request->data['User'][$filemane]['name'] = 'img'.date("Ymd_Hms").'-'.$num.'.'.$nameLast; } } } $num++; } } if ($this->User->save($this->request->data)) { $this->Session->setFlash(__('登録しました。')); } else { $this->Session->setFlash(__('不備があります。')); } } }
リネイムはこの場合適当に処理時間で名前つけちゃってます。
ふい、とりあえずこんなところでよしにするか・・・。