upload de arquivo no cakephp 2.3
Eu sou novo no cakephp e eu estou tentando criar um arquivo simples de upload com o cakephp 2.3 aqui é o meu controlador
public function add() {
if ($this->request->is('post')) {
$this->Post->create();
$filename = WWW_ROOT. DS . 'documents'.DS.$this->data['posts']['doc_file']['name'];
move_uploaded_file($this->data['posts']['doc_file']['tmp_name'],$filename);
if ($this->Post->save($this->request->data)) {
$this->Session->setFlash('Your post has been saved.');
$this->redirect(array('action' => 'index'));
} else {
$this->Session->setFlash('Unable to add your post.');
}
}
}
e meu add.ctp
echo $this->Form->create('Post');
echo $this->Form->input('firstname');
echo $this->Form->input('lastname');
echo $this->Form->input('keywords');
echo $this->Form->create('Post', array( 'type' => 'file'));
echo $this->Form->input('doc_file',array( 'type' => 'file'));
echo $this->Form->end('Submit')
Ele salva nome, sobrenome, palavras-chave e o nome do arquivo no banco de dados, mas o arquivo que eu quero salvar em app / webroot / documentos não está salvando, alguém pode ajudar? obrigado
Atualizar
thaJeztah eu fiz como vc disse, mas dá alguns erros aqui é controlador, se eu não estou errado
public function add() {
if ($this->request->is('post')) {
$this->Post->create();
$filename = WWW_ROOT. DS . 'documents'.DS.$this->request->data['Post']['doc_file']['name'];
move_uploaded_file($this->data['posts']['doc_file']['tmp_name'],$filename);
if ($this->Post->save($this->request->data)) {
$this->Session->setFlash('Your post has been saved.');
$this->redirect(array('action' => 'index'));
} else {
$this->Session->setFlash('Unable to add your post.');
}
}
}
e meu add.ctp
echo $this->Form->create('Post', array( 'type' => 'file'));
echo $this->Form->input('firstname'); echo $this->Form->input('lastname');
echo $this->Form->input('keywords');
echo $this->Form->input('doc_file',array( 'type' => 'file'));
echo $this->Form->end('Submit')
e os erros são
Aviso (8): Matriz para conversão de cadeia [CORE \ Cake \ Model \ Datasource \ DboSource.php, linha 1005]
Erro de banco de dados Erro: SQLSTATE [42S22]: Coluna não encontrada: 1054 Coluna desconhecida 'Array' na 'lista de campos'
Consulta SQL: INSERT INTO first.posts (nome, sobrenome, palavras-chave, arquivo_doc) VALUES ('dfg', 'cbhcfb', 'dfdbd', Array)
e Victor eu fiz sua versão também, não funciona também.