PHP+HTML+JS拍照保存代码

HTML代码

<div class="box">
    <input class="input" type="button" value="开启摄像头" style="width: 100px;height: 30px;" onclick="getMedia()"/>
    <video id="video" width="300px" height="300px"  autoplay="autoplay"></video>
    <canvas id="canvas" width="300px" height="300px" ></canvas>


        <img src="" id="img" alt="" name="imge" />
        <input type="button" id="snap" style="width: 100px;height: 30px;" value="4566" onclick="takePhoto()">

</div>

JS代码

 function getMedia(){
        var constraints={
            video:{width:300,height:300}
        };
        var  video=document.getElementById("video");
        var promise=navigator.mediaDevices.getUserMedia(constraints);
        promise.then(function(MediaStream){
            video.srcObject=MediaStream;
            video.play();
        });
        var video=document.getElementById("video");
        video.style.display="block";
        var canvas=document.getElementById("canvas");
        var ctx=canvas.getContext('2d');
        ctx.drawImage(video,0,0,0,0);
    }
    function  takePhoto(){
        var video=document.getElementById("video");
        var img=document.getElementById("img");
        video.style.display="none";
        var canvas=document.getElementById("canvas");
        var ctx=canvas.getContext('2d');
        ctx.drawImage(video,0,0,300,300);
        img.src = canvas.toDataURL("image/png");
        $.ajax({
            type:'post',
            url:'Camrea3.php',
            data:{
                img:img.src
            }
        })
        }

PHP代码

$imge=$_POST["img"];
$path = './images';
 function base64_image_content($base64_image_content,$path){
    //匹配出图片的格式
    if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image_content, $result)){
        $type = $result[2];
        $new_file = $path."/".date('Ymd',time())."/";
        if(!file_exists($new_file)){
            //检查是否有该文件夹,如果没有就创建,并给予最高权限
            mkdir($new_file, 0700, true);
        }
        $new_file = $new_file.time().".{$type}";
        if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_image_content)))){
            return '/'.$new_file;
        }else{
            return false;
        }
    }else{
        return false;
    }
}
base64_image_content($imge,$path);

下面是自动生成的文件夹和文件名。
这是生成后的图片和命名

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值