一般上传图片到服务器有两种方式:
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(); ?>这样就把图片转换成二进制并储存进数据库了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
桃源资源网 Design By www.nqtax.com
暂无“ajax上传多图到php服务器的方法”评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。