我正在尝试在我的网站上实现一个网络摄像头“插件”。我搜索了很多并找到了一些选项:
- 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>
有人能帮助我吗?提前致谢!