• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

PHP-Chat

finneding

Neues Mitglied
Hallo liebe Community.
Ich versuche momentan einen kleinen chat mit php zu erstellen.
Mein Problem ist, dass ich nicht weiß wie man das was in der txt datei steht immer wieder auslesen kann, damit man merkt wenn eine neue nachricht reinkommt.
In folgendem Code habe ich dies probiert nur leider bekomme ich immer eine Fehlermeldung.
Hier erstmal der Code:
Code:
<!DOCTYPE html>
<html>
    <head>
        <title>
            test-chat
        </title>
    </head>
    <body>
        <?php
            $chatFile = "chatlog.txt";
            $chatopen = fopen($chatFile, 'r');
            $chatread = fread($chatopen, filesize($chatFile));
            fclose($chatopen);
        ?>
        <div id = "chat" style = "width: 100%;
                height: 60%;">
            <?php
                echo $chatread;
            ?>
        </div>
        <div style = "width: 100%;
                height: 40%;
                border: 1;">
            <form action = "" method = "POST">
                <textarea id = "input" name = "input"></textarea>
                <input type = "submit" id = "submit" name = "submit" value = "sagen">
            </form>
        </div>
        <?php
            if(isset($_POST["submit"])) {
                $chatopen = fopen($chatFile, 'a');
                $input = $_POST['input'];
                fwrite($chatopen, $input);
                $input = "(" . date('d.M.Y H:i') . ")<br>\n";
                fwrite($chatopen, $input);
                fclose($chatopen);
                ?><script location.reload(); </script><?php
            }
            function chatread($chatread) {
                $chatFile = "chatlog.txt";
                $chatopen = fopen($chatFile, 'r');
                $chatread2 = fread($chatopen, filesize($chatFile));
                if($chatread != $chatread2) {
                    $chatread = $chatread2;
                }
                return $chatread;
                fclose($chatopen);
            }
            $i = 1;
            for($i == 1; $i >=0; $i++) {
                chatread($chatread);
                sleep("5");
            }
        ?>
    </body>
</html>
Der Fehler den ich bekomme ist:
Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\htdocs\chat.php on line 53
In Zeile 49-53 steht folgendes:
Code:
            $i = 1;
            for($i == 1; $i >=0; $i++) {
                chatread($chatread);
                sleep("5");
            }
 
Hallo,
also PHP ist ja im grunde richtig aber nur im zusammenhang mit ajax um die Daten im vielleicht 2sek Auszulesen und in ein Fenster anzeigen zu lassen ohne das die Seite neu laden musst, sonst must ja ganz schön schnell schreiben zwischen den neuladen :O)

Das Thema ist aber nicht neu und auch überschaubar, einfach mal die suche nutzen.

Cheffchen
 
Danke aber ich habe es jetzt geschafft:
Ich lass das auslesen in einer anderen datei geschehen die ich mit dem meta tag refresh immer wieder neulade und das in einem iframe.

-Finneding
 
Zurück
Oben