ThWboard Support-Forum (Archiv)

Ort: / Boardübersicht / PHP / MySQL Probleme / php Anweisung geht nicht


Seite 1 von 1

Heiner schrieb am 24.07.2003 um 07:11 Uhr

Hallo,
nach einem Servercrash bei all-inkl.com und Umzug auf einen
anderen Server laufen sehr viele Anwendungen nicht mehr, der
Provider reagiert mittlerweile kaum noch, ich hatte hier im Forum
bereits schon eine Beiträge zu.

Hier noch ein weiteres Problem.

In einem älteren Script wird ein Listenfeld wie folgt erzeugt,
es wird dabei auf ein Verzeichnis zugegriffen wo die Namen
der User in der Form 'user.php' enthalten sind.
Es funktioniert nicht mehr, es liegt wahrscheinlich am
Befehl 'exec' (php_safe_mode ist aber off)

Wie kann ich das anders erzeugen?

exec(\"ls ../users\",$resrAr);
while(list($key,$val) = each($resrAr)) {
$val = ereg_replace(\".php\",\"\",$val);
echo \"<option value=\"$val\">$val

Da wär dann auch noch eine Online Liste, die auch
nicht mehr funktioniert, ähnlicher Aufbau.

<?
exec("find userlist/ -amin 1 -o -amin 0",$retAr);
$numusers = sizeof($retAr);
for ($i=0;$i<$numusers;$i++)
    if ($retAr[$i] != "")
{
$aus .= " ".ereg_replace("userlist/","",$retAr[$i])." - ";
}
?>

Lässt sich das anders als mit exec ausführen?

EDIT
Die Liste wird durch einen HTML Reresh alle 20 Sekunden
neu aufgerufen. Es ist die Online Liste in einem Chat.

Heiner schrieb am 28.07.2003 um 20:16 Uhr

Hallo,
keine Ahnung warum das nicht mehr geht, der Provider
wusste es auch nicht.

Habe es so gelöst:

$handle=opendir('userlist');
while ($file = readdir ($handle)) {
if ($file != "." && $file != ".." && $file != "") {
$file = ereg_replace(".php","",$file);
$test .= " ".$file." - ";
}
}
closedir($handle);

Wenn ein User sich ausloggt und den entsprechenden Link
'Abmelden' anklickt, aktiviert er:

@unlink("userlist/$username");

Das Problem: Die meisten User schliessen einfach das Fenster,
der User bleibt in der Liste.
Bei der obigen exec Variante wurde durch '-amin 1 -o -amin 0'
festgelegt, wer in die Liste (array) kommt und angezeigt werden
soll, nämlich nur die User, wo auf die Datei innerhalb der letzten
Minuten zugegriffen wurde (wird durch touch() während des
Chattens erledigt, bei jedem HTML Refresh des Chat-Fensters
wird touch("userlist/".$username); aufgerufen).

Habe das mit filectime() und fileatime() versucht, erhalte dann
aber gar keine Ausgabe mehr.

Hat jemand eine Idee wie man das Problem lösen kann??

Seite 1 von 1