Mailinglisten-Archive |
Hi! Stefan Westermann schrieb: [...] > [...] > $filename = $row['target']; > $fd = fopen ($filename, "r"); > $contents = fread ($fd, filesize ($filename)); > fclose ($fd); > header("Content-type: " . $row['type']); > echo $contents; > [...] > Und hier beginnt das Problem, denn das Skript läd erst alles in den Speicher > und gibt es dann aus. So hast Du es ja auch programmiert. Du willst das _ganze_ File nach Content lesen, deshalb hast Du ja auch filesize ($filename) geschrieben... > Bei kleineren Dateien ist auch das kein Problem, doch bei Dateien die recht > gross sind (über 100kB) > ist das nicht mehr machbar. Es sollen später bis zu 50 MB grosse Dateien > "getunnelt" werden. > Kann mir jemand von euch vielleicht einen Tipp geben, wie das zu realisieren > ist? Vielleicht die Daten nicht auf einmal in einen String einlesen und dann auf einmal ausgeben, sondern in einer Schleife häppchenweise einlesen und ausgeben, also möglicherweise (UNGETESTET) $filename = $row['target']; $fd = fopen ($filename, "r"); header("Content-type: " . $row['type']); while( $contents = fread ($fd, 1024) ) { echo $contents; } fclose ($fd); So ungefähr müßte es klappen. Eventuell terminiert das nicht richtig, dann mußt Du uf die Länge des Strings abfragen... Oliver -- Oliver Fink NetUSE AG, Siemenswall, D-24107 Kiel, Germany Fon: +49 431 386435 00 -- Fax: +49 431 386435 99
php::bar PHP Wiki - Listenarchive