一个网站,其实说白了就是某几个特定功能的组合,而更换用户头像就在这些功能之中。今天就来做个测试,针对不同的用户,实现头像上传功能。
先给大家展示下成品效果图:
思路
针对不同的用户上传头像,我们要为每一个已登录的用户创建一个文件夹,文件夹的名称以当前用户的用户名为准。
用户上传成功后,跳转到用户登录成功后的页面,并刷新用户头像。
登陆页面
表单制作
表单角色="表单"操作=。/用于索引。PHP"div class="form-group "标签"用于="名称"用户名/labelinput type=' text ' class=' form-control ' id=' username ' name=' username ' placeholder='请输入名称/divdiv class='form-group '标签为='inputfile '文件输入/label输入类型=' password ' id=' input file ' name=' password ' p class=' help-block '这里是块级帮助文本的实例/p/divdiv class='form-group '标签请输入验证码/label输入类型=' text ' id=' check code ' name=' check code '/img id=' image check code ' src=' http :/store.php?r=?PHP echo rand();/a href=' JavaScript : void(0);onclick='change()'看不清/a/div脚本函数change(){ document。getelementbyid(' imagecheckcode ').src=' ./store.php?r='数学。random();}/script按钮类型=' submit ' class=' BTN BTN-默认'提交/按钮/表单验证码制作
?PHP session _ start();//必须在服务器端编程语言(专业超文本预处理器的缩写)的最开始部分声明,来开启会话/使用权志龙的imagecreatetrue color();创建一张背景图$ image=imagecreatetrue color(100,40);//生成填充色$ BG color=image color allocate($ image,255,255,255);//将填充色填充到背景图上imagefill($image,0,0,$ bgcolor);////////生成随机四位字母以及数字混合的验证码$ check code=for($ I=0;$ i4$i ){$fontsize=rand(6,8);$ font color=image color allocate($ image,rand(0,255),rand(0,255),rand(0,255));//为了避免用户难于辨认,去掉了某些有歧义的字母和数字$ raw str=' abcdefghjkmnopqrstuvwxyz 23456789 ';$fontcontent=substr($rawstr,rand(0,strlen($rawstr)),1);//拼接即将诞生的验证码$checkcode .=$ fontcontent//避免生成的图片重叠$ x=20$y=兰特(10,20);imagestring($image,$fontsize,$x,$y,$fontcontent,$ font color);}//保存到会议变量中$ _ SESSION['校验码']=$校验码;//生成一些干扰的点,这里是200个对于($ I=0;$ i200 $ I){ $ point color=image color allocate($ image,rand(50,255),rand(50,255),rand(50,255));imagesetpixel($image,rand(0,100),rand(0,30),$ point color);}//生成一些干扰线这里是四个对于($ I=0;$ i4$i ){//设置为浅色的线,防止喧宾夺主$ line color=image color allocate($ image,rand(50,255),rand(50,255),rand(50,255));imageline($image,rand(0,99),rand(0,29),rand(0,99),rand(0,29),$ line color);}标题(“内容类型:图像/png”);image png($ image);//释放资源,销毁执行对象图像破坏($ image);Java脚本语言刷新验证码
a href=' JavaScript : void(0);'onclick='change()'看不清/JavaScript函数change(){ document。getelementbyid(' imagecheckcode ').src=' ./store.php?r='数学。random();}/脚本验证页面
由于本次试验最核心的是对用户头像的更换,所以用户名我们暂且不管,以根为准。
验证逻辑
?PHP session _ start();标题('内容类型:文本/html;charset=utf-8 ');$ username=$ _ REQUEST[' username '];$ password=$ _ REQUEST[' password '];if(strtolow($ _ REQUEST['校验码']=$ _ SESSION['校验码']){ if(!is _ dir($ username)){ mkdir($ username);}回声恭喜您,登陆成功!br /3秒后将自动跳转到个人主页!';$ _ SESSION[' username ']=$ username;header(' refresh :3;url=./个人页面。PHP’);}else{echo '对不起,登陆失败了!';header(' refresh :3;url=./index。PHP’);//echo '脚本窗口。位置。href=' ./index。PHP '/脚本';}页面跳转
在服务器端编程语言(专业超文本预处理器的缩写)中,要先实现页面的跳转,有很多方式。本文使用了增加页眉信息的方式,下面介绍几个关于页面跳转的小实例。
页眉函数
?php /重定向浏览器标题('位置: http://博客。csdn。net/marksinoberg ');//确保重定向后,后续代码不会被执行退出;注意:位置和:之间不能有空格
自指的标签
meta http-equiv='refresh '内容=' 1;网址=http://博客。csdn。' net/marksinoberg '注意:内容可以控制在几秒之内完成跳转。
Java脚本语言
?PHP $ URL=' http://BBS。灯哥。net ';“回声”脚本语言='javascript '类型=' text/JavaScript ';回声窗口。位置。href=' $ URLecho '/script ';注意:使用Java脚本语言方式,代码放置的位置可以随意,只要是符合语法要求即可。
上传页面
个人主页
!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN ' ' http://www .w3。org/TR/XHTML 1/DTD/XHTML 1-Transitional。DTD ' html xmlns=' http://www .w3。org/1999/XHTML ' hearteta http-equiv=' Content-Type ' Content=' text/html;charset=utf-8' /title?PHP session _ start();echo $_SESSION['username'].'的个人主页;/title style img { width :128 px;height : auto }/style/headdydivimg id=' user photo ' src=' http :/根/爱人。png '/br/form action=' ./上传照片。PHP ' method=' post ' enctype=' multipart/form-data '输入类型=' file ' name=' photo '/输入类型=' submit ' onclick=' upload photo()' value='上传新头像//formscript函数上传照片(){文档。getelementbyid('用户照片').src=' ./root/?PHP echo $ _ SESSION[' username '];png ' }窗口。onload=function(){ upload photo();}/script/div/body/html上传核心
上传的核心还是一个表单,我们把要进行上传的图片上传到服务器,然后服务器端编程语言(专业超文本预处理器的缩写)使用移动上传的文件来实现文件的迁移,实现上传。
?PHP session _ start();标题('内容类型:文本/html;charset=utf-8 ');//附件的存储位置、附件的名字$path=' ./root/';$ username=$ _ SESSION[' username '];//拼接成该文件在服务器上的名称$server_name=$path .$用户名. png ';if($ _ FILES[' photo '][' error ']0){ die('出错了!$ _ FILES[' photo '][' error ']);} if(move _ uploaded _ file($ _ FILES[' photo '][' tmp _ name '],$server_name)){//echo 'BR ' .上传成功!";"回声"恭喜您,上传成功!br /3秒后将自动跳转到个人主页!';header(' refresh :3;url=./个人页面。PHP’);}else{//echo 'BR ' .上传失败!$_FILES['照片']['错误'];"回声"对不起,上传头像失败了!';header(' refresh :2;url=./index。PHP’);}?最终结果
登陆页面
验证结果
个人主页
最新头像
以上所述是小编给大家介绍的服务器端编程语言(专业超文本预处理器的缩写)实现更换头像功能(针对多用户),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!