在上传概念时无法将文件名上传到db

时间:2013-08-01 05:57:36

标签: cakephp

在我的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');
?>

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

1 个答案:

答案 0 :(得分:0)

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

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