przesyłanie plików w cakephp 2.3
Jestem nowy w cakephp i próbuję stworzyć proste przesyłanie plików z cakephp 2.3 tutaj jest moim kontrolerem
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.');
}
}
}
i mój 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')
zapisuje imię, nazwisko, słowa kluczowe i nazwę pliku w DB, ale plik, który chcę zapisać w aplikacji / webroot / dokumentach nie zapisuje, czy ktoś może pomóc? Dzięki
Aktualizacja
thaJeztah zrobiłam tak, jak powiedziałeś, ale tutaj są pewne błędy, to kontroler, jeśli się nie mylę
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.');
}
}
}
i mój 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')
a błędy są
Uwaga (8): Konwersja tablicy na łańcuch [CORE Model pliku Źródło DboSource.php, wiersz 1005]
Błąd bazy danych Błąd: SQLSTATE [42S22]: Nie znaleziono kolumny: 1054 Nieznana kolumna „Tablica” w „liście pól”
Zapytanie SQL: INSERT INTO first.posts (imię, nazwisko, słowa kluczowe, plik_ doc) VALUES ('dfg', 'cbhcfb', 'dfdbd', Array)
a Victor i zrobił twoją wersję, to też nie działa.