有会员系统的站点一般都会有一个头像上传组件,一般做的最简单的是

php+flash头像上传组件-LMLPHP

这样的方式长处是代码写的简单,仅仅要推断图片大小和类型,然后更新数据库。可是用户体验不高。并且站点其它页面假设要使用较小的20X20或148X148大小的图片时会出现图片模糊或图片载入过大。

而另外一种方式,是我们今天要介绍的方式。样式例如以下

php+flash头像上传组件-LMLPHP

过程例如以下:

一、下载文件 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

假设要做企业站或模板站,请直接联系我。

04-28 10:50