mengambil data absensi dari mesin fingerprint solution x100c dengan PHP SOAP


Kali ini saya akan membahas tentang bagaimana mengambil data absensi dari mesin fingerprint solution x100c dengan PHP SOAP? apa tujuannya.? dan apa keuntungannya.?

Tujuannya adalah untuk memudahkan pengambilan data absensi bila anda mempunyai aplikasi atau sedang membangun suatu aplikasi yang terintegrasi dengan mesin absensi sehingga bisa ambil data secara realtime.

Keuntungannya adalah meninggalkan cara lama dengan export data kemudian import data ke aplikasi yang sedang di buat atau aplikasi yang sudah ada, kegiatan seperti ini tentu merepotkan juga mempermudah pekerjaan.

Dengan mengambil data langsung dari finger print solutiob X100C banyak hal yang bisa dikembangkan, misalnya keperluan data untuk makan di kantin agar sesuai pesanan dengan jumlah karyawan yang masuk, itu hanya salah satu contoh masih banyak hal yang lain yang bisa di kembangkan.

Langsung saja berikut adalah sorce code PHP nya untuk ambil data dari mesin fingerprint X100C :

<?php
$IP  = "192.168.1.1"; //isi dengan ip fingerprint
$Key = "0";

$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 echo "Koneksi Gagal";

$buffer = Parse_Data($buffer,"<GetAttLogResponse>","</GetAttLogResponse>");
$buffer = explode("\r\n",$buffer);

for ($a=0; $a<count($buffer); $a++) {
  $data=Parse_Data($buffer[$a],"<Row>","</Row>");

  $export[$a]['1'] = Parse_Data($data,"","");
  $export[$a]['2'] = Parse_Data($data,"","");
  $export[$a]['3'] = Parse_Data($data,"","");
}
echo '<pre>';
print_r($export);

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;    
}
?>

Silahkan copas code di atas dan simpan dengan nama finger.php di direktori C:/XAMPP/htdocs
kemudian jalankan dengan memanggil file via URL di web browser, silahkan ketikkan URL berikut localhost/finger.php 

jika berhasil anda akan mendapatkan data berupa array multidimensi atau array di dalam array seperti screenshot di bawah ini :



Untuk memanggil array multidimensi secara otomatis kita bisa memanfaatkan looping pemanggilan array multidimensi, silahkan copas kode di bawah ini, 

foreach ($export as $datamu => $nilai)
 {
   
   foreach ($nilai as $export => $value)
   {
     echo ""." ".$datamu[1]." ".$export[2]." "."  ".$value."
";
    }
  }

setelah di copas kemudian simpan ke dalam file finger.php tambahkan kode tersebut di akhir file, kemudian jalankan dengan mengetikkan URL localhost/finger.php, jika berhasil maka anda akan mendapatkan data seperti gambar di bawah ini


Nah, dari penjelasan di atas anda bisa memanfaatkan data tersebut sesuai kebutuhan anda, semoga penjelasan singkat ini bisa bermanfaat dan berguna untuk anda yang membutuhkannya, silahkan di coba dan dipraktekkan karena kegagalan sesungguhnya adalah tidak pernah mencoba.

Happy Coding & Programming
Previous
Next Post »