Mengambil Data Absensi X100C Dengan PHP
Saat membantu teman saya mengambil data absen dari mesin absen X100C, saya mencari ke berbagai sumber. Berikut cara menarik data mesin absen X100C dengan PHP.
Tarik Data
Misal IP address yang di set pada mesin absen adalah 192.168.1.220 dan keynya adalah 0. Lalu buatlah script php dengan isi berikut.
$IP = "192.168.1.220"; $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]['pin'] = Parse_Data($data,"<PIN>","</PIN>"); $export[$a]['waktu'] = Parse_Data($data,"<DateTime>","</DateTime>"); $export[$a]['status'] = Parse_Data($data,"<Status>","</Status>"); } echo '<pre>'; print_r($export);
Setelah itu sisipkan function Parse_Data() dengan script berikut.
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; }
Maka hasil dari data tersebut akan didapatkan dengan variable $export.
Hapus Data
Untuk melakukan hapus data log presensinya, Anda bisa menghapus dengan cara berikut:
$Connect = fsockopen($IP, "80", $errno, $errstr, 1); if ($Connect) { $soap_request = "<ClearData> <ArgComKey xsi:type=\"xsd:integer\">".$Key."</ArgComKey> <Arg><Value xsi:type=\"xsd:integer\">3</Value></Arg> </ClearData>"; $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";
Pada saat saya ingin membuat aplikasi saya melakukan backup database secara otomatis, maka saya membuat sebuah script di CodeIgniter untuk…
Saat ini direct printing masih menjadi andalan dalam urusan cetak terlebih dalam urusan mencetak struk ataupun cetakan yang menggunakan dot…