0

在我的 UsersController.php

public function uploadFile() 
{
        $filename = '';
        if ($this->request->is('post')) {


    $uploadData = $this->data['uploadFile']['image'];
            if ( $uploadData['size'] == 0 || $uploadData['error'] !== 0) {
                return false;
            }

            $filename = basename($uploadData['name']);

            if ($this->User->save($filename)) {
                $this->Session->setFlash(__('Your imagename has been saved.'));
            }

            $uploadFolder = WWW_ROOT. 'files';
            $filename = time() .'_'. $filename;
            $uploadPath =  $uploadFolder . DS . $filename;

            if( !file_exists($uploadFolder) ){
                mkdir($uploadFolder);
            }

            if (!move_uploaded_file($uploadData['tmp_name'], $uploadPath)) {
                //$this->set('pdf_path', $fileName);
                return false;
            } 
        }
    }   
}

在我的uploadfile.ctp

 <?php
  echo $this->Form->create('uploadFile', array( 'type' => 'file'));
  echo $this->Form->input('image', array('type' => 'file','label' => 'Pdf'));
  echo $this->Form->end('Upload file');
?>

在我的数据库中,我有表名“图像”以及其他一些字段。现在我无法将文件名上传到数据库中。

4

1 回答 1

0

如果您有一个名为“image”的表名,那么它应该与用户模型相关。$this->User->save($filename) 在 User 表中至少需要一个名为 'filename' 的表字段,并且需要通过 $this->User->id = $user_id; 将其分配给用户

如果您的图像表有一个与用户模型相关的图像模型,请阅读本书的“保存相关模型数据”一章http://book.cakephp.org/2.0/en/models/saving-your-data.html#保存相关模型数据hasone-hasmany-belongsto

于 2013-08-01T06:16:06.667 回答