Datei mit php auslesen Fragen

spikaner

Quereinsteiger @ php
Ich will ein kleines Script schreiben und habe ein paar Fragen dazu
1. Wird eine Verknüpfung überhaupt erkannt?
2. Wie handle ich am besten Massenabfragen (seite wird x mal pro sec aufgerufen)
3. Hängt mit 1. zusammen, wenn kein Spieler auf den Server ist, ist auch die Verknüpfung "tot"

Mein Wunsch,
man sollte angezeigt bekommen ob gerade jemand auf den Server ist oder nicht und die Namen der Spieler (steht in der .log) angezeigt bekommen

Wäre über Tips und ob überhaupt möglich dankbar
mfg Spikaner
 

Anhänge

  • ohne player.PNG
    ohne player.PNG
    6,8 KB · Aufrufe: 10
Zuletzt bearbeitet:
Es ist eine Linuxkiste der Server logt immer brav mit aber erst sobald ein Spieler Online geht ansonsten ist die Verknüpfung "tot"
und ich weis nicht ob ich Verknüpfungen überhaupt auslesen kann.

mfg Spikaner
 
Guten Morgen,

symbolische Links werden von PHP genauso behandelt wie reguläre Dateien. Wenn die Verknüpfung "tot" ist, also ins Leere zeigt, kann natürlich auch PHP die Datei nicht lesen, es wird behandelt, als wäre die Datei nicht vorhanden. Es gibt einige Funktionen im PHP-Core, mit denen man den Status des symbolischen Links prüfen kann. readlink() bspw. löst den symbolischen Link auf, das heißt, gibt den Namen der Datei zurück, auf den der Link zeigt. Dann kannst du mit dem Ergebnis und der Funktion file_exists() prüfen, ob das Ziel existiert:

PHP:
<?php
/**
 * symlink-test.php
 */
clearstatcache();

$fileName = "foo-current.log";
$linkTo = readlink($fileName);

if(file_exists($linkTo))
{
  $logContents = file_get_contents($fileName);
  echo $logContents;
}

Bash:
$ touch foo.log
$ ln -s foo.log foo-current.log
$ echo "test" > foo.log
$ php symlink-test.php
test
$ rm -f foo.log
$ php symlink-test.php
 

Neue Beiträge

Zurück