Henryk Plötz: fgets bei GIF oder PDF - nur die ersten paar Bytes?

Beitrag lesen

Moin,

wenn ich mit fgets den Inhalt einer GIF- oder PDF-Datei einzulesen
versuche, sind anschließend in meiner Zielvariablen nur die ersten
paar Bytes. Wieso?

Steht doch in der Doku: "Reading ends when length - 1 bytes have been read, on a newline (which is included in the return value), or on EOF (whichever comes first)." http://www.php.net/manual/en/function.fgets.php

Bei dir wird wahrscheinlich Fall 2 eintreten, du hast also einen Zeilenumbruch gefunden.

Hoffe, dass ihr mir helfen könnt. readfile() kann ich nicht ver-
wenden, weil der Content nicht ausgelesen, sondern in eine Daten-
bank geschrieben werden soll.

Dann nimm fread() als Ersatz für fgets(), dass hält bei einem Zeilenumbruch nicht an.

Weitere Möglichkeiten:
$content = implode("", file($file) ); // Mein Liebling

oder

ob_start();
readfile($file);
$content=ob_end_clean(); // Warum einfach wenn es auch kompliziert geht ;)

--
Henryk Plötz
Grüße aus Berlin