2012-09-20 47 views
3

我有一个网络摄像头,当点击http://192.0.0.8/image/jpeg.cgi时会生成视频快照。问题是,通过直接访问根(即192.0.0.8),用户可以访问实时视频源,所以我希望完全隐藏该地址。使用PHP来掩盖图像生成CGI脚本的URL

我建议的解决方案是使用PHP来检索图像并在http://intranet/monitor/view.php上显示它。尽管用户可以通过重复打开这个新地址来创建动画,但我认为这种可能性不大。

我已经尝试过以各种方式使用include()readfile(),但是并没有真正经常使用PHP来了解我是否正朝着正确的方向前进。我迄今为止最好的尝试导致了输出jpeg内容,但我没有将代码保存足够长的时间与您分享。

任何意见,将不胜感激。如果你想限制图像刷新时间,然后使用相同的脚本,但保存所有用户共享的地方last_request_time(DB,文件

$timelimit = 30;//Limit in seconds 

if(!isset($_SESSION['last_request_time'])) { 
    $_SESSION['last_request_time'] = time(); 
} 

if(time() > $_SESSION['last_request_time'] + $timelimit) { 
    //prepare and serve a new image 
} else { 
    //serve an old image 
} 

+1

对同一用户请求放了一些时间限制 – Champ

回答

0

一个简洁的方式来做到这一点如下:

header('Content-Type: image/jpeg'); 
readfile('http://192.0.0.8/image/jpeg.cgi'); 

的JPEG是再从流返回给浏览器的文件,直接的内容。

0

如果你想限制每个用户的请求,然后用这个,高速缓存)

+0

谢谢,我会这样做。我只需要现在隐藏网址。 – mosi