Ist ja interessant. Vielleicht versuchst du mal die Reihenfolge der Header zu ändern. Ich würde auch mit Wireshark mal mitschneiden. Eventuell solltest du das Script mal auf einem "richtigen Server" (also kein Windows
) testen. Versuche doch außerdem mal, die Datentypen richtig zu behandeln und vorher strval() auf die Größe anzuwenden. Außerdem kannst du die Dateigröße mal in eine Variable zwischenspeichern. Und zu guter letzt kannst du ja mal einen anderen Workaround für das 32-Bit-Problem probieren.
Liebe Grüße,
Valentin