PageRenderTime 25ms CodeModel.GetById 27ms RepoModel.GetById 1ms app.codeStats 0ms

/service_tp50.php

https://gitlab.com/goyz87/dacon-pc
PHP | 258 lines | 136 code | 22 blank | 100 comment | 32 complexity | dc6d17aaf73ecc2f0c563b7b268833c1 MD5 | raw file
  1. <?Php
  2. function service_tp50(){
  3. /*$servername = "localhost";
  4. $database = "vms";
  5. $username = "root";
  6. $password = "rumahkusyurgaku";
  7. */
  8. $servername = "localhost";
  9. $database = "dacon";
  10. $username = "root";
  11. $password = "";
  12. //echo "$servername";exit;
  13. $conn = mysqli_connect($servername, $username, $password, $database);
  14. // Check connection
  15. if (!$conn) {
  16. die("Connection failed: " . mysqli_connect_error());
  17. }
  18. $sql = "SELECT * FROM tbl_seting_path";
  19. $path = $conn->query($sql)->fetch_assoc();
  20. $dir = $path["path_ftp"];
  21. $dir_repo = $path["path_cut"];
  22. $file = scandir($dir, 1);
  23. $jml_file=count($file);
  24. $sts=0;
  25. $list=getDirContents($dir,$path);
  26. //echo "<pre>";print_r($list);exit;
  27. foreach($list as $a=>$b){
  28. /*$sql = "SELECT * FROM tbl_data_kendaraan WHERE plat_number='".$b["plat_number"]."' AND capture_date='".$b["capture_date"]."'";
  29. $ck = $conn->query($sql)->fetch_assoc();
  30. $qr="";
  31. $c_thn=substr($b["capture_date"],0,4);
  32. $c_bln=substr($b["capture_date"],4,2);
  33. $c_tgl=substr($b["capture_date"],6,2);
  34. $c_date=$c_thn."-".$c_bln."-".$c_tgl;
  35. if(isset($ck["plat_number"])){
  36. if(isset($b["file_foto"])){
  37. $f="file_foto";
  38. $v=$b["file_foto"];
  39. $qr="speed='".$b["speed"]."',";
  40. }
  41. if(isset($b["file_flat"])){
  42. $f="file_flat";
  43. $v=$b["file_flat"];
  44. }
  45. $sql="UPDATE tbl_data_kendaraan SET plat_number='".$b["plat_number"]."',capture_date='".$c_date."',".$qr.$f." = '".mysqli_real_escape_string($conn, $v)."',lane_no='".$b["lane_no"]."' WHERE plat_number='".$b["plat_number"]."' AND capture_date='".$b["capture_date"]."' ";
  46. $conn->query($sql);
  47. echo "Update Data Berhasil Masuk Plat -> ".$b["plat_number"]." <br>";
  48. }else{
  49. if(isset($b["file_foto"])){
  50. $f="file_foto";
  51. $v=$b["file_foto"];
  52. }
  53. if(isset($b["file_flat"])){
  54. $f="file_flat";
  55. $v=$b["file_flat"];
  56. }
  57. $sql="INSERT INTO tbl_data_kendaraan (plat_number,capture_date,capture_time,speed,$f,lane_no) VALUES ('".$b["plat_number"]."','".$c_date."','".$b["capture_time"]."','".$b["speed"]."','".mysqli_real_escape_string($conn, $v)."','".$b["lane_no"]."')";
  58. $conn->query($sql);
  59. //$this->db->insert('tbl_data_kendaraan',$b);
  60. echo "Data Baru Berhasil Masuk Plat -> ".$b["plat_number"]." <br>";
  61. }
  62. */
  63. $sql="INSERT INTO tbl_data_kamera (ip_camera,tgl,jam,cl_kategori_id,create_date,create_by,file,file_name) VALUES ('".$b["ip_camera"]."','".$b["tgl"]."','".$b["jam"]."','".$b["cl_kategori_id"]."','".date('Y-m-d H:i:s')."','SYS','".mysqli_real_escape_string($conn, $b["file"])."','".$b["file_name"]."')";
  64. $conn->query($sql);
  65. }
  66. $file = scandir($dir, 1);
  67. //recurse_copy($dir.'192.168.5.61', $dir_repo.'192.168.5.61');
  68. //echo $dir;exit;
  69. //echo "<pre>";print_r($file);exit;
  70. if($jml_file > 2 ){
  71. foreach($file as $v=>$x){
  72. if($x!="." && $x!=".."){
  73. //rename_win($dir.$x, $dir_repo.$x);
  74. recurse_copy($dir.$x, $dir_repo.$x);
  75. echo $x." -> Status : Sukses <br>";
  76. $sts=1;
  77. }
  78. }
  79. rrmdir($path["path_ftp"]);
  80. }else{
  81. echo "Tidak Ada File Untuk Diexport";
  82. }
  83. mysqli_close($conn);
  84. }
  85. function getDirContents($dir,$dir_repo,&$results = array()) {
  86. //print_r($dir_repo);exit;
  87. $servername = "localhost";
  88. $database = "dacon";
  89. $username = "root";
  90. $password = "";
  91. //echo "$servername";exit;
  92. $conn = mysqli_connect($servername, $username, $password, $database);
  93. // Check connection
  94. if (!$conn) {
  95. die("Connection failed: " . mysqli_connect_error());
  96. }
  97. $dir_ftp=$dir_repo["path_ftp"];
  98. $dir_rep=$dir_repo["path_cut"];
  99. $files = scandir($dir);
  100. //echo $dir_ftp."<br>".$dir_rep;exit;
  101. //echo "<pre>";print_r($files);exit;
  102. foreach ($files as $key => $value) {
  103. //$path_repo = realpath($dir_repo . DIRECTORY_SEPARATOR . $value);
  104. $path = realpath($dir . DIRECTORY_SEPARATOR . $value);
  105. //echo $value;exit;
  106. //if($value!='.' && $value!='..') {echo is_dir($path);exit;}
  107. if (!is_dir($path)) {
  108. $ext = pathinfo($value, PATHINFO_EXTENSION);
  109. if($ext=='JPG' || $ext=='jpg' || $ext=='JPEG' || $ext=='jpeg'){
  110. //echo $ext;exit;
  111. $ex=explode("-",$value);
  112. $ip=$ex[0];
  113. if(substr($ip,0,5)!='Plate'){
  114. $nama_kamera=$ex[1];
  115. $kat=$ex[2];
  116. $waktu=$ex[3];
  117. $thn=substr($waktu,0,4);
  118. $bln=substr($waktu,4,2);
  119. $hr=substr($waktu,6,2);
  120. $jam=substr($waktu,8,2);
  121. $menit=substr($waktu,10,2);
  122. $detik=substr($waktu,12,2);
  123. $tgl=$thn.'-'.$bln.'-'.$hr;
  124. $waktu=$jam.':'.$menit.':'.$detik;
  125. $sql = "SELECT * FROM cl_kategori WHERE kategori='".$kat."'";
  126. $ck = $conn->query($sql)->fetch_assoc();
  127. if(isset($ck["id"])){
  128. $kat_id=$ck["id"];
  129. }else{
  130. $kat_id=4;
  131. }
  132. //echo $tgl. ' '.$waktu.' '.$kat_id;exit;
  133. //print_r($ex);exit;
  134. $path_repo =str_replace($dir_ftp,$dir_rep,$path);
  135. $dt=array('ip_camera'=>$ip,'tgl'=>$tgl,'jam'=>$waktu,'cl_kategori_id'=>$kat_id,'file_name'=>$value);
  136. $dt["file"]=$path_repo;
  137. //echo $conn->real_escape_string($path_repo);exit;
  138. /*$pc=explode('.',$ex[5]);
  139. if($pc[0]=='MOBIL1'){
  140. $dt=array('plat_number'=>$ex[2],'capture_date'=>$ex[0],'capture_time'=>$ex[1],'speed'=>$ex[3],'lane_no'=>$ex[4]);
  141. $dt["file_foto"]=$path_repo;
  142. }else{
  143. $dt=array('plat_number'=>$ex[3],'capture_date'=>$ex[0],'capture_time'=>$ex[1],'speed'=>$ex[2],'lane_no'=>$ex[4]);
  144. $dt["file_flat"]=$path_repo;
  145. }
  146. */
  147. //echo "<pre>";print_r($dt);exit;
  148. $results[] = $dt;
  149. }else{
  150. //unlink($dir_ftp.$value);
  151. //return TRUE;
  152. }
  153. }else{
  154. //unlink($dir_ftp.$value);
  155. //return TRUE;
  156. }
  157. //$results[] = $path;
  158. } else if ($value != "." && $value != "..") {
  159. getDirContents($path,$dir_repo, $results);
  160. //$results[] = $path;
  161. }
  162. }
  163. mysqli_close($conn);
  164. return $results;
  165. }
  166. function rename_win($oldfile,$newfile) {
  167. if (!rename($oldfile,$newfile)) {
  168. if (copy ($oldfile,$newfile)) {
  169. unlink($oldfile);
  170. return TRUE;
  171. }
  172. return FALSE;
  173. }
  174. return TRUE;
  175. }
  176. function recurse_copy($src,$dst) {
  177. $dir = opendir($src);
  178. @mkdir($dst);
  179. while(false !== ( $file = readdir($dir)) ) {
  180. if (( $file != '.' ) && ( $file != '..' )) {
  181. if ( is_dir($src . '/' . $file) ) {
  182. recurse_copy($src . '/' . $file,$dst . '/' . $file);
  183. //unlink($src . '/' . $file,$dst . '/' . $file);
  184. chmod($src . '/' . $file,777);
  185. //unlink($src . '/' . $file);
  186. }
  187. else {
  188. copy($src . '/' . $file,$dst . '/' . $file);
  189. chmod($src . '/' . $file,777);
  190. //unlink($src . '/' . $file);
  191. }
  192. }
  193. }
  194. closedir($dir);
  195. //rrmdir($dir);
  196. }
  197. function rrmdir($dir) {
  198. if (is_dir($dir)) {
  199. $objects = scandir($dir);
  200. foreach ($objects as $object) {
  201. if ($object != "." && $object != "..") {
  202. if (is_dir($dir. DIRECTORY_SEPARATOR .$object) && !is_link($dir."/".$object)){
  203. chmod($dir. DIRECTORY_SEPARATOR .$object,0777);
  204. rrmdir($dir. DIRECTORY_SEPARATOR .$object);
  205. }
  206. else{
  207. chmod($dir. DIRECTORY_SEPARATOR .$object,0777);
  208. unlink($dir. DIRECTORY_SEPARATOR .$object);
  209. }
  210. }
  211. }
  212. // rmdir($dir);
  213. }
  214. }
  215. /*
  216. $al=new alarm();
  217. if ($result->num_rows > 0) {
  218. while($row = $result->fetch_assoc()) {
  219. $sts=$al->send_firebase($notification,$row["firebase_token"]);
  220. //echo "token: " . ."<br>";
  221. }
  222. } else {
  223. echo "0 results";
  224. }
  225. echo $sts;
  226. */
  227. service_tp50();
  228. ?>