у меня есть вопрос, который я не могу найти ответ
я использую следующий код для записи данных из базы данных в двоичный файл:
$data = array();
$prev = 1;
$i=0;
$query="select wc.MAC, ws.SIGNAL_STRENGTH, ws.ID, ws.USER_SCAN from wifi_cell as wc, wifi_scan as ws where ws.WIFI_CELL=wc.ID";
$result=kmysql_query($query);
while ($row = mysql_fetch_array($result, MYSQLI_ASSOC)) {
$data[] = array(0,0,0,null,$row['MAC'],$row['SIGNAL_STRENGTH'],null,$row['USER_SCAN']);
$i++;
}
mysql_free_result($result);
$j=0;
$query="select ul.LATITUDE, ul.LONGITUDE,ul.ALTITUDE, ul.TIME from user_location as ul where 1";
$result=kmysql_query($query);
while ($row = mysql_fetch_array($result, MYSQLI_ASSOC)) {
while ($j<$i) {
if ($data[$j][7] == $prev) {
$data[$j][0] = $row['LATITUDE'];
$data[$j][1] = $row['LONGITUDE'];
$data[$j][2] = $row['ALTITUDE'];
$data[$j][3] = $row['TIME'];
$j++;
}
else {
$prev = $data[$j][7];
break;
}
}
}
mysql_free_result($result);
$handle = fopen('C:\\Users\\Duc Nguyen\\Desktop\\text1.bin', 'r+');
ftruncate($handle, 0);
fclose($handle);
for ($j=0;$j<$i;$j++) {
$data[$j][0] = pack("d*",$data[$j][0]);
$data[$j][1] = pack("d*",$data[$j][1]);
$data[$j][2] = pack("d*",$data[$j][2]);
$data[$j][3] = pack("A*",$data[$j][3]);
$data[$j][4] = pack("Z*",$data[$j][4]);
$data[$j][5] = pack("d*",$data[$j][5]);
$data[$j][6] = pack("A*",$data[$j][6]);
$data[$j][7] = pack("d*",$data[$j][7]);
file_put_contents('C:\\Users\\Duc Nguyen\\Desktop\\text1.bin', $data[$j], FILE_APPEND);
}
но теперь двоичный файл содержит много типов данных, и я не знаю, как их читать. Можете ли вы показать мне, как читать их в PHP? а также с ++?
Задача ещё не решена.
Других решений пока нет …