Homepage selbermachen 7.846 Themen, 35.563 Beiträge

image/gif mit PHP direkt lesen

Anonym / 4 Antworten / Flachansicht Nickles

Hallo,

ich habe ein kleines Problem, bei dem ich hoffe, hier Hilfe zu finden. Ich möchte gerne ein Skript schreiben, welches testet, ob jemand eingeloggt ist oder nicht und eine passende Grafik zurückgibt. Damit habe ich zwar angefangen, jedoch funktioniert es irgendwie nicht. Das Skript wird folgendermaßen im HTML-Code aufgerufen:
<img src=check.php?do=isonline&requser=abcd>
Das soll also prüfen, ob abcd eingeloggt ist. Das passende PHP-Skript stelle ich hier verkürzt dar:

(Per Include werden die Benutzerdaten eingebunden)
(In der Datenbank wird der Status gecheckt)
header(Content-type= image/gif)
if ( user_online ) readfile(online.gif)
else readfile(offline.gif)

Normalerweise müßte er jetzt dem IMG-Tag korrekt das Bild weitergeben, jedoch sehe ich nur einen Platzhalter im Browser. Also, ich denke da spontan an zwei Möglichkeiten:
1. Der header muß am Anfang gesetzt werden. Doch wie soll man dann den Status auslesen?
2. Windows kann das Bild nicht weitergeben. Ich habe von solchen Problemen mit der CGI-Schnittstelle gehört - besonders bei Perl.

Entwickeln tue ich unter Windows mit dem Apache 1.3.20 und PHP 4.0.4 als apache_mod. Leider ist meine Linux-Plattform noch nicht soweit, sonst würde ich es da aufspielen und testen. Ich bin für jeden Tip dankbar, da das Skript auch bald released werden soll.

Archilles

bei Antwort benachrichtigen
Anonym Nachtrag zu: „image/gif mit PHP direkt lesen“
Optionen

Also ich hatte mir damals die Doku vom PHP4-Forum gezogen (per Offline-Reader) und die von php.net (unter Documentations). Das es mit Perl nicht funktionieren soll, hab ich aus einem Buch. Anscheinend gilt das generell für die CGI-Schnittstelle.

Wenn ich aber richtig informiert bin, läuft PHP bei mir als Modul im Webserver und nicht in einer gesonderten CGI-Umgebung. Schelißlich habe ich es so eingerichtet in der httpd.conf.
LoadModule = "/php/sapi/php4apache.dll" (irgendwie so heisst die)
Ob er bei jedem Aufruf trotzdem eine aufruft, weiß ich nicht. Auf jeden Fall ist es ziemlich schlecht, falls Windows damit nicht klar kommt. Das zeigt einmal mehr wie s*****e Windows ist.

Daher wäre es schön, wenn mir jemand mit UNIX bestätigen könnte, daß das Skript funktioniert. Aber trotzdem danke an alle, die sonst Ideen haben.

bei Antwort benachrichtigen