1

我正在使用 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

4

0 回答 0