有会员系统的网站一般都会有一个头像上传组件,一般做的最简单的是
这种方式优点是代码写的简单,只要判断图片大小和类型,然后更新数据库。但是用户体验不高。而且网站其他页面如果要使用较小的20X20或148X148大小的图片时会出现图片模糊或图片加载过大。
而第二种方式,是我们今天要介绍的方式。样式如下
步骤如下:
一、下载文件 php+flash头像上传组件 http://download.csdn.net/detail/tomyjohn/8049273
二、可以直接解压至你的服务器目录
三、文件avatar.swf为主要的文件,在您的项目页面加入如下代码,引用这个FLASH文件
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" WIDTH="650" HEIGHT="450" id="myMovieName"> <PARAM NAME=movie VALUE="avatar.swf"> <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#FFFFFF> <param name="flashvars" value="imgUrl=./default.jpg&uploadUrl=./upfile.php&uploadSrc=false" /> <EMBED src="avatar.swf" quality=high bgcolor=#FFFFFF WIDTH="650" HEIGHT="450" wmode="transparent" flashVars="imgUrl=./default.jpg&uploadUrl=./upfile.php&uploadSrc=false" NAME="myMovieName" ALIGN="" TYPE="application/x-shockwave-flash" allowScriptAccess="always" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"> </EMBED> </OBJECT>注意上而代码中的“avatat.swf”和“flashvars”的路径和参数
文档如下地址:http://pan.baidu.com/s/1sjHfdrJ
<?php /********** 仅测试程序 **********/ $savePath = './'; //图片存储路径 $savePicName = time(); //图片存储名称 $file_src = $savePath.$savePicName."_src.jpg"; $filename162 = $savePath.$savePicName."_162.jpg"; $filename48 = $savePath.$savePicName."_48.jpg"; $filename20 = $savePath.$savePicName."_20.jpg"; $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); } print_r($pic1);exit; file_put_contents($filename162,$pic1); file_put_contents($filename48,$pic2); file_put_contents($filename20,$pic3); $rs['status'] = 1; $rs['picUrl'] = $savePath.$savePicName; print json_encode($rs); ?>这是PHP测试程序,您可以根据您的需求,制作ASP,JSP以及其他语言的使用程序。
本人淘宝店地址:图米网络http://www.tome178.com or tome178.taobao.com
如果要做企业站或模板站,请直接联系我。
原文地址:http://blog.csdn.net/tomyjohn/article/details/40183881