Hallo Hopsel,
fwrite($fp, $content);
...benutzt aber fwrite(), das Binärdaten schreibt.
hier bist du imho auf die deutsche Übersetzung reingefallen - die englische Seite spricht von "Binary-safe file write" und "binärsicher" und "Binärdaten" sind verschiedene Dinge.
Grüße aus Nürnberg
Tobias