半夜睡不着,浏览官网,看到有提到美图秀秀插件的,没有找到有写好的,就实现了一下分享给大家,破处之作,欢迎大大们提建议!
半路中遇到一个问题,提示上传成功,但是目录里没有图片,纠结烦恼了好久才发现已经是第二天了,过了凌晨又自动建下一个日期目录了......那叫相当一个蛋疼啊!
首先把附件下载下来,然后把 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
说明:网站是用别的上传头像的方法,本人下面又加了一个链接可以链接到美图秀秀上传方法.

crossdomain.zip
( 529 B 下载:513 次 )
AD:真正免费,域名+虚机+企业邮箱=0元

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Chinese version
Chinese version, very easy to use

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

Notepad++7.3.1
Easy-to-use and free code editor

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.
