文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

ajax如何上传多图到php服务器

2023-06-08 07:17

关注

本篇内容介绍了“ajax如何上传多图到php服务器”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

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

把图片转换成二进制直接存储到数据库里

把图片存储到本地目录,并将图片地址存储到数据库里

先粗浅地谈下我对这两种存储方法的优劣点的认识:

把图片转换成二进制直接存储到数据库的优点是有利于数据的备份和迁移,但缺点就是会影响数据读写速率。一般大图、多图不建议用此方式,一般存储用户头像、富文本内容存储时可以应用此方式。

将图片存储到本地目录,在数据库上只存储图片路径的优点是有利于数据的读写,毕竟存一个地址要比存整个图片的大小要小得多。但是缺点就不利于数据的备份和迁移。

先介绍一下存储图片路径的方法:

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服务器”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-服务器
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯