Heim  >  Artikel  >  php教程  >  分享一个think结合美图秀秀的上传头像裁切代码实例

分享一个think结合美图秀秀的上传头像裁切代码实例

WBOY
WBOYOriginal
2016-06-07 11:43:571095Durchsuche

半夜睡不着,浏览官网,看到有提到美图秀秀插件的,没有找到有写好的,就实现了一下分享给大家,破处之作,欢迎大大们提建议!
半路中遇到一个问题,提示上传成功,但是目录里没有图片,纠结烦恼了好久才发现已经是第二天了,过了凌晨又自动建下一个日期目录了......那叫相当一个蛋疼啊!
分享一个think结合美图秀秀的上传头像裁切代码实例
首先把附件下载下来,然后把 crossdomain.xml 文件放到保存图片的服务器上根目录下,例如您的保存图片的服务器地址为: http://www.nianrenba.com,那么 crossdomain.xml 的路径为:http://www.nianrenba.com/crossdomain.xml 。
部署 crossdomain.xml 的目的是授权来自美图秀秀的flash向您的站点上传图片
视图代码(一定要放在

之间):<script></script><br>     <script><br /> window.onload=function(){<br /> xiuxiu.embedSWF("altContent",5,"630px","440px");<br /> /*第1个参数是加载编辑器div容器,第2个参数是编辑器类型,第3个参数是div容器宽,第4个参数是div容器高*/<br /> xiuxiu.setUploadURL("http://www.nianrenba.com/Member/meichuan");//修改为上传接收图片程序地址<br /> xiuxiu.onInit = function ()<br /> {<br /> xiuxiu.loadPhoto("http://www.nianrenba.com/Public/Uploads/avatars/meitu.jpg");//修改为要处理的图片url<br /> }<br /> xiuxiu.onUploadResponse = function (data)<br /> {<br /> if(data == "上传头像成功!"){<br /> window.location="<{:U('person/'.$_SESSION['uid'])}>";<br /> }else{<br /> alert(data);<br /> }<br /> }<br /> }<br /> </script><br> 控制器代码: //上传头像美图秀秀<br>     public function mei(){<br>         $this->display();<br>     }<br>     //得到一个数据库中不存在的记录了<br>     public function check($save_path){<br>         $uniqid = uniqid();<br>         //判断数据库中是否已经有此记录了<br>         $mem = M('Member');<br>         $filename = substr($save_path . '/' . $uniqid . '.jpg',25);<br>         $n = $mem->where(array('avatar'=>$filename))->count();<br>         if($n != false){<br>             return $this->check($save_path);<br>         }else{<br>             return $filename;<br>         }<br> <br>     }<br>     //上传到空间<br>     public function meichuan(){<br>             $post_input = 'php://input';<br>             $save_path = './Public/Uploads/avatars/'.date('Ymd',time());    //定义一个要上传头像的目录<br>             is_dir($save_path) || mkdir($save_path);    //如果没有这么目录,那么就创建这个目录<br>             $postdata = file_get_contents( $post_input );<br> <br>             if ( isset( $postdata ) && strlen( $postdata ) > 0 ) {<br>                 $filename = $this->check($save_path);<br>                 $picname = substr($save_path,0,25).$filename;<br>                 $handle = fopen( $picname, 'w+' );<br>                 fwrite( $handle, $postdata );<br>                 fclose( $handle );<br>                 if ( is_file( $picname ) ) {<br>                     $mem = M('Member');<br>                     //删除原先的头像图片<br>                     $ava = $mem->where(array('uid'=>$_SESSION['uid']))->getField('avatar');<br>                     $oldavapath = substr($save_path,0,25).$ava;<br>                     if(($ava!=false)&&(is_file($oldavapath))) unlink($oldavapath);<br>                     $data['avatar'] = $filename;<br>                     $mem->where(array('uid'=>$_SESSION['uid']))->save($data);<br>                     echo '上传头像成功!';<br>                     exit ();<br>                 }else {<br>                     die ( '上传头像失败!' );<br>                 }<br>             }else {<br>                 die ( '没有图片信息!' );<br>             }<br>     }演示地址:http://www.nianrenba.com
账号自己注册个吧,实在太懒看下面:
ID:美图秀秀测试,PASSWORD:jtheihhie15764afhdh
说明:网站是用别的上传头像的方法,本人下面又加了一个链接可以链接到美图秀秀上传方法.
分享一个think结合美图秀秀的上传头像裁切代码实例

附件 crossdomain.zip ( 529 B 下载:513 次 )

AD:真正免费,域名+虚机+企业邮箱=0元

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn