日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

php设置用户头像,PHP针对多用户实现更换头像功能

發(fā)布時間:2025/3/11 php 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php设置用户头像,PHP针对多用户实现更换头像功能 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一個網(wǎng)站,其實說白了就是某幾個特定功能的組合,而更換用戶頭像就在這些功能之中。今天就來做個測試,針對不同的用戶,實現(xiàn)頭像上傳功能。

先給大家展示下成品效果圖:

思路

針對不同的用戶上傳頭像,我們要為每一個已登錄的用戶創(chuàng)建一個文件夾,文件夾的名稱以當(dāng)前用戶的用戶名為準。

用戶上傳成功后,跳轉(zhuǎn)到用戶登錄成功后的頁面,并刷新用戶頭像。

登陸頁面

表單制作

用戶名

placeholder="請輸入名稱">

文件輸入

這里是塊級幫助文本的實例。

請輸入驗證碼

看不清

function change(){

document.getElementById("imagecheckcode").src = "./store.php?r="+ Math.random();

}

提交

驗證碼制作

session_start();// 必須在php的最開始部分聲明,來開啟session

// 使用gd的imagecreatetruecolor();創(chuàng)建一張背景圖

$image = imagecreatetruecolor(100,40);

// 生成填充色

$bgcolor = imagecolorallocate($image,255,255,255);

// 將填充色填充到背景圖上

imagefill($image,0,0,$bgcolor);

生成隨機4位字母以及數(shù)字混合的驗證碼

$checkcode='';

for($i=0;$i<4;$i++){

$fontsize = rand(6,8);

$fontcolor = imagecolorallocate($image,rand(0,255),rand(0,255),rand(0,255));

// 為了避免用戶難于辨認,去掉了某些有歧義的字母和數(shù)字

$rawstr = 'abcdefghjkmnopqrstuvwxyz23456789';

$fontcontent = substr($rawstr,rand(0,strlen($rawstr)),1);

// 拼接即將誕生的驗證碼

$checkcode.=$fontcontent;

// 避免生成的圖片重疊

$x += 20;

$y = rand(10,20);

imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);

}

// 保存到session變量中

$_SESSION['checkcode']=$checkcode;

// 生成一些干擾的點,這里是200個

for($i=0;$i<200;$i++){

$pointcolor = imagecolorallocate($image,rand(50,255),rand(50,255),rand(50,255));

imagesetpixel($image,rand(0,100),rand(0,30),$pointcolor);

}

// 生成一些干擾線 這里是4個

for($i=0;$i<4;$i++){

// 設(shè)置為淺色的線,防止喧賓奪主

$linecolor = imagecolorallocate($image,rand(50,255),rand(50,255),rand(50,255));

imageline($image,rand(0,99),rand(0,29),rand(0,99),rand(0,29),$linecolor);

}

header('content-type:image/png');

imagepng($image);

// 釋放資源,銷毀執(zhí)行對象

imagedestroy($image);

JavaScript刷新驗證碼

看不清

function change(){

document.getElementById("imagecheckcode").src = "./store.php?r="+ Math.random();

}

驗證頁面

由于本次試驗最核心的是對用戶頭像的更換,所以用戶名我們暫且不管,以Root為準。

驗證邏輯

session_start();

header("Content-Type:text/html;charset=utf-8");

$username = $_REQUEST['username'];

$password = $_REQUEST['password'];

if(strtolower($_REQUEST['checkcode']==$_SESSION['checkcode'])){

if(!is_dir($username)){

mkdir($username);

}

echo "恭喜您,登陸成功!"."
3秒后將自動跳轉(zhuǎn)到個人主頁!";

$_SESSION['username'] = $username;

header("refresh:3;url=./personalpage.php");

}else{

echo "對不起,登陸失敗了!";

header("refresh:3;url=./index.php");

//echo "";

}

頁面跳轉(zhuǎn)

在PHP中,要先實現(xiàn)頁面的跳轉(zhuǎn),有很多方式。本文使用了增加header信息的方式,下面介紹幾個關(guān)于頁面跳轉(zhuǎn)的小實例。

header函數(shù)

< ?php

//重定向瀏覽器

header("Location: http://blog.csdn.net/marksinoberg");

//確保重定向后,后續(xù)代碼不會被執(zhí)行

exit;

?>

注意:Location和:之間不能有空格

Meta標簽

content = "1;url=http://blog.csdn.net/marksinoberg" >

注意: content可以控制在幾秒之內(nèi)完成跳轉(zhuǎn)。

JavaScript

< ?php

$ url = "http://bbs.lampbrother.net" ;

echo " < script language = 'javascript'

type = 'text/javascript' > ";

echo " window.location.href = '$url' ";

echo " < /script > ";

?>

注意: 使用JavaScript方式,代碼放置的位置可以隨意,只要是符合語法要求即可。

上傳頁面

個人主頁

<?php session_start(); echo $_SESSION['username']."的個人主頁"; ?>

img {

width:128px;

height:auto;

}

function uploadphoto(){

document.getElementById("userphoto").src = "./root/<?php echo $_SESSION['username'];?>.png"

}

window.onload = function(){

uploadphoto();

}

上傳核心

上傳的核心還是一個表單,我們把要進行上傳的圖片上傳到服務(wù)器,然后php使用move_uploaded_file來實現(xiàn)文件的遷移,實現(xiàn)上傳。

session_start();

header("Content-Type:text/html;charset=utf-8");

// 附件的存儲位置、附件的名字

$path = "./root/";

$username = $_SESSION['username'];

// 拼接成該文件在服務(wù)器上的名稱

$server_name = $path.$username.".png";

if($_FILES['photo']['error']>0) {

die("出錯了!".$_FILES['photo']['error']);

}

if(move_uploaded_file($_FILES['photo']['tmp_name'],$server_name)){

//echo "
"."Upload Success!";

echo "恭喜您,上傳成功!"."
3秒后將自動跳轉(zhuǎn)到個人主頁!";

header("refresh:3;url=./personalpage.php");

}else{

//echo "
"."Upload Failed!".$_FILES['photo']['error'];

echo "對不起,上傳頭像失敗了!";

header("refresh:2;url=./index.php");

}

?>

最終結(jié)果

登陸頁面

驗證結(jié)果

個人主頁

最新頭像

以上所述是小編給大家介紹的PHP實現(xiàn)更換頭像功能(針對多用戶),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

總結(jié)

以上是生活随笔為你收集整理的php设置用户头像,PHP针对多用户实现更换头像功能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。