我有这段代码可以在源代码forums的帮助下扫描和解码qr图像,它可以从您的文档中扫描图像文件。但是我想使用网络摄像头来扫描qr。
二维码扫描器脚本是这个
<?php
if ($_SERVER['REQUEST_METHOD'] != "POST"){
header("location:take-attendance.php");
die();
}
require "vendor/autoload.php";
$qrcode = new Zxing\QrReader($_FILES['qrimage']['tmp_name']);
$text = $qrcode->text();
var_dump($text);
?>
然后我拍摄快照的网络摄像头就是这样
<form action="decode.php" method="post" enctype="multipart/form-data">
<script src="webcam.js"></script> <!--source code script from github for webcam config-->
<div id="my_camera" style="width:320px; height:240px;"></div>
<div id="my_result"></div>
<script type=text/javascript>
Webcam.attach( '#my_camera' );
function take_snapshot() {
Webcam.snap( function(data_uri) {
document.getElementById('my_result').innerHTML = '<img src="'+data_uri+'"/>';
} );
}
</script>
<a href="javascript:void(take_snapshot())">Take Snapshot</a>
因此,我单击拍摄快照,该图像将显示为img src,如果我单击“扫描”,则希望获取该图像,这意味着我需要替换此代码
$qrcode = new Zxing\QrReader($_FILES['qrimage']['tmp_name']);
具有当我单击该快照时生成的文件名
<img src="'+data_uri+'"/>
但是问题是我不知道如何编写代码的格式,这是我的主意,但是它不起作用
$qrcode = new Zxing\QrReader($_FILES['data_uri']);
预先感谢
答案 0 :(得分:0)
您不会发送任何形式的邮件。
快照以base64格式生成,因此您只能将其作为字符串发送到服务器并解码为图像。
但是使用https://github.com/colcodev/qrcode-decoder-js这样的JS QR解码器会更简单
qrcode.decode(data_uri)
然后如果您需要通过简单的输入将结果发送到服务器
Webcam.attach( '#my_camera' );
function take_snapshot() {
Webcam.snap(function(data_uri) {
document.getElementById('my_result').innerHTML = '<img src="'+data_uri+'"/> - '+qrcode.decode(data_uri);
});
}