PHP Datei automatisch jede Sekunde aktualisieren?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Die beste Technik ist die Nutzung von Websockets. Gründe sind unter anderem:

  • bidirektionale Server-Client-Verbindung mit Kommunikation in (fast) Echtzeit
  • sicher
  • ressourcensparend
  • nutzen die gleichen Ports wie HTTP/S, werden also nicht geblockt

Alternativ dazu wäre Comet / Long polling (z.B. via AJAX-Requests). In beiden Fällen musst du dich mit JavaScript auseinandersetzen. Bibliotheken wie jQuery können dir die Arbeit dabei vereinfachen.

Beispiele für beide Techniken gibt es viele. Für Websockets z.B.:

Und für Comet:

EierBrei 
Fragesteller
 02.04.2017, 19:41

Ok, danke! WebSockets unterstützt mein Hoster (-> http://www.lima-city.de) leider (und komischerweise, wie ich finde) nicht... 

Sollte ich mir deswegen einen anderen Hoster suchen oder das ganze mit long polling versuchen?

Ich habe auch schon mal über einen eigenen kleinen Webserver nachgedacht: Wäre das sinnvoll, oder sollte ich damit noch warten bzw. das lieber gleich lassen?

0
regex9  02.04.2017, 20:13
@EierBrei

Woher hast du diese Information?

Long polling ist nach wie vor ebenso eine legitime Technik.

Generell werde ich dir so etwas nicht ausreden. Aber du wirst dich mit dem Thema Server vorher noch weiter beschäftigen müssen. Sicherheit ist bspw. ein Punkt, über den du im Vorfeld gut informiert sein solltest. Außerdem müsste dein Server durchgehend laufen, sofern Webseiten darauf erreichbar sein sollen.

Wenn es dir hingegen reicht, deine Projekte nur lokal auf deinem Rechner über einen Server laufen zu lassen, dann installiere dir XAMPP.

0
EierBrei 
Fragesteller
 02.04.2017, 20:37
@regex9

Dass bei dem Hoster keine WebSockets unterstützt werden, weiß ich aus dem Forum dort...

Aber ist es jetzt besser den Hoster zu wechseln (um Websockets nutzen zu können), so wie du das beschrieben hast, scheint die Variante mit den WebSockets leichter und allgemein besser zu sein?

0
regex9  02.04.2017, 20:53
@EierBrei

Hmn, ok.. ich habe via Google keine solche Foreneinträge gefunden (https://www.lima-city.de/thread/websockets), aber gut.

Websockets sind nun mal eine neuere Technologie, doch trotz der von mir aufgezählten Vorteile musst du sie nicht unbedingt nutzen. Wie gesagt ist auch Comet nach wie vor eine legitime Technik, die noch sehr häufig ihren Einsatz findet und finden wird. Ob du deswegen nun den Hoster wechselst, liegt bei dir. 

0

Zuerst zu der Uhr : 
Die Uhr kannst du in JavaScript,PHP usw. programmieren ! 
Hab hier mal ein Beispielcode für dich https://pastebin.com/E5weLHMu

Um eine Datenbank Abfrage zu erstellen bräuchte man Erfahrung mit SQL und JavaScript.

Für einen Chat bräuchte man ebenfalls bisschen Ahnung von SQL (Da du eine Datenbank erstellen musst) und PhP.

Lg 

EierBrei 
Fragesteller
 02.04.2017, 18:47

Also das mit den Datenbanken ist kein Problem, das kann ich. Was ein Problem ist, ist das automatische Aktualisieren ^^

Wie aktualisiere ich die ganzen Inhalte am besten?

1
xIFlare  02.04.2017, 18:49
@EierBrei

"Wie aktualisiere ich die ganzen Inhalte am besten?"
Was würdest du denn gerne auf deiner Seite anzeigen lassen bzw. welche Tabellen hat deine Datenbank.

Lg

0
EierBrei 
Fragesteller
 02.04.2017, 18:57
@xIFlare

naja, auf der Seite kann jeder Nutzer neue Einträge in eine DB schreiben, ich möchte, dass diese sofort danach (automatisch) für jeden sichtbar sind... 

1
xIFlare  02.04.2017, 19:03
@EierBrei

Du musst einen normalen PHP Code nehmen, welcher die Datenbank liest und auf der Seite darstellt.
Er aktuallisiert sich automatisch, sobald ein neuer Eintrag in der DB vorhanden ist.

Lg

0
regex9  02.04.2017, 19:11
@xIFlare

Wie sollte das funktionieren? Das PHP-Skript wird nur einmal ausgeführt: Wenn der Client die Webseite anfordert. Danach passiert auf Serverseite nichts mehr, es sei denn, der Client stellt eine neue Anfrage.

1
xIFlare  02.04.2017, 19:17
@regex9

Hab dich falsch verstanden gehabt.

Ich weiß leider nicht wie man es machen kann, ohne das man die Seite neuladen muss.
Da musst du jemand anderes fragen, bin nicht der beste in PhP.

LG

0
EierBrei 
Fragesteller
 02.04.2017, 19:20
@regex9

Deswegen frage ich ja, ich muss nämlich gestehen, dass ich zur Zeit komplett ratlos bin... (habe erst vor ein paar Monaten mit dem programmieren begonnen, bin auch noch relativ jung, weiß auch noch nicht wirklich viel zu dem Thema), daher würde ich mich freuen, wenn ihr mir erklären könntet, wie ich das mit dem automatischen Aktualisieren am besten realisieren kann.

Danke!

0
xIFlare  02.04.2017, 19:24
@EierBrei

Ich bin selber erst 14, beschäftige mich mit Programmieren aber schon um die 2-3 Jahre.
Anderseits wünsche ich dir noch viel Glück beim Suchen der Lösung von deiner Frage.

Lg

0

Nur mal mal zur Begriffsentwirrung: Du willst den Inhalt der dargestellten Seite zyklisch aktualisieren, nicht deinen PHP Code. (selbstmodifizierender Code gilt in der klassischen Programmierung übrigens als hoechst unsauber). Das ist ohne JavaScript kaum realisierbar.

Du kannst dem fremden Client nicht deinen Seiteninhalt aufzwingen, das funktioniert nur auf Anfrage vom Client. Unaufgeforderte Seiten kommen schon an der Firewall nicht vorbei. 

Ausserdem ist der Client hinter einer Firewall/Proxy/Natter verborgen. Du müsstest deine Session also irgendwie offenhalten. Ob das theoretisch möglich ist, ist in deinem Fall wahrscheinlich eher von akademischem Interesse. So schwer ist JavaScript ja nun wirklich nicht.

so echtzeit und wie bei einer börse , mussu javascript nehmen und ein push server . am einfachsten kombiniert sich das in einem  node.js server