本篇内容介绍了“ajax如何上传多图到php服务器”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
成都创新互联客户idc服务中心,提供联通机房服务器托管、成都服务器、成都主机托管、成都双线服务器等业务的一站式服务。通过各地的服务中心,我们向成都用户提供优质廉价的产品以及开放、透明、稳定、高性价比的服务,资深网络工程师在机房提供7*24小时标准级技术保障。
一般上传图片到服务器有两种方式:
1、把图片转换成二进制直接存储到数据库里
2、把图片存储到本地目录,并将图片地址存储到数据库里
先粗浅地谈下我对这两种存储方法的优劣点的认识:
1、把图片转换成二进制直接存储到数据库的优点是有利于数据的备份和迁移,但缺点就是会影响数据读写速率。一般大图、多图不建议用此方式,一般存储用户头像、富文本内容存储时可以应用此方式。
2、将图片存储到本地目录,在数据库上只存储图片路径的优点是有利于数据的读写,毕竟存一个地址要比存整个图片的大小要小得多。但是缺点就不利于数据的备份和迁移。
先介绍一下存储图片路径的方法:
html代码:
<form id="form1"> <span > </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="' + json['photo1'] + '" height="100" />'; result += '<br/><img src="' + json['photo2'] + '" height="100" />'; result += '<br/>' + json['photo1']; result += '<br/>' + json['photo2']; $('#result').html(result); } }); return false; }
php代码:photo.php
<?php require('conn.php'); $nameTag = time(); $filename1 = $nameTag . '0' . substr($_FILES['photo1']['name'], strrpos($_FILES['photo1']['name'],'.')); $filename2 = $nameTag . '1' . substr($_FILES['photo2']['name'], strrpos($_FILES['photo2']['name'],'.')); $response = array(); $path2 = "img/" . $filename1; <span >//注意要在目录下新建一个名为img的文件夹用来存放图片 $path3 = "img/" . $filename2; if(move_uploaded_file($_FILES['photo1']['tmp_name'], $path2) && move_uploaded_file($_FILES['photo2']['tmp_name'], $path3) ){ $response['isSuccess'] = true; $response['photo1'] = $path2; $response['photo2'] = $path3; }else{ $response['isSuccess'] = false; } echo json_encode($response); ?>
数据库表我就不贴了,存图片地址,字段类型直接用字符型就可以了。
现在在介绍一下把图片转换成二进制直接存进数据库的方法:
这里我没有用ajax请求,直接用表单的post 请求提交数据
html代码:
<form action="photo.php"> <span > </span><div class="pic"> <input type="file" name="photo" id="" title="文件不超过200kb,大小最佳为60*60" onchange="imgPreview(this)">上传头像 </div> </form>
php代码:photo.php
<?php require('conn.php'); $image = MySQL_real_escape_string(file_get_contents($_FILES['photo']['tmp_name'])); $sqlstr = "insert into user(photo) values('".$image."')"; @mysql_query($sqlstr) or die(mysql_error()); exit(); ?>
这样就把图片转换成二进制并储存进数据库了。
“ajax如何上传多图到php服务器”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!
当前文章:ajax如何上传多图到php服务器
当前地址:https://www.cdcxhl.com/article18/pjdogp.html
成都网站建设公司_创新互联,为您提供企业建站、搜索引擎优化、用户体验、网站制作、标签优化、Google
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联