一般上传图片到服务器有两种方式:
1、把图片转换成二进制直接存储到数据库里
2、把图片存储到本地目录,并将图片地址存储到数据库里
先粗浅地谈下我对这两种存储方法的优劣点的认识:
1、把图片转换成二进制直接存储到数据库的优点是有利于数据的备份和迁移,但缺点就是会影响数据读写速率。一般大图、多图不建议用此方式,一般存储用户头像、富文本内容存储时可以应用此方式。
2、将图片存储到本地目录,在数据库上只存储图片路径的优点是有利于数据的读写,毕竟存一个地址要比存整个图片的大小要小得多。但是缺点就不利于数据的备份和迁移。
先介绍一下存储图片路径的方法:
html代码:
<form id="form1">
<span style="white-space:pre;"> </span><div class="bookImg">
<div class="img-box">
<input type="file" name="photo1" id="" title="文件不超过200kb,大小最佳为60*60">
</div>
<div class="img-box">
<input type="file" name="photo2" id="" title="文件不超过200kb,大小最佳为60*60">
</div>
</div>
<input type="button" class="bookBtn btnBlue" id="publishBook" value="发布图书" onclick="fsubmit()"/>
</form>
ajax请求:
function fsubmit() {
var form1=document.getElementById("form1");
var fd =new FormData(form1);
$.ajax({
url: "photo.php",
type: "POST",
data: fd,
processData: false,
contentType: false,
success: function(response,status,xhr){
console.log(xhr);
var json=$.parseJSON(response);
var result = '';
result += '<br/><img src="/UploadFiles/2021-04-02/' + json['photo1'] + '">
php代码:photo.php
<"img/" . $filename1; <span style="color:#ff0000;">//注意要在目录下新建一个名为img的文件夹用来存放图片
$path2 = "img/" . $filename2;
if(move_uploaded_file($_FILES['photo1']['tmp_name'], $path1) && move_uploaded_file($_FILES['photo2']['tmp_name'], $path2) ){
$response['isSuccess'] = true;
$response['photo1'] = $path1;
$response['photo2'] = $path2;
}else{
$response['isSuccess'] = false;
}
echo json_encode($response);
"htmlcode">
<form action="photo.php">
<span style="white-space:pre;"> </span><div class="pic">
<input type="file" name="photo" id="" title="文件不超过200kb,大小最佳为60*60" onchange="imgPreview(this)">上传头像
</div>
</form>
php代码:photo.php
<"insert into user(photo) values('".$image."')";
@mysql_query($sqlstr) or die(mysql_error());
exit();
?>
这样就把图片转换成二进制并储存进数据库了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。