如何使用PHP连接门禁读卡器?

9

我想使用一台门禁卡读取器与PHP配合使用。我正在为大学的考勤监控做这件事情。是否有中间技术可以用来将门禁卡读取器的读数传输到数据库中?


读卡器将物理连接到服务器上,还是您需要通过浏览器从客户端获取读取? - deceze
5个回答

17

我知道回答这个问题已经有些晚了,但我正在构建一个类似的产品。与其他答案不同,这实际上可以使用简单的读卡器来实现。基于USB的读卡器作为简单的键盘输入设备,所以当一个人准备刷卡时,确保文本框处于焦点状态,然后进行刷卡操作。

然后,您可以获取读取的键盘数据并将其推送到隐藏的输入框中,然后在服务器端(甚至可以在一些JavaScript情况下在客户端)进行处理。我使用了大量的jQuery来使客户端的过程更加无缝,因此它并不像我描述的那么简单,但是肯定是可行的。

这里提供了一个.NET示例,您可以将其移植到PHP

编辑:2016年2月

我创建了一个GitHub Gist,其中包含一个非常简单的jQuery实现。


这是一个失效的链接。 - Orbiting Eden
当我访问 .NET 示例时,它返回一个运行时错误。 - Rotimi
@AkintundeOlawale,这个Gist有帮助吗? - AngeloS

5
我以前用过条形码扫描器,我们使用的那种就像键盘一样,基本上是把它读到的内容“输入”进去,然后回车。也许你的卡片阅读器可以或者已经做了类似的事情?
如果是这种情况,您可以设置一个非常简单的表单,有一个文本输入框,并使用JavaScript自动聚焦到输入框上。然后将该表单提交到一个PHP脚本,记录下它所得到的内容。
我曾看到一次使用卡片扫描器作为时间记录设备。我的公司在计算机上使用了它,在显示器上全屏显示当前状态的页面上。当有人刷卡时,它会触发一个Perl程序并更新数据库。我想这个页面每隔几秒钟就会刷新一次。
希望我说的某些东西能激发您的灵感。

1
很可能这个不能轻易地与PHP集成。也许可以通过JSON或其他方式实现后端API接口,但读卡器接口需要能够运行并与物理硬件配合工作的东西。
除非你的意思是,你已经有了读数并想将其放入数据库中... PHP可以解析它。

我没有读取...读取必须仅从读卡器接收.....我正在寻找那种接口。 - udaya
我会处理此事并在完成后分享结果。谢谢。 - udaya
实际上,这在PHP中是可能的。USB读卡器充当键盘输入设备,收集可以用于简单输入框的信息,然后PHP可以处理。请参见下面的答案。 - AngeloS

0

我相信其他人说的也有道理。但你也要记住,有些读卡器是3-4层甚至1或2层的。你可以通过简单刷卡将其用作“键盘”,但如果有什么问题,它只会读取第一行。


欢迎来到StackOverflow!您的回答更像是一条评论,请将其作为评论发布并将其从答案中删除。 - Steve H.

0
如果软件与阅读器一起提供,则您可能希望参考其文档以了解它如何输出数据。比方说,如果它输出CSV格式,您可能需要解析CSV并将其存储在数据库中,以便后续可以使用PHP处理。
某些读卡器软件能够直接写入数据库。同样,这完全取决于您所拥有的读卡器品牌和型号。

你知道有哪些读卡器品牌可以直接写入数据库吗? - udaya
我猜你来自印度,我不了解那里的品牌。在马来西亚有一个叫做__Soyal__的品牌,他们有一系列带有客户端服务器软件的门禁控制器。该软件充当读卡器和数据库之间的接口。Stack Overflow可能对此并不是很有帮助,你需要寻找其他论坛。 - Nirmal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接