bei datei auslesen, werden (beim schreiben via echo) 5en mit aufgeschrieben!

escaped

Grünschnabel
Hiho,
ich habe folgenden script gabastelt :

PHP:
<?
$ordner = opendir("news");
while($datei = readdir($ordner))
{
if(! is_file("news/$datei"))
continue;
$inhalt = readfile("news/$datei");
echo $inhalt;
}
closedir($ordner);
?>

in dem news verzeichnis sind 3 dateien:
Datei:.......Inhalt:
1.txt...........1<br>
2.txt...........2<br>
3.txt...........3<br>

Wenn ich das Script ausführe erscheint folgendes:
1
52
53
5

Und nun meine Frage: Woher kommen die 5 und wie kann ich die wegmachen?
 
Woher die Fünf kommt kann ich jetzt auch nicht sagen :confused:. Aber readfile gibt eine Datei direkt aus. Du könntest dir das echo also sparen.
 
readfile() gibt wie gesagt den Inhalt der Datei aus. Zurückgegeben wird dabei aber die Anzahl der gelesenen/ausgegebenen Bytes. Und das waren wohl immer 5 bei deinen Dateien.
 
Den Inhalt in eine Variable bekommst du entweder so:
PHP:
$sInhalt = implode("", file("news/".$sDatei));

echo $sInhalt;

Oder per Output Buffering:
PHP:
ob_start();
readfile("news/".$sDatei);
$sInhalt = ob_getcontents();
ob_end_clean();
Bin mir nicht sicher, ob das so funktioniert, aber vom Prinzip her sollte es stimme n :)
 
Zurück