有会员系统的站点一般都会有一个头像上传组件,一般做的最简单的是
这样的方式长处是代码写的简单,仅仅要推断图片大小和类型,然后更新数据库。可是用户体验不高。并且站点其它页面假设要使用较小的20X20或148X148大小的图片时会出现图片模糊或图片载入过大。
而另外一种方式,是我们今天要介绍的方式。样式例如以下
过程例如以下:
一、下载文件 php+flash头像上传组件 http://download.csdn.net/detail/tomyjohn/8049273
二、能够直接解压至你的server文件夹
三、文件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
假设要做企业站或模板站,请直接联系我。