1

我正在尝试在我的网站上实现一个网络摄像头“插件”。我搜索了很多并找到了一些选项:

  • jquery webcan 插件
  • Jpeg cam 插件 -jquery 网络摄像头(来自 Mackers Mcmackers)

但是,我看到的唯一一个可以拍摄快照并自动将其保存(并显示)到服务器的实时示例是 jpeg cam: live example

它的下载包附带一个 PHP 示例,用于将图像保存到服务器:

<?php

/* JPEGCam Test Script */
/* Receives JPEG webcam submission and saves to local file. */
/* Make sure your directory has permission to write files as your web server user! */

$filename = date('YmdHis') . '.jpg';
$result = file_put_contents( $filename, file_get_contents('php://input') );
if (!$result) {
    print "ERROR: Failed to write data to $filename, check permissions\n";
    exit();
}

$url = 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['REQUEST_URI']) . '/' . $filename;
print "$url\n";

?>

在本地运行时,它不会保存图像。我猜它应该在服务器上工作,但是在本地它至少显示上传文本和上传确认,在服务器上它就像它不会启动 test.php。

这是 jquery 中的保存选项(在 .html 上):

<script language="JavaScript">
        webcam.set_hook( 'onComplete', 'my_completion_handler' );

        function take_snapshot() {
            // take snapshot and upload to server
            // document.getElementById('upload_results').innerHTML = '<h1>Uploading...</h1>';
            webcam.snap();
        }

        function my_completion_handler(msg) {
            // extract URL out of PHP output
            if (msg.match(/(http\:\/\/\S+)/)) {
                var image_url = RegExp.$1;
                // show JPEG image in page
                document.getElementById('upload_results').innerHTML = 
                    '<h1>Upload Successful!</h1>' + 
                    '<h3>JPEG URL: ' + image_url + '</h3>' + 
                    '<img src="' + image_url + '">';
            }
            else alert("PHP Error: " + msg);
        }
    </script>

以及您指向将接收照片的 .php 的部分(插入 API 的一部分):

<script language="JavaScript">
        webcam.set_api_url( 'test.php' );
        webcam.set_quality( 90 ); // JPEG quality (1 - 100)
        webcam.set_shutter_sound( false ); // no shutter click sound
        webcam.set_stealth( true ); // enable stealth mode
    </script>

有人能帮助我吗?提前致谢!

4

0 回答 0