nur x-te Zeile in einem File auslesen, wie?
steve
- php
Hallo Forumler,
ich möchte in einem File eine bestimmte Zeile auslesen,
(in diesem Fall immer den Author)
wie kann ich da den Dateizeiger positionieren?
-------------------------
DATE||01.01.2003||EOL
TOPIC||Rubrik||EOL
TITLE||Ueberschrift||EOL
TEXT||Text||EOL
NAME||Author||EOL
-------------------------
Grüsse Steve.
Nix mit Dateizeiger. Benutze file(). Damit kannst du z.B. direkt die 3. Zeile auslesen -->
$zeilen=file($datei);
echo $zeile[2];
Gruß, Thomas.
bin ich schon drin ??? is ja einfach !!!
manchmal steht man doch echt auf dem Schlauch...
Danke!
Steve
Hello,
bei Verwendung von file() hängt aber an der Zeile immer noch das Zeilenende-Zeichen dran. Das müsstest Du dann erst wieder abschneiden.
$_datei = file("dateiname");
$autor = rtrim($_datei[4]); ## wenn der Autor immer in der fünften Zeile
## steht
DATE||01.01.2003||EOL
TOPIC||Rubrik||EOL
TITLE||Überschrift der News||EOL
TEXT||Der Text der News||EOL
NAME||MaxMustermann||EOL
Du solltest dich aber für derartige Datenstrukturen mal mit
array(),
str_replace(),
serialize()
fwrite()
...
fread()
unserialize()
str_replace()
array()
beschäftigen.
Man kann so locker auch _mehrere_ ganze Datensätze (Arrays) abspeichern
Man muss eigentlich nur dafür sorgen, dass die Daten selber keine Zeilenendezeichen enthalten. Das erreicht man z.B. durch ein str_replace() das man auf das gesamte serialisierte Array anwendet. Dann kann man es aber erst wieder auspacken, wenn man die Ersetzung rückgängig gemacht hat.
Das schöne daran ist, dass das gesamte Array am Ende wieder genauso schön zur Verfügung steht, wie am Anfang.
Liebe Grüße aus http://www.braunschweig.de
Tom
grmpf....
so sollte es doch gehen, oder?
for(...
$authordatei="http://www.domain.de/01/news/data/archiv/200311/1067695643";
$datei = fopen($authordatei,"r");
$zeile = file($datei);
$test = is_file($authordatei);
echo $zeile[1]."<<<br>";
echo $test."<<<br>";
...)
$zeile[x] ist leer...
$test auch...
Kann es daran liegen dass die Datei keine Erweiterung (wie .txt) hat?? (1067695643 ist der Dateinamen)
$datei = fopen($ausgabe);
$sc_zeile = file($datei);
>>> ist falsch
$datei = fopen($ausgabe);
$sc_zeile = file($ausgabe);
ist richtig!
Hello,
$datei = fopen($ausgabe);
$sc_zeile = file($datei);
>>> ist falsch$datei = fopen($ausgabe);
$sc_zeile = file($ausgabe);ist richtig!
ist leider auch nicht richtig.
$datei = fopen($ausgabe) macht absolut gar nichts, außer ein leeres Handle zurückzuliefern. Du hast der Funktion fopen("dateineme","Modus") nämlich nicht gesagt, zu welchem Zweck sie die Datei öffnen soll ("r","a","w","r+","w+","a+").
Das dann mit file("dateiname") totzdem etwas in $sc_zeile (*1) landet, liegt an file(). Das öffnet eine Datei, liest den Inhalt zeilenweise in ein Array (also jede Zeile in ein Elment des Arrays) und schließt die Datei wieder.
(*1)
$sc_zeile ist ein unpraktischer Name. Man weiß später mal nie, ob es ein Skalar ist, oder ein Array. Es sei denn, das sc_ steht für scalar. Wie ist das?
Ich muss gestehen, ich bin auch erst vor kurzem darauf gekommen, dass meine Variablen nun aufgeteilt werden in die Gruppen
$_GROSS PHP vorbehalten
$GROSS Alles, mit Datenbank-Bindung
$klein Skalare des Scriptes
$_klein Arrays des Scriptes
$i01_klein Variable, die aus dem include 01 stammt
$_i01_klein Array, das aus dem include 01 stammt
Includes haben ja leider bei PHP kein eigenes Segment, so wie z.B. Units bei TurboPascal. Daher würden sie rigoros gegenseitig die Scriptvariablen und Arrays überschreiben, wenn sie gleichnamig sind. Bei Funktionen gibt es einen redefine-Error.
Außerdem versuche ich konsequent alle Datenstrukturen beisammen zu halten, also Variablen, die zusammengehören, auch immer in Arrays zu verpacken.
Man kann sie dann viel leichter abspeichern
Dazu schau Dir mal mein Beispiel an: http://bitworks.de/~selfHTML/speichern.php
Liebe Grüße aus http://www.braunschweig.de
Tom
Hallo,
mit file die daten in ein Array einlesen.
Dann mit for ausgeben.
for(...)
{
if($diezeile == 4)
{
//nichts
}
else
{
//ausgeben
}
}
so machst du das mit den for schleifen
http://www.rpgcommunity.de/clanwissen/p_dateien2.php
MFG
Andavos