• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    ajax上传多图到php服务器的方法

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

    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实现异步文件或图片上传功能
    • 基于ajax实现文件上传并显示进度条
    • 利用ajaxfileupload插件实现文件上传无刷新的具体方法
    • 使用ajaxfileupload.js实现ajax上传文件php版
    • ajaxFileUpload.js插件支持多文件上传的方法
    • ajax(iframe)无刷新提交表单、上传文件
    • ajax 文件上传应用简单实现
    • AJAX和JSP实现的基于WEB的文件上传的进度控制代码
    • Ajax方式提交带文件上传的表单及隐藏iframe应用
    上一篇:json获取数据库的信息在前端页面显示方法
    下一篇:ajax上传图片到PHP并压缩图片显示的方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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