ファイルのアップロードの方法


cakephpでファイルのアップロードをする際の方法




add.ctp


・createのtypeを指定する
<?php echo $this->Form->create('Work',array('action'=>'add','type'=>'file'));?>

・inputにもtypeを指定する
echo $this->Form->input('data',array('type'=>'file'));



POSTで$this->data['コントローラー名']['data']という形でコントローラにデータが渡ります。

・HTTP POSTでアップロードされたファイルかどうか確認する
is_uploaded_file($this->data['コントローラー名']['data']['tmp_name'])

・ファイルを新しい場所に移動する
move_uploaded_file($this->data['コントローラー名']['data']['tmp_name'],"移動させたい場所")

※移動させたい場所のパーミッションがきちんとしてないとエラーになります