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