我正在尝试使用cakephp-upload插件2.0(迄今为止的最新版本)上传图像并保存它们。这是我的数据库表:
CREATE TABLE IF NOT EXISTS 'photos' (
'id' int(11) NOT NULL AUTO_INCREMENT,
'image' varchar(100) NOT NULL,
'imgpath' varchar(100) NOT NULL,
'album_id' int(11) NOT NULL,
'created' datetime DEFAULT NULL,
'modified' datetime DEFAULT NULL,
PRIMARY KEY ('id'),
KEY 'idx_album_id' ('album_id')
) ENGINE=InnoDB;
这是模型文件。 (Photo.php)
public $actsAs = array(
'Upload.Upload' => array(
'image' => array(
'fields' => array(
'dir' => 'imgpath'
)
)
)
);
最后,这是我的观点。
<?php echo $this->Form->create('Photo'); ?>
<fieldset>
<legend><?php echo __('Add Photo'); ?></legend>
<?php
echo $this->Form->input('image', array('type' => 'file'));
echo $this->Form->input('imgpath');
echo $this->Form->input('album_id');
?>
</fieldset>
<?php echo $this->Form->end(__('Submit')); ?>
我已阅读instructions,但静止图片无法保存到webroot / files / ... 我在Windows 7中使用cakephp 2.4.7和php 5.4。我没有安装Imagick,因为WAMP 2.2启用了GD2。
我还应该做些什么呢?
答案 0 :(得分:0)
更新评论以正式回答这个问题---
更改
echo $this->Form->create('Photo');
至echo $this->Form->create('Photo', array('type' => 'file'));
和
echo $this->Form->input('imgpath');
至echo $this->Form->input('imgpath', array('type' => 'hidden'));