我正在使用 PHP 语言处理我的生物识别 Zkteco 我正在使用以下存储库https://github.com/vodvud/php_zklib在其中创建连接的应用程序。但是我在插入用户或将数据从生物识别 A 复制到 B、C 等时遇到了一些错误。
我正在使用以下代码:
<?php
include('zklib/ZKLib.php');
date_default_timezone_set('Asia/Manila'); //Default Timezone
$users = [];
//Main device
$zk = new ZKLib('192.168.5.166');
$ret = $zk->connect();
if ($ret) {
$zk->disableDevice();
//Get users
$users = $zk->getUser();
$zk->enableDevice();
}
$zk->disconnect();
if (count($users) > 0) {
//Sync devices list
echo (count($users));
$devices = [
'192.168.5.167',
'192.168.5.163'
];
foreach ($devices as $ip) {
$zk = new ZKLib($ip);
//$zk = new ZKLib('192.168.5.167');
$ret = $zk->connect();
if ($ret) {
$zk->disableDevice();
//Remove old users
$zk->clearUsers();
foreach ($users as $user) {
//Add user
$zk->setUser(
$user['uid'],
$user['userid'],
$user['name'],
$user['password'],
$user['role'],
$user['cardno']
);
}
$zk->enableDevice();
}
$zk->disconnect();
}
$zk->setTime(date('Y-m-d H:i:s'));
}
我尝试以下代码,但有些插入但不在其位置,有些没有数据同步。
没有数据显示到其他设备
A. 示例 1
$zk->setUser(
$user['uid'],
$user['userid'],
$user['name'],
$user['cardno'],
$user['role'],
$user['password']
);
B. 样品 2
$zk->setUser(
$user['uid'],
$user['userid'],
$user['name'],
$user['password'],
$user['role'],
$user['cardno']
);
数据副本但位置不正确
$zk->setUser(
$user['userid'],
$user['name'],
$user['cardno'],
$user['uid'],
$user['role'],
$user['password']
);
我已经创建了问题:https
://github.com/vodvud/php_zklib/issues/19
我的仓库:https ://github.com/aice09/php_zklib-1/blob/master/sync.php