Readfile() ohne anzahl der gelesenen bytes

Hi!

Kann mir hier einer sagen, wie ich bei Benutzung von readfile() die nervige Zahl am Ende der gelesenen Datei loswerde, die die Anzahl der gelesenen bytes darstellt?

Ich frage mich, was das überhaupt soll… sinnlos! Egal, vielleicht verstehe ich irgendetwas falsch. Auf jeden Fall finde ich es *etwas* unpraktisch, jedesmal per str_replace die Zahl rauszulöschen…

Hi!

Kann mir hier einer sagen, wie ich bei Benutzung von
readfile() die nervige Zahl am Ende der gelesenen Datei
loswerde, die die Anzahl der gelesenen bytes darstellt?

kann sie eigentlich nur amchen, wenn du notiert hast:

print readfile();

readfile gibt selber aus…

Verstehe ich nicht so recht…

Also wenn ich

<?php $a = readfile($file);?>

habe, gibt es keine Ausgabe.

Wenn ich

<?php $a=readfile($file); echo $a;?>

schreibe, dann hängt hinter dem file noch die Länge dran.

Benutze ich:

<?php $read = readfile("http://php.xyrd.com/links.php"); $read = str_replace ( str_replace( ")", "", str_replace("int(", "", var_export($read, true))), "", $read); echo $read;?>

dann werden die bytes nicht mehr ausgegeben. Muss aber doch auch einfacher gehn…? Das ist mir auf dauer zu unpraktisch und zu lang. Zudem kann ich mir’s nicht merken und muss es jedesmal wieder herleiten…

ok, ich dachte du schaust noch mal ins manual.

readfile gibt das file direkt aus (ausgabepuffer, wie print od. echo), und die laenge des output an den aufruf zurueck. um also nur das file auszugeben, darfst du den rueckgabewert von readfile nicht mehr ausgeben.

Arghl, ok, das war mal wieder ein extremer Schlauch-Steher.

Hab mir’s in 3 Handbüchern mehrere Male durchgelesen, aber irgendwie hab ich die ganze Zeit den Wald vor lauter Bäumen nicht gesehen.

Danke! Ich glaub in Zukunft les ich nur noch LAUT, dann kommt mein Gehirn nicht in Versuchung, die „unwichtigen Teile“ auszustreichen. :wink:

( Aber im Nachhinein finde ich, anbetracht dessen, daß es garkein Problem gab, habe ich es mit meinem Replace-Monster äusserst kreativ gelöst. *g* )

Hi Narf,

Also wenn ich

<?php $a = readfile($file);?>

habe, gibt es keine Ausgabe.

Ist klar, Wertzuweisung; readfile liefert int und schreibt
Inhalt von $file in den Outputbuffer.

Wenn ich

<?php $a=readfile($file); echo $a;?>

schreibe, dann hängt hinter dem file noch die Länge dran.

s.o., zusätzlich gibst Du $a, die Länge des gelesenen
Files aus.

Benutze ich:

<?php $read = readfile("http://php.xyrd.com/links.php");
$read = str\_replace ( str\_replace( ")", "", str\_replace("int(", "", var\_export($read, true))), "", $read); echo $read;?\> dann werden die bytes nicht mehr ausgegeben. Muss aber doch auch einfacher gehn...? Das ist mir auf dauer zu unpraktisch und zu lang. Zudem kann ich mir's nicht merken und muss es jedesmal wieder herleiten...

Super kompliziert :wink:

Was hältst Du von
echo implode (’’, file ('http://www.example.com/’)));

Gruss
Thomas

Was hältst Du von
echo implode (’’, file ('http://www.example.com/’)));

da waere ich vorsichtig mit…
wenn du mal ein groesseres file und mehr als 1 zugriff gleichzeitig hast, brauchst du unter umstaenden argviel speicher…