mit php im browser verzögert text anzeigen?

3 Antworten

Prinzipiell wird das meist nicht rein serverseitig via PHP o.ä. gelöst. Der Trick ist, dass der Browser eine zweite Anfrage via JavaScript stellt, die der Server vorerst nicht beantwortet! Sie wird erst beantwortet, wenn ein bestimmtes Event eingetreten ist, z.B. dass neuer Content für den Benutzer vorhanden ist. Der Client kann die Daten dann verarbeiten und ggf. eine weitere dieser Anfragen absenden.

Das Konzept nennt man Long Polling (https://en.wikipedia.org/wiki/Push_technology#Long_polling) und es gibt viele ähnliche Strategien. Wie das funktioniert kannst du dir in diesem Video anschauen: https://en.wikiversity.org/wiki/Web_Science/Part1:_Foundations_of_the_web/Dynamic_Web_Content/Ajax_and_the_XMLHttpRequest_class

Es wird sowohl der Server-Code (Java) als auch der Client-Code (JavaScript) gezeigt.

Einfach mit setInterval nach paar Sekunden etwas neues in den DOM schreiben und falls die Daten vom Server geladen werden sollen mußt du die mit XHR laden



Gartentisch 
Fragesteller
 10.04.2017, 21:24

könnte ich nen beispielelement bekommen ? (versuche mich grade das erste mal in die materie einzufinden)

0
thatpoppy  10.04.2017, 21:26
@Gartentisch

einfach nach Javascript DOM Manipulation, XHR oder Ajax googlen, Beispiele sollten zu finden sein

0
thatpoppy  10.04.2017, 21:37
@RakonDark

ja du solltest nicht so schnell antworten, ... btw dein Anfänger Skript erreicht nach paar durchgängigen das eingebaute PHP timeout und der Prozess wird dann vom Webserver gekilled

0

böserweise geht das wirklich

<?php
header( 'Content-type: text/html; charset=utf-8' );
echo 'Begin ...
';
for( $i = 0 ; $i < 10 ; $i++ )
{
echo $i . '
';
flush();
ob_flush();
sleep(1);
}
echo 'End ...
';
?>

online http://praetorians.me/test/delay.php


RakonDark  10.04.2017, 21:32

jetzt müsstest du nur noch die textdatei einlesen in ein array packen und mit der schleife halt das array abarbeiten :)

0
RakonDark  10.04.2017, 21:37

bei den echo zeile fehlt das <br>

also z.b.

echo $i.'<br>';

0
Gartentisch 
Fragesteller
 10.04.2017, 21:46
@RakonDark

unt wie "echoe" ich statt nem int meinen eigenen text ? ('stehe aufm schlauch')

0
RakonDark  10.04.2017, 21:59
@Gartentisch

du kannst wohl nicht lesen ,vielleicht lernst du es noch

deswegen schreib ich es einfach nochmal.

jetzt müsstest du nur noch die textdatei einlesen in ein array packen und mit der schleife halt das array abarbeiten :)

wie du das machst ... deine aufgabe ...

0