ホームページ >php教程 >php手册 >分享一个think结合美图秀秀的上传头像裁切代码实例

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

WBOY
WBOYオリジナル
2016-06-07 11:43:571140ブラウズ

半夜睡不着,浏览官网,看到有提到美图秀秀插件的,没有找到有写好的,就实现了一下分享给大家,破处之作,欢迎大大们提建议!
半路中遇到一个问题,提示上传成功,但是目录里没有图片,纠结烦恼了好久才发现已经是第二天了,过了凌晨又自动建下一个日期目录了......那叫相当一个蛋疼啊!
分享一个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元

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。