设为首页收藏本站
查看: 105|回复: 0

[PHP] codeigniter框架flash头像上传裁剪功能

[复制链接]

论坛元老

Rank: 6Rank: 6

积分
34274
主题
17031
UID
1347
M币
67
贡献
17176

  • 发表于 2013-12-26 17:14:00 | 显示全部楼层 |阅读模式
    前2天推荐了一个开源的flash头像上传组件,今天把这个组件加入到了codeigniter框架中。这个组件最大的特点就是使用方便,当然如果你要修改其中的某些功能的话,你可能需要联系插件作者进行定制了。
      下面介绍一下codeigniter框架部署这款flash头像上传组件的方法:
      1、控制器controllers
      

    //头像修改 public function avatar() { $result = $this->userinfo_model->get_user_base_info_by_uid($this->uid); $data = array(); $data['avatar'] = $this->default_avatar; if($result[0]->avatar != '') { $data['avatar'] = base_url() . "uploads/users/avatar/{$this->uid}/{$this->uid}_big.png"; } $this->view('userinfo/avatar', $data); } //头像处理 public function doavatar() { error_reporting(0); //设置头像保存目录 $webroot = $_SERVER['DOCUMENT_ROOT']; $save_path = "{$webroot}/uploads/users/avatar/{$this->uid}/"; if(!file_exists($save_path)) { mkdir($save_path, 0777, true); } $file_src = "src.png"; $filename162 = "{$save_path}{$this->uid}_big.png"; $filename48 = "{$save_path}{$this->uid}_middle.png"; $filename20 = "{$save_path}{$this->uid}_small.png"; $src = base64_decode($_POST['pic']); $pic1 = base64_decode($_POST['pic1']); $pic2 = base64_decode($_POST['pic2']); $pic3 = base64_decode($_POST['pic3']); if($src) { file_put_contents($file_src, $src); } file_put_contents($filename162, $pic1); file_put_contents($filename48, $pic2); file_put_contents($filename20, $pic3); $data = array(); $data['avatar'] = $this->uid; $result = $this->userinfo_model->update_user_by_uid($this->uid, $data); if($result) { $rs['status'] = 1; echo json_encode($rs); } }  2、视图views
      

      

    [tr] [td]   [/td] [/tr] 当然这里少不了组件的核心部分:crossdomain.xml、avatar.swf、default.jpg这3个文件。  

      自己可以根据实际需要对上传文件做些安全等方面的处理。
      贴个自己项目中的效果图:
      
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    在我站开通SVIP可同时获得17个站点VIP资源 立即登录 立即注册
    快速回复 返回顶部 返回列表