我有一台网络摄像机(D-LINK DCS-2130)和一个网站。摄像头没有"访客"选项(或者我没有找到它在哪里?),所以我需要授权我的网站显示摄像头的图像。显示图像的正确方式是什么?
我有两个想法:
- 创建getImage.php,它将向相机发送登录+通行证(cURL)并获取图像。在我的站点代码中,我将使用
src="getImage.php"
- 创建相同的getImage.php,它将发送login+pass(cURL),获取图像,将其本地存储到
/myCameraSnapshots/Image.jpg
wait()
1秒,然后获取新图像并在本地覆盖它
第一种方法将对相机进行多次请求(1个查看器-1个请求),第二种方法将加载服务器的CPU,但不会干扰相机的授权。
我希望你能说"你是个白痴!有一种简单的方法可以从受保护的文件夹中获取图像!只需…";)
假设您在getImage.php
中进行了正确的授权,第二种方法(使用缓存)可能会更高效。
如果getImage.php
使用Content-Type
标头,则只需将/myCameraSnapshots
放置在web服务器根目录之外(或仅限于本地访问),然后根据需要使用readfile
在调用时转储内容。
根据相机上的图像更改的频率,您还需要一种方法来使缓存的图像无效(可能是通过删除它),这将提示getImage.php
再次向相机请求它。
我已经找到了这个相机的访客密码(访客:访客),所以我的问题解决了,但无论如何,每个人都应该阅读答案,你可以在其中找到你问题的答案!