Seite 1 von 6

php laden in php?

Verfasst: 07.01.2007 21:47
von leopittoni
Hallo!

Dieses Script überprüft (liest eine andere Datei die das tut...) wer in meinem irc-channel online ist.

Code: Alles auswählen

<?php
$listfile = fopen("http://scripts.blitzed.org/chanuserlist?channel=%23channel&pass=password", "r");
$nickname = fgets($listfile);
while (trim($nickname) != "") {
echo "Online: " . trim($nickname) . ",";
  $nickname = fgets($listfile);
}
echo "</ul>";
fclose($listfile);
?> 
Nun die Frage: Wie kann ich mit PHP den Inhalt dieser Datei abfragen um diesen dann auf der index_body.tpl anzeigen zu lassen?

Ich kann den obrigen Code nicht in eine neue Datei packen, ich kann nur den Inhalt dieser Datei nochmals übernehmen...
(Die Datei liegt in einem speziellen Verzeichnis...)

2. Wie kann ich die Anzahl online-Users zählen?

Danke! Léo

Verfasst: 08.01.2007 18:28
von leopittoni
kann mir niemand helfen? ist recht drinngend...

Danke! Léo

Re: php laden in php?

Verfasst: 08.01.2007 21:18
von neospin
leopittoni hat geschrieben:Hallo!

Dieses Script überprüft (liest eine andere Datei die das tut...) wer in meinem irc-channel online ist.

Code: Alles auswählen

<?php
$listfile = fopen("http://scripts.blitzed.org/chanuserlist?channel=%23channel&pass=password", "r");
$nickname = fgets($listfile);
while (trim($nickname) != "") {
echo "Online: " . trim($nickname) . ",";
  $nickname = fgets($listfile);
}
echo "</ul>";
fclose($listfile);
?> 
Nun die Frage: Wie kann ich mit PHP den Inhalt dieser Datei abfragen um diesen dann auf der index_body.tpl anzeigen zu lassen?

Ich kann den obrigen Code nicht in eine neue Datei packen, ich kann nur den Inhalt dieser Datei nochmals übernehmen...
(Die Datei liegt in einem speziellen Verzeichnis...)

2. Wie kann ich die Anzahl online-Users zählen?

Danke! Léo
Grundsätzlich kannst Du das Skript mit

Code: Alles auswählen

<? include(); ?>
in die andere Datei laden. Allerdings kann ich Dir nicht sagen, wie Du die User zählen kannst, wenn ich die Ausgabe der Seite nicht kenne.

Verfasst: 08.01.2007 21:27
von Ambience

Code: Alles auswählen

while (trim($nickname) != "") { 
echo "Online: " . trim($nickname) . ","; 
  $nickname = fgets($listfile); 
} 
wenn ich das da oben richtig sehe, dann liest du dort alle online leute aus, und gibst diese in einer liste wieder?

mach daraus:

Code: Alles auswählen

$i = 0;
while (trim($nickname) != "") { 
echo "Online: " . trim($nickname) . ","; 
$i++;
  $nickname = fgets($listfile); 
} 
echo "Es sind $i Leute online";
und ich glaube das sollte einigermaßen funktionieren...

Nun die Frage: Wie kann ich mit PHP den Inhalt dieser Datei abfragen um diesen dann auf der index_body.tpl anzeigen zu lassen?
dazu musst du mal in der knowdeledge base suchen, nach template syntax und vorlage für eine in phpbb eingebundene seite und dann dürfstest du das auch hinbekommen.

Verfasst: 08.01.2007 21:34
von leopittoni
Hi

Ihr habt mich wohl falsch verstanden...

Diese Datei mit dem Code um die online-users abzufragen liegt in einem Ordner (für diesen "fopen" setting aktiviert ist). Ich kann also nicht, den Code einfach in "viewonline.php" oder so kopieren, und das normal ausgeben.

viewonline.php muss den Inhalt (die Ausgabe) des Files mit dem Code abfragen und den in einer Variabel speichern, damit ich es dann ausgeben kann (body_index.tpl)

Verstanden?

Trotzdem schon mal danke! Léo

Verfasst: 08.01.2007 21:40
von Ambience
kann ich mal auf eine testseite verlinkt werden oder du mal den text hier rein posten wo die user alle aufgelistet sind, denn ich glaube wenn wir das ausgabeformat haben, können wir dir besser helfen

Verfasst: 08.01.2007 21:41
von area57
Moin,

dann weise doch eine Templatevariable mit implode() zu ;)
z.B. so:
index.php

Code: Alles auswählen

suche nach:
'NEWEST_USER' => sprintf($lang['Newest_user'], '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=$newest_uid") . '">', $newest_user, '</a>'), 

füge darunter ein:	  
'WHAT_INCLUDE' => implode('',file('PFAD ZUR DATEI')),
und in der index_body.tpl musst du dann dort wo es hinsoll nur das einfügen: {WHAT_INCLUDE}

Verfasst: 08.01.2007 21:49
von leopittoni
Dann kommt auf dem Index dieser Fehler:

Code: Alles auswählen

Warning: file() [function.file]: open_basedir restriction in effect. File(/chat/chat-online.php) is not within the allowed path(s): (/home/httpd/vhosts/magboard.com/httpdocs:/tmp) in /home/httpd/vhosts/magboard.com/httpdocs/index.php on line 339

Warning: file(/chat/chat-online.php) [function.file]: failed to open stream: Operation not permitted in /home/httpd/vhosts/magboard.com/httpdocs/index.php on line 339

Warning: implode() [function.implode]: Bad arguments. in /home/httpd/vhosts/magboard.com/httpdocs/index.php on line 339
Habe als Pfad "/chat/chat-online.php" angegeben.

Léo

Verfasst: 08.01.2007 21:51
von area57
Moin,

probiers mal mit dem absoluten dateipfad oder dem http-pfad ;)

Verfasst: 08.01.2007 21:57
von leopittoni
Mit dem absoluten kommt keine Fehlermeldug mehr... Doch es wird nichts angezeigt...

Woran könnte das liegen? Oder soll ichs doch irgendwie per include machen?

Danke! Léo