仿新浪微博头像上传(适用于TP3.1.X及以上)

jerry thinkphp 2015年11月19日 收藏
仿新浪微博上传头像组件,用ajax效果更好

仿新浪微博头像上传,支持本地图片拖动裁剪并时时预览,调用本地摄像头拍照并支持拖动裁剪,支持自定义亮度,对比度,饱和度,支持头像放大缩小,左右旋转。可以自定义上传目录以及图片后缀。采用ajax返回头像上传途径已经上传状态。完美兼容火狐,IE浏览器。组件下载地址http://www.gouguoyin.cn/php/29.htm,使用过程中有任何疑问请咨询QQ:245629560。

模板页代码
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml"><head>

  3.   <script type="text/javascript">
  4.    function uploadevent(status,picUrl,callbackdata){
  5.         var time = new Date().getTime();
  6.         var filename162 = picUrl+'_162.jpg';
  7.         var filename48 = picUrl+'_48.jpg';
  8.         var filename20 = picUrl+"_20.jpg";
  9.         window.location.href="__APP__/member/do_avatar_edit?url="+filename162;
  10.     
  11.    }
  12.   </script>
  13. </head>
  14. <body>


  15. <div  class="main">


  16. <!--一定要注意PARAM里面的路径-->
  17. <OBJECT  classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
  18. codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"
  19. WIDTH="650" HEIGHT="450" id="myMovieName">
  20. <PARAM NAME=movie VALUE="__PUBLIC__/flash/avatar.swf">
  21. <PARAM NAME=quality VALUE=high>
  22. <PARAM NAME=bgcolor VALUE=#FFFFFF>
  23. <param name="flashvars" value="imgUrl=__PUBLIC__/flash/default.jpg&uploadUrl=__PUBLIC__/flash/upfile.php&uploadSrc=ture" />
  24. <EMBED src="__PUBLIC__/flash/avatar.swf" quality=high bgcolor=#FFFFFF WIDTH="650" HEIGHT="450" wmode="transparent" flashVars="imgUrl=__PUBLIC__/flash/default.jpg&uploadUrl=__PUBLIC__/flash/upfile.php&uploadSrc=ture"
  25. NAME="myMovieName" ALIGN="" TYPE="application/x-shockwave-flash" allowScriptAccess="always"
  26. PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer">
  27. </EMBED>
  28. </OBJECT>

  29. </div>
  30. </body>
  31. </html>
控制器代码
  1. <?php
  2. // 会员模块
  3. class MemberAction extends Action {
  4.     //头像修改页面
  5.     public function avatar_edit(){
  6.         //验证是否登录
  7.         $this->islogin();
  8.         //显示模板
  9.         $this->display();
  10.     }
  11.     //处理头像修改方法
  12.     public function do_avatar_edit(){
  13.         $avatar=ltrim($_GET['url'],'../../');
  14.         $user_id=session('user_id');
  15.         
  16.         $user_info=M('User_info');
  17.         $data['user_avatar']=$avatar;
  18.         
  19.         $result=$user_info->where("user_id=$user_id")->save($data);
  20.         if($result === FALSE){
  21.             $this->error('头像修改失败!');
  22.         }elseif$result === 0){
  23.             $this->error('头像未做修改!');
  24.         }else{
  25.             $this->success('头像修改成功!');
  26.         }
  27.     }
  28. }