最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

ajax上传多图到php服务器的方法

来源:动视网 责编:小采 时间:2020-11-27 22:51:27
文档

ajax上传多图到php服务器的方法

ajax上传多图到php服务器的方法:一般上传图片到服务器有两种方式: 1、把图片转换成二进制直接存储到数据库里 2、把图片存储到本地目录,并将图片地址存储到数据库里 先粗浅地谈下我对这两种存储方法的优劣点的认识: 1、把图片转换成二进制直接存储到数据库的优点是有利于数据的备份和迁移
推荐度:
导读ajax上传多图到php服务器的方法:一般上传图片到服务器有两种方式: 1、把图片转换成二进制直接存储到数据库里 2、把图片存储到本地目录,并将图片地址存储到数据库里 先粗浅地谈下我对这两种存储方法的优劣点的认识: 1、把图片转换成二进制直接存储到数据库的优点是有利于数据的备份和迁移


一般上传图片到服务器有两种方式:

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="' + 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(); 
 $path1 = "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); 
?> 

数据库表我就不贴了,存图片地址,字段类型直接用字符型就可以了。

现在在介绍一下把图片转换成二进制直接存进数据库的方法:

这里我没有用ajax请求,直接用表单的post 请求提交数据

html代码:

<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

<?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服务器的方法:一般上传图片到服务器有两种方式: 1、把图片转换成二进制直接存储到数据库里 2、把图片存储到本地目录,并将图片地址存储到数据库里 先粗浅地谈下我对这两种存储方法的优劣点的认识: 1、把图片转换成二进制直接存储到数据库的优点是有利于数据的备份和迁移
推荐度:
标签: 图片 上传 的方法
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top