fgets bei GIF oder PDF - nur die ersten paar Bytes?
Peter Thomassen
- php
Hi ihr,
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?
Code:
$fp = fopen($file,"r");
$content = fgets($fp,filesize($file) + 1);
fclose($fp);
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.
Bye,
Peter
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
Hi,
$content = implode("", file($file) ); // Mein Liebling
Wir haben was gemeinsam - Danke!
Bye,
Peter ;o)