Hallo,
1. Problem:
ich habe eine Datei, in die drei Zahlen wie folgt reingeschrieben werden:
$handle = fopen('test.bin', "a"));
fwrite($handle, pack ("VVV", 1262698832, 44927, 128)));
fclose($handle);
Mein Ziel ist es nun, diese Werte später auch wieder aus der Datei zu lesen. Momentan klappt es bei mir so:
$handle = fopen('test.bin', 'rb');
$data = fread($handle, 4);
$raw = unpack("V", $data);
$zahl1 = $raw[1];
$data = fread($handle, 4);
$raw = unpack("V", $data);
$zahl2 = $raw[1];
$data = fread($handle, 4);
$raw = unpack("V", $data);
$zahl3 = $raw[1];
fclose($handle);
Gibt es eine Möglichkeit, die Zahlen "eleganter" auszulesen - also mit einem einzigen unpack Befehl? Ich habe versucht unpack("VVV", $data), wobei in $data dann auch alles drin stand. Das klappte irgendwie nicht, es kam nur die erste Zahl heraus.
2. Problem:
Mit folgendem Befehl werden binärdaten gepackt:
$data = pack('a56@56VV', 'irgendeinstring', 44927, 128);
Hier versteh ich den pack Befehl noch nicht mal. Ich habe keine Ahnung wie ich die drei Ursprungswerte mit unpack zurück bekomme. Kann mir da jemand helfen?
mfG
Niehztog