index.html
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
<!DOCTYPE html> <html> <head> <title> Capture webcam image with php and jquery </title> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/webcamjs/1.0.25/webcam.min.js"></script> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/css/bootstrap.min.css" /> <style type="text/css"> #results { padding: 20px; border: 1px solid; background: #ccc; } </style> </head> <body> <div class="container"> <h1 class="text-center"> Capture webcam image with php and jquery </h1> <form method="POST" action="http://localhost/webcamapp/storeImage.php"> <div class="row"> <div class="col-md-6"> <div id="my_camera"></div> <br /> <input type="button" value="Take Snapshot" onClick="take_snapshot()" /> <input type="hidden" name="image" class="image-tag" /> </div> <div class="col-md-6"> <div id="results">Your captured image will appear here...</div> </div> <div class="col-md-12 text-center"> <br /> <button class="btn btn-success">Submit</button> </div> </div> </form> </div> <!-- Configure a few settings and attach camera --> <script language="JavaScript"> Webcam.set({ width: 490, height: 390, image_format: "jpeg", jpeg_quality: 90, }); Webcam.attach("#my_camera"); function take_snapshot() { Webcam.snap(function (data_uri) { $(".image-tag").val(data_uri); document.getElementById("results").innerHTML = '<img src="' + data_uri + '"/>'; }); } </script> </body> </html> |
storeImage.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<?php $img = $_POST['image']; $folderPath = "uploads/"; $image_parts = explode(";base64,", $img); $image_type_aux = explode("image/", $image_parts[0]); $image_type = $image_type_aux[1]; $image_base64 = base64_decode($image_parts[1]); $fileName = uniqid() . '.png'; $file = $folderPath . $fileName; file_put_contents($file, $image_base64); print_r($fileName); ?> |