anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Fr 19 Apr, 2024 19:17

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 
Autor Nachricht
 Betreff des Beitrags: Live-Stream
BeitragVerfasst: So 02 Jul, 2006 12:59 
Offline
Freak
Freak

Registriert: Mo 06 Sep, 2004 15:17
Beiträge: 3236
Geschlecht: Männlich
Live-Stream


So ich möchte nun auch mal wider was hier veröffentlichen, darum tue ich dies zugleich und möchte auch darauf hinweisen das ich für Schäden nicht Hafte falls welche entstehen sollten oder anderes in der Richtung. Support gibt es nur in diesem Thread und in meinem Forum.



Beschreibung:
Mit dieser Funktion, kann man einen kleinen Live-Stream via JS erzeugen, das ganze gibts aber auch in einer PHP Version, doch darauf verzichte ich vorerst, da die JS version wesentlich anspruchsvoller ist. Der Schnippsel ist nur eine kleine Spielerei und noch nicht ganz fertig.


Installation/Einbau:
Datei: common.php
Suche:

[php]if (file_exists("dbconnect.php")){ [/php]
Füge darüber:
[php]function stream($name, $file) {
global $output;

$output .= "\n<script type=\"text/javascript\">\n";
$output .= "http_request = false;\n
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType(\"text/xml\");
// zu dieser Zeile siehe weiter unten
}
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject(\"Msxml2.XMLHTTP\");
} catch (e) {
try {
http_request = new ActiveXObject(\"Microsoft.XMLHTTP\");
} catch (e) {
}
}
}\n";
$output .= "setInterval(\"loadData()\",500);\n";
$output .= "function loadData() {
if (http_request) {
var jetzt = new Date();
http_request.open(\"GET\", \"lib/{$file}.php?count=\"+jetzt.getTime(), true);
http_request.onreadystatechange = function () {
if (http_request.readyState == 4) {
document.getElementById(\"{$name}\").innerHTML = http_request.responseText;
}
};
http_request.send(null);
}
}";
$output .= "</script>\n";
}[/php]


Beispiel/Nutzung:
[php]// Datenbank Inhalte ausgeben, dies in der jeweiligen Datei einfügen
stream("content","dbdata");
rawoutput("<div id=\"content\"></div>");

// Inhalt der Datei dbdata.php
require_once("../dbconnect.php");

$link = @mysql_connect($DB_HOST,$DB_USER,$DB_PASS);
@mysql_select_db($DB_NAME,$link);

$accounts = array();
$result = mysql_query("SELECT * FROM accounts");
while ($row = mysql_fetch_assoc($result)) {
if (!in_array($row['acctid'], $accounts)) {
array_push($accounts, $row['acctid']);
echo "Account ID: {$row['acctid']}<br />";
}
}
[/php]


Erläuterung:
Warum noch einmal zur Datenbank Verbinden wenn wir es bereits in der common getan haben?, das Problem besteht darin. Das er sonst die Ausgaben der common.php ausliest und genau das wollen wir nicht. D.h. machen wir einen extra Verbindung, diese wird aber jedes mal aufs neue widerholt. Man kann auch die bereits vorher zur Datenbank verbinden, aber dies ist natürlich ansichtssache. Ansonsten sollte dies einwandfrei Funktionieren, es könnte aber vorraussichtlich bei einigen Hostern probleme geben, was das Verbinden zur Datenbank betrifft. Aufgrund von max. Verbindungen... Diese Wahrscheinlichkeit ist aber mehr als gering.


Ansonsten Viel Spaß damit, eine kleinere Optimierte Version sollte bald folgen. Denke ich, je nachdem in wie weit sich der Stream verbessern lässt.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 59 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen
Du darfst keine Antworten zu Themen in diesem Forum erstellen
Du darfst deine Beiträge in diesem Forum nicht ändern
Du darfst deine Beiträge in diesem Forum nicht löschen
Du darfst keine Dateianhänge in diesem Forum erstellen

Suche nach:
Gehe zu:  
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum