PHP + HTML5 拍照上传


<!-- HTML页面 -->

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF8">
  </head>
  <body>
    <video id="video" width="80" height="60" autoplay></video>
    <button id="snap">拍照上传</button>
    <canvas id="canvas" width="80" height="60"></canvas>
  </body>
</html>

<!-- jquery部分 -->

<script src="http://120.92.82.182:444/jquery-2.1.4.min.js"></script>
<script type="text/javascript">
  // Put event listeners into place
  window.addEventListener("DOMContentLoaded", function() {
    // Grab elements, create settings, etc.
    var canvas = document.getElementById("canvas"),
    context = canvas.getContext("2d"),
    video = document.getElementById("video"),
    videoObj = { "video": true },
    errBack = function(error) {
      console.log("Video capture error: ", error.code);
    };
    // Put video listeners into place
    if(navigator.getUserMedia) { // Standard
      navigator.getUserMedia(videoObj, function(stream) {
        video.src = stream;
        video.play();
      }, errBack);
    } else if(navigator.webkitGetUserMedia) {

      // WebKit-prefixed
      navigator.webkitGetUserMedia(videoObj, function(stream){
        video.src = window.webkitURL.createObjectURL(stream);
        video.play();
      }, errBack);
    } else if(navigator.mozGetUserMedia) { // Firefox-prefixed
      navigator.mozGetUserMedia(videoObj, function(stream){
      video.src = window.URL.createObjectURL(stream);
      video.play();
    }, errBack);
  }
  // 触发拍照动作
  document.getElementById("snap")
    .addEventListener("click", function() {
      context.drawImage(video, 0, 0, 640, 480);

      var imgData=canvas.toDataURL("image/png");//通过canvas的头DataURL将Canvas的数据转换为base64
      var dataImg=imgData.substr(22); //截取掉前面的22位

      $.post('bb.php',{'dataImg':dataImg});//将base64数据传入后台,进行上传或者验证是否是本人

    });
  }, false);

</script>

 

 

 

 

 

<!-- bb.php(这里我是将base64数据串存入数据库,你可以将base64串数转换成图片,将图片传入服务器,名字存入数据库) -->

  $img_data = $_POST['dataImg'];

  $img_src = "data:{$img_info['mime']};base64," . $img_data;//将base64串数据转换成图片

  //$img_base64 = base64_encode(file_get_contents($img_src));//图片转换称base64串

  $img_name = date('YmdHi',time());

  $conn=mysql_connect('127.0.0.1','root','root') or die("error connecting") ; //连接数据库

  mysql_query("set names 'utf8'"); //数据库输出编码 应该与你的数据库编码保持一致.

  mysql_select_db('dbname'); //打开数据库

  $sql ="insert into userImg (u_img_name,u_img_content) VALUES('$img_name','$img_data')"; //SQL语句

  $result = mysql_query($sql,$conn); //执行

  return $result;

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM