![]() |
Willkommen, Gast ( Anmelden | Registrierung )
![]() |
![]()
Beitrag
#1
|
|
Kommt Zeit, kommt Rat, kommt Conrad! ![]() Gruppe: Mods Beiträge: 1.169 Mitglied seit: 21.11.2001 Wohnort: Altenkirchen, Westerwald Mitglieds-Nr.: 42 ![]() |
Hallo,
heute habe ich mich mal wieder mit php beschäftigt. Ziel ist es, verschiedene htm-Seiten mit einem (php)Zähler zu versehen. Das habe ich gemacht: Es handelt hier sich um eine HTM-Seite in der ich folgender aufruf gemacht habe: QUELLTEXT <p> <?php include('/home/www/web784/html/scripts/count/count.php'); ?> </p> In diesem Absatz (P) soll das Script seine Ausgabe machen. Klappt aber nicht! ![]() Es klappt nur wenn ich die Seite mit diesem Aufruf -anstatt htm- eine PHP-Endung gebe! Warum ist das so?? ![]() Kann eine html-Seite kein php aufrufen? Oder muss dort nur ein anderen Aufruf hin? Danke für Eure Hilfe ![]() Conny (der sich wünscht er hätte mehr Ahnung von php) |
|
|
![]() |
![]()
Beitrag
#2
|
|
hdb ![]() ![]() ![]() ![]() ![]() Gruppe: User Beiträge: 685 Mitglied seit: 26.10.2001 Wohnort: Köln Mitglieds-Nr.: 5 ![]() |
ZITAT(Netizen @ 15.10.2004 - 1:12) ZITAT(hdb @ 15.10.2004 - 0:52) Nun zurück zum konkrten Anliegen von Conny. Hast Du ihm einen Vorschlag zu machen, wie er nun seine Wünsche realisieren kann? Ich würde es wohl mit MultiViews versuchen: Apache, MultiViews and PHP http://tranchant.plus.com/notes/multiviews ... Schlimm, wirklich schlimm, sowas als Lösung für einen Anfänger in Sachen PHP anzubieten! vorbehalte ausgabetyp des PHP-skripts MultiViews verwendet den standardtyp wie mit AddType angegeben, egal was das PHP-skript im endeffekt generiert. ich z.b. prüfe den Accept-header, den ihr browsers sendet, nach application/xhtml+xml. wenn gefunden, wird der Content-Type-header geändert, und der DOCTYPE wird auf XHTML 1.1 gesetzt. (mehr information) wenn also ein browser eine anfrage mit einem Accept-header, der application/xhtml+xml enthält, schickt, aber nicht text/html, würde apache fehler 406 retournieren, weil MultiViews nur weiß, daß .php-dateien vom typ text/html sind. ich löse das, indem ich zusätzliche erweiterungen angebe: AddHandler php-script php xphp AddType text/html php AddType application/xhtml+xml xphp dann speichere ich alle dateien als .xphp-dateien und erzeuge symbolische links mit der endung .php: (datei) multiviews.xphp (link) multiviews.php -> multiviews.xphp damit hat MultiViews eine auswahl an dokumenttypen, und ich brauche nur eine datei zu warten. das erspart mir auch, den Accept-header zu parsen: ich kann PHP’s $_SERVER['SCRIPT_FILENAME'] verwenden um rauszufinden, welche von den beiden dateien MultiViews ausgewählt hat. wichtig zu beachten ist, daß der internet explorer (unter gewissen bedingungen) einen Accept-header mit */* sendet, obwohl er kein application/xhtml+xml versteht. glücklicherweise wählt apache’s auswahlalgorithmus den alphabetisch ersten dateinamen, der die bedingungen erfüllt. indem sie die dateiendungen weise wählen, können sie so den standardtyp angeben. in meinem beispiel kommt .php zuerst, also wird text/html als fallback genommen. versionsabhängigkeiten PHP und apache werden ständig weiterentwickelt, es könnte also sein, daß es nicht mit allen versionen funktioniert. testen! ich glaube nicht, daß diese lösung mit Apache 1.3 funktioniert, wegen dem 1.3-kompatiblen modul, das php-script nicht verarbeitet. wenn sie einen workaround finden, lassen sie es mich wissen und ich werden es hier dokumentieren. eine möglichkeit sind type maps: siehe content negotiation und mod_negotiation auf der Apache website. |
|
|
![]() ![]() |
![]() |
Vereinfachte Darstellung | Aktuelles Datum: 07.07.2025 - 13:47 |