'error','message'=>'Tidak diizinkan']); exit; } include "koneksi.php"; if (!isset($_FILES['csvfile']) || $_FILES['csvfile']['error'] !== UPLOAD_ERR_OK) { echo json_encode(['status'=>'error','message'=>'File tidak ditemukan atau gagal upload']); exit; } $tmpPath = $_FILES['csvfile']['tmp_name']; $handle = fopen($tmpPath, 'r'); if (!$handle) { echo json_encode(['status'=>'error','message'=>'Gagal membaca file CSV']); exit; } $inserted = 0; $skipped = 0; $rowNum = 0; while (($row = fgetcsv($handle, 1000, ',')) !== false) { $rowNum++; if ($rowNum === 1) continue; // skip header // Expected columns: nama, alamat, keterangan, latitude, longitude if (count($row) < 5) { $skipped++; continue; } $nama = $conn->real_escape_string(trim($row[0])); $alamat = $conn->real_escape_string(trim($row[1])); $ket = $conn->real_escape_string(trim($row[2])); $lat = doubleval($row[3]); $lng = doubleval($row[4]); if (!$nama || !$lat || !$lng) { $skipped++; continue; } $sql = "INSERT INTO tb_rumah (nama, alamat, keterangan, latitude, longitude) VALUES ('$nama', '$alamat', '$ket', $lat, $lng)"; if ($conn->query($sql)) { $inserted++; } else { $skipped++; } } fclose($handle); echo json_encode([ 'status' => 'success', 'inserted' => $inserted, 'skipped' => $skipped ]); ?>