WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » 1. Zeile überschreiben » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Die letzten 5 Postings in diesem Thema » Alle anzeigen
von languitar
öhm ja, muss dann so aussehen:

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16:
if(isset($_POST['text'])) {

    $array = file("log.txt");
    $zeit  = date("H:i:s");

    if (sizeof($array) >= 20) unset($array[0]);
    $array[] = "<font color=\"#999999\">[$zeit]</font> <fontolor=\"#000000\"><b>($chatuser)</b> $_POST['text']</font>\n";
    
    $fp = fopen("log.txt", "w");

    foreach($array as $line) {
        fputs($fp, $line);
    }

    fclose($fp);
}
von Crash
Hi,
Es geht, aber wenn in der Datei nur 1 Zeile ist, dann beschreibt er immer nur die 1 Zeile, muss ich da jetzt nen Zähler einbauen? Also wenn in der Datei 20 Zeilen sind macht er das, wenn nicht dann fügt er neue Zeile an?

*Edit* Hab es hinbekommen es funzt, danke dir )) *Edit*
von languitar
Wofür ist denn die If-Abfrage eigentlich?? Du willst doch nur immer hinten eine Zeile anhängen und vorne eine löschen, oder???

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17:
if(isset($_POST['text'])) {

    $array = file("log.txt");
    $zeit  = date("H:i:s");

    unset($array[0]);
    $array[] = "<font color=\"#999999\">[$zeit]</font> <fontolor=\"#000000\"><b>($chatuser)</b> $_POST['text']</font>\n";
    
    $fp = fopen("log.txt", "w");

    foreach($array as $line) {
        fputs($fp, $line);
    }

    fclose($fp);
}


So sollet es meiner Meinung nach gehen, ist aber nicht getestet.
von Crash
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18:
<?php
$zeit = date("H:i:s");
if(isset($_POST['text'])) {
$datei = "log.txt";
$fp = file("log.txt");
$hmm = count(file($datei));
if ($hmm >= 20) {
unset($array[0]);
 foreach($datei as $line) {
    if(key($datei) == 0) {
        fwrite($fp, "<font color=\"#999999\">[$zeit]</font> <fontolor=\"#000000\"><b>($chatuser)</b> $text</font>\n");
    } else {
         fwrite($fp, $line."\n");
    }
    }
}
}
?>


Hm, das mit der foreach-Schleife geht nich, aber wie soll ich es anders machen?
von languitar
unset($array[0])

Nach oben