PHP code example of zillur-web / zkteco-php-sdk

1. Go to this page and download the library: Download zillur-web/zkteco-php-sdk library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

zillur-web / zkteco-php-sdk example snippets




use ZillurWeb\ZktecoPhpSDK\ZktecoFactory;

$zkteco = ZktecoFactory::make('192.168.1.201', 4370, false, 25);
$zkteco->connect();
$attendance = $zkteco->getAttendance();
$zkteco->disconnect();

$config = [
    'host' => '192.168.1.201',
    'port' => 4370,
    'should_ping' => false,
    'timeout' => 25,
    'password' => 0,
];

$zkteco = ZktecoFactory::makeFromConfig($config);
$zkteco->connect();
$attendance = $zkteco->getAttendance();
$zkteco->disconnect();

$devices = [
    'office' => [
        'host' => '192.168.1.201',
        'port' => 4370,
        'should_ping' => false,
        'timeout' => 25,
        'password' => 0,
    ],
    'factory' => [
        'host' => '192.168.1.202',
        'port' => 4370,
        'should_ping' => false,
        'timeout' => 25,
        'password' => 0,
    ],
];

foreach ($devices as $name => $deviceConfig) {
    $zkteco = ZktecoFactory::makeFromConfig($deviceConfig);
    $zkteco->connect();
    $records = $zkteco->getAttendance();

    // Process or store records for this device
    echo "Device: $name - " . count($records) . " records\n";

    $zkteco->disconnect();
}

use ZillurWeb\ZktecoPhpSDK\ZktecoFactory;

// Create a new instance
$zkteco = ZktecoFactory::make('192.168.1.201', 4370, false, 25);

// Or with config array
$zkteco = ZktecoFactory::makeFromConfig([
    'host' => '192.168.1.201',
    'port' => 4370,
    'should_ping' => false,
    'timeout' => 25,
]);

// Use the various services
$attendance = $zkteco->getAttendance();
$users = $zkteco->getUser();

use ZillurWeb\ZktecoPhpSDK\Facades\Zkteco;

// Create instance
$zkteco = Zkteco::make('192.168.1.201', 4370);

// Use services
$attendance = $zkteco->getAttendance();

// In your controller or service
public function __construct(ZKTeco $zkteco)
{
    $this->zkteco = $zkteco;
}

public function getAttendance()
{
    return $this->zkteco->getAttendance();
}

use ZillurWeb\ZktecoPhpSDK\ZktecoFactory;

$factory = app('zkteco');
$zkteco = $factory->make('192.168.1.201');

use ZillurWeb\ZktecoPhpSDK\ZktecoFactory;

$zkteco = ZktecoFactory::make('192.168.1.201', 4370, false, 25);
$zkteco->setPing(false); // optional, disable ping before connect
$connected = $zkteco->connect();

if (! $connected) {
    echo "Unable to connect to device.";
    exit(1);
}

if ($zkteco->ping()) {
    echo "Device is reachable." . PHP_EOL;
}

$version = $zkteco->version();
os = $zkteco->osVersion();
$platform = $zkteco->platform();
$firmware = $zkteco->fmVersion();
$serial = $zkteco->serialNumber();
$vendor = $zkteco->vendorName();
$deviceId = $zkteco->deviceId();
$deviceName = $zkteco->deviceName();
$memoryInfo = $zkteco->getMemoryInfo();

print_r([
    'version' => $version,
    'os' => $os,
    'platform' => $platform,
    'firmware' => $firmware,
    'serial' => $serial,
    'vendor' => $vendor,
    'deviceId' => $deviceId,
    'deviceName' => $deviceName,
    'memoryInfo' => $memoryInfo,
]);

$deviceData = $zkteco->getDeviceData('some_key');
$zkteco->setCustomData('some_key', 'value');
$customValue = $zkteco->getCustomData('some_key');
$zkteco->setPushCommKey('my_push_key');
$pushKey = $zkteco->getPushCommKey();

$users = $zkteco->getUsers();
foreach ($users as $user) {
    echo $user['name'] . " (" . $user['uid'] . ")" . PHP_EOL;
}

$zkteco->setUser(14, '14', 'John Doe', '1234', Util::LEVEL_USER, 0);
$zkteco->removeUser(14);
$zkteco->clearAdminPriv();
// deleteUsers 

$fingerprint = $zkteco->getFingerprint(14);
print_r($fingerprint);

$zkteco->setFingerprint(14, [0 => $fingerprintTemplate]);
$zkteco->removeFingerprint(14, [0]);

$attendance = $zkteco->getAttendance();
foreach ($attendance as $record) {
    echo $record['employee_id'] . " - " . $record['timestamp'] . PHP_EOL;
}

$zkteco->clearAttendance();

$zkteco->setTime(date('Y-m-d H:i:s'));
$currentTime = $zkteco->getTime();

$zkteco->testVoice(0);
$zkteco->writeLCD('Welcome ZKTeco');
$zkteco->clearLCD();

$zkteco->sleep();
$zkteco->resume();
$zkteco->restart();
$zkteco->shutdown();

$zkteco->faceFunctionOn();
$zkteco->disableDevice();
$zkteco->enableDevice();

$zkteco->disconnect();

return [
    'default' => env('ZKTECO_DEFAULT', 'default'),
    
    'devices' => [
        'default' => [
            'host' => env('ZKTECO_HOST', '192.168.1.201'),
            'port' => env('ZKTECO_PORT', 4370),
            'should_ping' => env('ZKTECO_SHOULD_PING', false),
            'timeout' => env('ZKTECO_TIMEOUT', 25),
            'password' => env('ZKTECO_PASSWORD', 0),
        ],
    ],
];

$config = [
    'host' => '192.168.1.201',
    'port' => 4370,
    'should_ping' => false,
    'timeout' => 25,
    'password' => 0,
];

$zkteco = ZktecoFactory::makeFromConfig($config);

use ZillurWeb\ZktecoPhpSDK\ZktecoFactory;

$zkteco = ZktecoFactory::make('192.168.1.201', 4370, false, 25);
$zkteco->connect();
$attendance = $zkteco->getAttendance();

foreach ($attendance as $record) {
    echo $record['employee_id'] . " - " . $record['timestamp'] . PHP_EOL;
}

$zkteco->disconnect();

use ZillurWeb\ZktecoPhpSDK\ZktecoFactory;

$zkteco = ZktecoFactory::make('192.168.1.201', 4370, false, 25);
$zkteco->connect();
$users = $zkteco->getUsers();

foreach ($users as $user) {
    echo $user['name'] . " (" . $user['uid'] . ")" . PHP_EOL;
}

$zkteco->disconnect();

use ZillurWeb\ZktecoPhpSDK\ZktecoFactory;

$zkteco = ZktecoFactory::make('192.168.1.201', 4370, false, 25);
$zkteco->connect();
$fingerprint = $zkteco->getFingerprint(14);

print_r($fingerprint);

$zkteco->disconnect();

use ZillurWeb\ZktecoPhpSDK\ZktecoFactory;

$zkteco = ZktecoFactory::make('192.168.1.201', 4370, false, 25);
$zkteco->connect();
$version = $zkteco->version();
$serialNumber = $zkteco->serialNumber();
$vendor = $zkteco->vendorName();

echo "Device: $vendor, Version: $version, Serial: $serialNumber" . PHP_EOL;

$zkteco->disconnect();
bash
php artisan vendor:publish --provider="ZillurWeb\\ZktecoPhpSDK\\ZktecoPhpServiceProvider"