obiwan1973: HTML-Datei mit PHP binär auslesen und im Browser anzeigen

Hallo zusammen,

ich habe in einem geschützten Bereich meines Webservers Dateien liegen, die ich per PHP-Script binär auslesen möchte.

Wie definiere ich, dass dort liegende HTML-Dateien bzw. der darin enthaltene Code) vom Browser interpretiert werden?

Momentan nutze ich folgenden Code:

  
  
elseif($var_fileextension . "" === "html") {  
	header("Content-Type: application/xhtml+xml"); }  
  

Firefox öffnet jetzt die HTML-Seite als Code-Ansicht und schimpft wegen dem JavaScript-Code in der HTML-Datei. Ich möchte aber, dass er den Code (HTML, CSS und JavaScript) interpretiert.

Wie stelle ich es an?

Der Internet Explorer macht es richtig, er interpretiert den Code in der Datei und ich bekomme eine statische und voll funktionsfähige HTML-Seite (mit JS und CSS) angezeigt.

Gruß aus Sachsenheim

Thomas

  1. Tach!

    Wie definiere ich, dass dort liegende HTML-Dateien bzw. der darin enthaltene Code) vom Browser interpretiert werden?

    Gib den richtigen Content-Type an.

    elseif($var_fileextension . "" === "html") {
    header("Content-Type: application/xhtml+xml"); }

      
    Es ist unsinnig, an einen String einen Leerstring anzuhängen. Das ergibt nichts anderes als es vorher auch schon war. Geht es dir allerdings um eine Typkonvertierung, à la "" + 5, was aus der Integer-5 einen String macht, dann schreib besser eine (string)5, dann sieht man besser was beabsichtigt ist. Ein Dateiname ist allerdings immer ein String, wenn du ihn nicht irgendwie direkt aus Zahlen bildest. Es kann noch sein, dass du ein Objekt (vielleicht SimpleXML) vorliegen hast, das du in den String-Kontext bringen möchtest, damit der Inhalt zu einem String wird (\_\_toString()). Auch dann ist ein expliziter Typecast besser als eine scheinbar sinnlose Operation, die das nebenbei erledigt.  
      
    
    > Firefox öffnet jetzt die HTML-Seite als Code-Ansicht und schimpft wegen dem JavaScript-Code in der HTML-Datei.  
      
    Dann ist wohl dein XML nicht wohlgeformt oder ungültig.  
      
    
    > Ich möchte aber, dass er den Code (HTML, CSS und JavaScript) interpretiert. Wie stelle ich es an?  
      
    Warum nimmst du nicht text/html als Content-Type?  
      
    
    > Der Internet Explorer macht es richtig, er interpretiert den Code in der Datei und ich bekomme eine statische und voll funktionsfähige HTML-Seite (mit JS und CSS) angezeigt.  
      
    Der wird wohl stillschweigend zu text/html gewechselt sein.  
      
      
    dedlfix.
    
    1. Hallo dedlfix,

        
        
      elseif($var_fileextension . "" === "html")  
      {  
       	header("Content-Type: text/html");  
      }  
        
      
      

      Der Content-Type, genau das wars, was ich brauchte. Funzt. Danke Dir.

      Gruß

      Thomas

      1. Hallo,

        header("Content-Type: text/html");

        Der Content-Type, genau das wars, was ich brauchte. Funzt. Danke Dir.

        und wenn du es jetzt noch ordentlich[tm] machen willst, gibst du mit demselben Header auch noch die Codierung an, also beispielsweise:

        Content-Type: text/html; charset=UTF-8

        Sonst darf der Browser raten, und irgendjemand beklagt sich dann bestimmt wieder über kaputte Umlaute. ;-)

        Ciao,
         Martin

        --
        Nicht jeder, der aus dem Rahmen fällt, war vorher im Bilde.
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(