Text aus einer texdatei auslese
Soße
- php
Halle
Wie lese ich eine *.txt aus ?
Danko
Hallo Soße,
wohin soll sie denn ausgelesen werden?
Direkt in den Browser am leichtesten mit
readfile("Filename");
öffnet die Datei, liest und sendet die Daten an den Standardausgabekanal (hier Browser) und schließt die Datei wieder.
Wenn Du die Daten aber erst noch verarbeiten musst, mit
$fp = fopen("dateiname","r");
if (!$fp) die("Öffnen der Datei dateiname fehlgeschlagen");
while (! feof($fp))
{
$zeile = fgets($fp);
....
....
}
fclose($fp);
Grüße aus http://www.braunsdchweig.de
Tom
readfile("Filename");
ne das ist zu direkt - ich will den text einfach nur in einer variablen speichern, so das der test einer textdatei in $text steht !
readfile("Filename");
ne das ist zu direkt - ich will den text einfach nur in einer variablen speichern, so das der test einer textdatei in $text steht !
Die antwort auf das erste osting kam im 0,nix und auf dieses posting ist immer nochunbeantwortet.
readfile("Filename");
ne das ist zu direkt - ich will den text einfach nur in einer variablen speichern, so das der test einer textdatei in $text steht !
Hallo Soße, <----- Das ist die Begrüßung
dan musst Du eben eine andere Funktion nehmen. Da fiele mir z.B.
$bytestream = fread($fp,filesize("dateiname"));
ein.
mit fread($handle,$count) werden ab der aktuellen Dateizeigerposition $count bytes gelesen, egal was drinsteht im Byte.
Grüße <------ das sit die Verabschiedung
Tom
hi <- minimalbegrüßung
ne das ist zu direkt - ich will den text einfach nur in einer variablen speichern, so das der test einer textdatei in $text steht !
$daten = file("dateiname.txt");
$variableinderdieganzedateisteht = implode("",$daten);
Fabian
Hi Fabi, schon wieder ich *g*
$daten = file("dateiname.txt");
$variableinderdieganzedateisteht = implode("",$daten);
Du hast jetzt aber auf den Pferdefuß nicht hingewiesen:
file() liest die Datei in ein Array ein. D.h., dass immer am Zeilenende ein Datensatz endet. In jedem Element des Arrays steht also eine Zeile der Datei. Ob das trotz der Unterschiede zwischen
DOS 0x0D0A = CRLF
MAC 0x0D = CR
UNIX 0x0A = LF
für das Zeilenendezeichen funktioniert, vermag ich jetzt nicht zu sagen.
Tom
Hi Fabi, schon wieder ich *g*
jaja, du schon wieder =)
$daten = file("dateiname.txt");
$variableinderdieganzedateisteht = implode("",$daten);
Du hast jetzt aber auf den Pferdefuß nicht hingewiesen:
wieso? endet jeder datensatz auf "pferdefuss"? *scnr*
file() liest die Datei in ein Array ein. D.h., dass immer am Zeilenende ein Datensatz endet. In jedem Element des Arrays steht also eine Zeile der Datei. Ob das trotz der Unterschiede zwischen
DOS 0x0D0A = CRLF
MAC 0x0D = CR
UNIX 0x0A = LF
ich denke schon, die \n\r und co. werden ja beibehalten, dadurch das als delimeter "", also ein leerstring angegeben ist. würde man sich das leben schwer machen wollen und unbedingt CR als Delimeter benutzen, ist man schlicht selbst schuld...
bei mir aufm test-apache hab ich keine probleme feststellen können =)
(hab zur probe einfach eine TXT auf die weise bearbeitet und dann in <pre></pre> ausgegeben. die umbrüche werden beibehalten...)
für das Zeilenendezeichen funktioniert, vermag ich jetzt nicht zu sagen.
*test it*
Fabian
Tach
Halle
Wie lese ich eine *.txt aus ?
Mit fopen() oder file().
Wie's Dir lieber ist.
Ciao,
Harry