2014-01-10 2 views
0

Я новичок в CakePHP, пытаясь загружать файлы и move_uploaded_file всегда возвращает false. Вот мой код:CakePHP move_uploaded_file возвращает false

EDIT: первая линия, что было неправильным

// This line was wrong, should be done after uploading. 
$this->request->data['Post']['image'] = $this->request->data['Post']['image']['name'] 


if($this->Post->save($this->request->data)) { 
    $filename = basename($this->request->data['Post']['image']['name']); 
    $filePath = WWW_ROOT . DS . 'files' . DS . $filename; 

    if(move_uploaded_file(
     $this->request->data['Post']['image']['tmp_name'], 
     $filePath 
    )) 
     $this->Session->setFlash(__('Your post has been saved')); 

    else 
     $this->Session->setFlash(__('Your post has been saved, but image failed')); 
} 

Почему это не работает?

+0

См. Это http://stackoverflow.com/a/20989968/1239506, это может помочь вам –

ответ

0

Решено. Я устанавливал имя изображения перед загрузкой, кажется, что это должно быть сделано после загрузки файла.

//move_uploaded_file() stuff... 

$this->request->data['Post']['image'] = $filename; 

if($this->Post->save($this->request->data)) { //... 
Смежные вопросы