• 冬奥观察:奥林匹克在“云”间 2018-02-20
  •  “不打烊”不等于“全配送” 快递如何保障春节网购 2018-02-20
  • 开创生态文明新时代 绘出美丽中国新图景 2018-02-20
  • 人民网驻阿尔及利亚记者报道集 2018-02-19
  • 党务问答:党组与党委有何区别? 2018-02-19
  • MINI车联网服务3月起升级至4G网络 增加新功能 2018-02-18
  • 以色列警方:已有足够的证据可以用于起诉以总理 2018-02-18
  • 冬奥会短节目第四 金博洋:伤病令我更强大 2018-02-18
  • 天津市北辰区委书记冯卫华:强化政治担当 把主体责任落实落细 2018-02-17
  • 正月初一客流继续回落 全国铁路预计发送旅客389万人次 2018-02-17
  • 送别余光中:诗人虽远行,乡愁永流传 2018-02-17
  • 集团原董事长违纪被查 人员伤亡事故频发 湖北宜化:去年亏损额超过公司市值 2018-02-17
  • 图片故事:“六个人”的火车站 2018-02-16
  • 【马来西亚房产】雅诗阁之星十年包租可续租! ——凤凰网房产马来西亚 2018-02-16
  • 大量顺差在中国,多数利润归美国 2018-02-16
  • codeigniter框架 flash头像上传裁剪功能

    栏目: CI 发布于: 2013-09-29 13:23:34

    前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 colspan="2">
    		<script type="text/javascript">
    			function uploadevent(status){
    				status += '';
    				switch(status){
    					case '1':
    						break;
    					case '-1':
    						window.location.reload();
    						break;
    					default:
    						window.location.reload();
    				}
    			}
    		</script>
    		<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
    				codebase="http://www.rocksun.cn/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"
    				WIDTH="650" HEIGHT="450" id="myMovieName">
    			<PARAM NAME=movie VALUE="<?php echo base_url();?>user/views/userinfo/avatar.swf">
    			<PARAM NAME=quality VALUE=high>
    			<PARAM NAME=bgcolor VALUE=#FFFFFF>
    			<param name="flashvars" value="imgUrl=<?php echo $image_path;?>/default.gif&uploadUrl=<?php echo base_url();?>userinfo/doavatar/&uploadSrc=false&showCame=true&pCut=162|162&pSize=162|162|48|48|30|30" />
    			<EMBED src="<?php echo base_url();?>user/views/userinfo/avatar.swf" quality=high bgcolor=#FFFFFF WIDTH="650" HEIGHT="450" wmode="transparent" flashVars="imgUrl=<?php echo $image_path;?>/default.gif&uploadUrl=<?php echo base_url();?>userinfo/doavatar/&uploadSrc=false&showCame=true&pCut=162|162&pSize=162|162|48|48|30|30"
    				   NAME="myMovieName" ALIGN="" TYPE="application/x-shockwave-flash" allowScriptAccess="always"
    				   PLUGINSPAGE="http://www.rocksun.cn/go/getflashplayer">
    			</EMBED>
    		</OBJECT>
    	</td>
    </tr>
    当然这里少不了组件的核心部分:crossdomain.xml、avatar.swf、default.jpg这3个文件。

    自己可以根据实际需要对上传文件做些安全等方面的处理。

    贴个自己项目中的效果图:

    CodeIgniter flash头像上传组件


    本站文章除注明转载外,均为本站原创或编译?;队魏涡问降淖?,但请务必注明出处。
    转载请注明:文章转载自 七星彩票平台
    本文标题:codeigniter框架 flash头像上传裁剪功能
    IT技术书籍推荐:
    白帽子讲Web安全(纪念版)
    白帽子讲Web安全(纪念版)
    吴翰清 (作者)
    《白帽子讲Web安全(纪念版)》内容简介:在互联网时代,数据安全与个人隐私受到了前所未有的挑战,各种新奇的攻击技术层出不穷。如何才能更好地?;の颐堑氖??本书将带你走进Web安全的世界,让你了解Web安全的方方面面。黑客不再变得神秘,攻击技术原来我也可以会,小网站主自己也能找到正确的安全道路。大公司是怎么做安全的,为什么要选择这样的方案呢?你能在本书中找到答案。详细的剖析,让你不仅能“知其然”,更能“知其所以然”。