Der Martin: Große Dateien aufspringen mit PHP / Shell

Beitrag lesen

Hi,

Die Verwendung von split() ist unsinnig.

diese Aussage ist unsinnig.

Binärdateien enthalten bytes aller wertigkeiten und es ist nicht möglich, ein Zeichen bzw. eine Bytesequenz zu bestimmen an welcher das splitten erfolgen sollte.

Genau deshalb splittet man in einem solchen Fall ja ohne Rücksicht auf den Dateiinhalt an festen, üblicherweise gleichbleibenden Byte-Offsets.

Ob und wie man die einzelnen Fragmente dann noch sinnvoll verarbeiten kann, steht auf einem anderen Blatt. Es gibt Dateiformate (vor allem im Multimedia-Bereich), bei denen das ohne allzu große Nachteile möglich ist, etwa bei mp3-Dateien. Man würde wahrscheinlich an der Trennstelle einen mp3-Datenblock verlieren, aber der Rest ist noch ohne weiteres abspielbar.

Und wenn das Splitten gar nur der Zerlegung in "handliche" Brocken dient, spielt die Trennstelle gar überhaupt keine Rolle, weil man die Fragmente hinterher wieder verlustfrei zusammenfügen kann - so wie man das früher gemacht hat, wenn man große Dateien auf mehrere Disketten packen wollte. Erinnert sich noch jemand an die Dinger? ;-)

So long,
 Martin

--
Nothing travels faster than the speed of light with the possible exception of bad news, which obeys its own special laws.
- Douglas Adams, The Hitchhiker's Guide To The Galaxy