cakephp2 MeioUpload 图片上传简单应用

cakephp2之前 图片的上传用MeioUpload Behavior   之后cakephp2.x使用 upload plugin 实现,该链接https://github.com/josegonzalez/upload就其应用作了详细说明;本人就其简单应用做介绍;

   在制作网站时,想让图片上传管理成单独模块,而不是upload plugin上举例的附加在其他控制器之上,所以建立了单独的MVC,可上传图片,参看上传图片,通过删除数据库中记录实现图像的删除(但对应产生的目录删除不掉)其默认产生路径如:files/模型名/字段名(存储文件名)/目录名(自动产生的ID一致)/abc.jpg  其关键实现点如下:

1

2.

配置app/Config/bootstrap.php 文件

CakePlugin::load('Upload');CakePlugin::loadAll();

3.创建如下数据库CREATE table users ( `id` int(10) unsigned NOT NULL auto_increment, `username` varchar(20) NOT NULL, `photo` varchar(255) DEFAULT NULL, `photo_dir` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`));如无photo_dir字段不能完成图片的删除

4.利用CAKE bake命令 产生对应的MVC 在创建VC时创建为管理员模式(admin_index.ctp等)

5.在模型中设置如下:<?phpclass User extends AppModel { public $actsAs = array( 'Upload.Upload' => array( 'photo' => array( 'fields' => array( 'dir' => 'photo_dir' ) ) ) );}

6.修改VIEW中admin_add.ctp 删除自动产生记录添加,变为

<?php echo $this->Form->create('User', array('type' => 'file')); ?>

<?php echo $this->Form->input('User.username'); ?>

<?php echo $this->Form->input('User.photo', array('type' => 'file')); ?>

<?php echo $this->Form->input('User.photo_dir', array('type' => 'hidden')); ?>

<?php echo $this->Form->end(); ?>

7.删除VIEW中edit.cpt  修改admin_view.ctp     添加<img src="<? echo '/files/users/photo/'.$user['user'][''photo_dir'].'/'.$user['user']['photo'];?>" alt="" /> 可查看上传的图片

8.删除对应记录,上传的图片也会删除,但'photo_dir'所指定的目录不删除,如果上传,或删除多个文件,冗余的目录太多好,但删除文件其实通过目录控制,又不能不用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值