在我的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。
答案 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