von unten nach oben auslesen von .txt

ersetze mal
PHP:
list($user,$topic,$text,$datum,$icon,$link,$na2) = exolode('|--|',$zeile);

durch

PHP:
list($user,$topic,$text,$datum,$icon,$link,$na2) = explode('|--|',$zeile);

dann stimmt es. und lass $datei in ruhe ;) Da muss nichts mehr geändert werden.
 
Zuletzt bearbeitet:
Also melistik dafür müsste ich dich eigentlich wegen uneigeschaltetem Gehirn verwarnen. Selbst wenn du in der Suchfunktion für Funktionen auf php.net exolode eingibst, hättest du sofort gesehen, dass es explode sein muss ... :rolleyes:
 
Unter function rueckwaerts_auslesen(){

findest du eine Zeile mit
rsort($array);

ersetze diese durch
$array = array_reverse($array);
 
Zuletzt bearbeitet:
@melistik: Da du freundlicherweise deaktiviert hast, emails oder private Nachrichten
über das Board zu beziehen, muss ich dich auf diesem Wege wegen Verstoßen gegen
die Netiquette Punkt 12 (Groß/Kleinschreibung) verwarnen.
Ausserdem muss ich dich darauf hinweisen, dass bei weiteren Verstößen gegen die
Netiquete, dein Useraccount beschränkt oder gelöscht werden kann, aber ich hoffe
doch sehr, dass es dazu nicht kommen muss :-)
 
Zuletzt bearbeitet von einem Moderator:
ups ;)

das habe ich überlesen, da ich eigentlich schon mit explode gearbeitet habe und ich dachte das das an einer variablen liegt oder so ...
jaaa ich nehme die last als depp auf mich ;)
einfach sage ich nur sorry beim nächstenmal mach ich es besser danke an euch
besonder an Thorsten Böckkamp
es klappt aber nicht 100% richtig überzeugt euch hier
newslink der den php script abarbeitet
am anfang von der datei steht
teste wegen richtig herrum
nummer 1
nummer 2
nummer 3

müsste ich dafür vielleicht bei dem array noch eine extra nummer oder so haben ? ich verstehe aber auch net vollkommen den script gebe ich zu. es wäre nett wenn der ein wenig documentiert werden könnte wofür was ist.
 
tut mir leid ich wusste nicht das ihr immer so schnell ließt
deshalb habe ich den post auch schnell wiedergelöscht ohne gesehen zu haben, das ihr schon darauf geantwortet habt. Es tut mir sehr leid.
 
PHP:
<?
# Eine neue Funktion mit Namen rueckwaerts_auslesen wird erstellt.
# Sie soll bezwecken, dass die Datei $datei, die wir als Varriable übergeben
# - wie der Name schon sagt - rückwärts ausgelesen werden soll.
function rueckwaerts_auslesen($datei)
{

// Wir überprüfen, ob die Datei überhaupt existiert.
// So ersparen wir uns die spätere Anzeige eventueller Fehlermeldungen.
if(file_exists($datei))
{

//Wir lesen die Datei als Array ein
//Jede Zeile der Datei ist ein neues Array
$file = file($datei);

//Wir drehen die Reihenfolge aller Elemente in unserem Array um
//Somit ist die letzte Zeile die erste, usw.
$file = array_reverse($file);

//Wir geben unser Array raus
return $file;
}else
 return false;

 }


# Wir überprüfen, ob die Dateigröße 0 bytes beträgt.
# Sollte dies der Fall sein, bricht die Datei mit dem Satz in die(); ab.
if(filesize("edit.txt") == 0)
   die('nichts in edit.txt <img src="images/smilies/smile.gif" border="0" alt=""> schreibe einen post !');

# Wir führen nun die Funktion rueckwaerts_auslesen aus,
# und übergeben als Datei edit.txt.

# Du kannst ja nochmal einen Blick auf die Funktion rueckwaerts_suslesen
# werfen. $datei ist ja nun edit.txt

# Foreach bewirkt, das jede Zeile unseres Arrays, welches wir ja mit unserer Funktion
# zurückgeben [siehe return $array], als Schleife durchgegangen wird und als $zeile verfügbar ist.
# Beim ersten Durchlauf ist $zeile also $array[0]. Beim nächsten Durchlauf ist $zeile = $array[1] usw.
foreach(rueckwaerts_auslesen("edit.txt") as $zeile)
{
# Die Funktion explode kennst du ja schon. list() veranschaulicht das ganze nur.
# Wenn du $foo = explode(); schreibst, musst du nachher leider echo $foo[0] oder $foo[1] ausgeben.
# mit list() kannst du halt sinnvolle varriablen benennen, die ein Fremder auch versteht.
list($user,$topic,$text,$datum,$icon,$link,$na2) = explode('|--|',$zeile);

//Sollte klar sein
    echo "<center> <table border='1' cellpadding='2' cellspacing='0' style='border-collapse: collapse' bordercolor='$border' width='$width' bgcolor='$bg_table' >";
    echo "<tr><td bordercolor='$bg_table' colspan='2'><img border='0' src='img/$icon' align='absmiddle' width='33' height='33'><font size='$text_size'> $topic</td></tr>";
    echo "<tr><td bordercolor='$bg_table' colspan='2'><font size='$text_size'> $text</td></tr>";

//Dies ist nur eine bequemere Möglichkeit, if zu schreiben.
// if(empty($link)){ $link = ".."}else{ $link = "tralllala"}; bewirkt genau das gleiche
    empty($link)
          ? $link = "&nbsp;"
          : $link = "<p><font face='Verdana' size='$size_down'>links: </font><a target='_blank' href='http://$link'><font size='$size_down' face='Verdana'>$link</font></a></p>";

//Sollte klar sein
    echo "<tr><td bordercolor='$bg_table' width='33%'><font size='$size_down'>name: $user</td>";
    echo "<td bordercolor='$bg_table' width='33%'>$link</td>";
    echo "<td bordercolor='$bg_table' width='33%'><p align='right'><font size='$size_down'>date: $datum</td></tr></table><center>";
    echo "<br><br>";


};


?>
 
Zuletzt bearbeitet:
Vielen Dank. Es hat alles geklappt.
Also wenn ich das jetzt richt verstehe, ließt das Script die Datei aus,
packt jede Zeile in eine array und später wird jedes array[0] ...
nochmal unterteilt durch list (vars) = explode ("|--|", $zeile);
Wenn das so ist habe ich den Script verstanden und einiges dazugelernt =).
Das mit der if Anweisung :
PHP:
? $var = "..."
:  $var= "...";
ist sehr pratisch. Diese Art zu schreiben habe ich noch nie gesehen und hätte ich auch nie ohne Erklärung verstanden.
(Ich hatte es mir zwar gedacht dioch war mir nicht sicher)
 
Zurück