Tempfile auf Existenz abfragen?

Dick Starbuck

Erfahrenes Mitglied
Hallo,

ich hab mal ne ganz einfache, vielleicht blöde Frage. ;)

Ist es möglich, ein Tempfile (tmpfile()) auf seine Existenz hin abzufragen, das heißt z.B. mit file_exists() oder isset() oder sowas? Es ist ja leider nicht möglich, der Datei einen Namen zu geben. Deshalb wüsste ich nicht, wie das zu bewerkstelligen wäre. Vielleicht hat ja jemand von euch ne Ahnung? ;)

Danke schonmmal. Gruß, Dick Starbuck
 
Kannst du nicht einfach davon ausgehen das es da ist ?
Sobald du das tmpfile-handle hast ist doch eins da ;)

Da tmpfile() ein normales filehandle zurückliefert kannst du auch nach dem korrekten handle fragen:

$tmp = tmpfile();
if($tmp)
{
//blah
}
 
Also mein Gedanke war folgender:

Ich bastele gerade an einem filebasierten Community-System. Und dafür brauche ich noch einen "User-Online" Status. Ich wollte mir jetzt die Eigenschaft der Tempfiles zur Hilfe nehmen, dass diese bei Beenden des Scripts, d.h. bei Beendung des Browsers gelöscht werden.

Das heißt also, bei Login des Users wird ein entsprechendes Tempfile in ein Verzeichniss des Users auf dem Server geschrieben und dadurch wird der Online-Status abgefragt. Wird der Browser geschlossen, bzw loggt sich er User aus, wird das File gelöscht. Beim wiederholten aufrufen der Seite wird ein Cookie abgefragt, und falls der User noch eingeloggt ist, soll das Tempfile wieder erstellt werden. Dafür brauche ich eben die Möglichkeit der "Existenzabfrage". Noch besser wären natürlich namentlich bekannte Datein mit temporärer Eigenschaft. Aber sowas gibt es wohl nicht?

Aber das ganze klingt auch sicher ziemlich komisch, oder? :-)
Wenn jemand ne bessere Idee für so eine Liste hat (Kein SQL), bitte hier posten! ;)
 
Das tmpfile ist aber schon verschwunden sobald das script beendet ist, das tmpfile ist also nur einen sekundenbruchteil vorhanden.

Du brauchst aber eine Lebensdauer die länger als ein Script ist.

Du könntest selber temporäre Dateien in einem Verzeichnis anlegen (md5(ip).txt oder sowas) und diese dann fuer den onlinestatus auslesen, anzahl dateien im verzeichnis = user online. Ein Script was Dateien älter als X Min löscht räumt dann auf.

Aber warum Filebasiert ? Dann wenigstens per XML ;)
 
Hmm, also ich möchte nicht wissen wieviele User online sind, sondern welche.. Bzw in der Userliste hinter jedem User einen Online Status anzeigen. ;)

Filebasiert deshalb, weil ich an einem komplett filebasierten Portal arbeite. Habe schon Dinge wie Newsscripts, Guestbook, Forum, etc, etc fertig. Und jetzt eben noch das. ;)

Aber irgendwie krieg ich das auch noch hin. :-)
Schonmal vielen Dank für deine Hilfe!
 
dann halt usrID.txt und wenn das file existiert isser online, isses älter als X minuten löschst du's
 
Zurück