Berikut ini adalah contoh coding data presensi dengan mesin X103C.
Misal IP address 192.168.0.201 dan key atau passwordnya: 123

$ip=”192.168.0.201″;
$key=”123″;

$Connect = fsockopen($ip, “80”, $errno, $errstr, 1);
if($Connect)
{
    $soap_request=”<GetAttLog><ArgComKey xsi:type=\”xsd:integer\”>”.$key.”</ArgComKey><Arg><PIN xsi:type=\”xsd:integer\”>All</PIN></Arg></GetAttLog>”;
    $newLine=”\r\n”;
    fputs($Connect, “POST /iWsService HTTP/1.0”.$newLine);
    fputs($Connect, “Content-Type: text/xml”.$newLine);
    fputs($Connect, “Content-Length: “.strlen($soap_request).$newLine.$newLine);
    fputs($Connect, $soap_request.$newLine);
    $buffer=””;
    while($Response=fgets($Connect, 1024)){
            $buffer=$buffer.$Response;
    }
}
else
{
    die(“Koneksi Gagal”);
}

Datanya adalah pada variable $buffer, jika kita ingin menampilkan maka programnya:
$log_response=Parse_Data($buffer,”<GetAttLogResponse>”,”</GetAttLogResponse>”);
$log_response=str_replace(“\r\n”,”\n”,$log_response);
$a_log_response=explode(“\n”,$log_response);
for($a=0;$a<count($a_log_response);$a++)
{
    $baris=Parse_Data($a_log_response[$a],”<Row>”,”</Row>”);
    $PIN=(int)Parse_Data($baris,”<PIN>”,”</PIN>”);
    $DateTime=Parse_Data($baris,”<DateTime>”,”</DateTime>”);
    $Verified=Parse_Data($baris,”<Verified>”,”</Verified>”);
    $Status=Parse_Data($baris,”<Status>”,”</Status>”);
    if ($PIN)
    {
        echo “\n<br/>pin=$PIN, time:$DateTime, verified=$Verified, status=$Status”;
    }
}

Sedang function dari Parse_Data sendiri adalah:
function Parse_Data($data,$p1,$p2){
    $data=” “.$data;
    $hasil=””;
    $awal=strpos($data,$p1);
    if($awal!=””){
        $akhir=strpos(strstr($data,$p1),$p2);
        if($akhir!=””){
            $hasil=substr($data,$awal+strlen($p1),$akhir-strlen($p1));
        }
    }
    return $hasil;    
}

Artikel terkait :
PHP Library for ZK Time & Attendance Deviceshttps://github.com/cobisja/tad-php .

Kunjungi www.proweb.co.id untuk menambah wawasan anda.

Download data absensi dengan PHP