Tom: MIME Type von PHP-Files

Hello,

kann man sich darauf verlassen, dass der MIME-Type von PHP-Files immer

text/plain; charset=us-ascii

ist? Wahrscheinlich ja nur auf den ersten teil, denn der zweite könte sicher auch "charset=utf-8" sein, oder so?

Ist der erste Teil wenigstens verbindlich anzunehmen?

Harzliche Grüße vom Berg
http://www.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau

  1. Hi,

    kann man sich darauf verlassen, dass der MIME-Type von PHP-Files immer

    text/plain; charset=us-ascii

    ist?

    wie kommst Du denn darauf? Dann würden PHP-Seiten standardmäßg im HTML-Quelltext angezeigt.

    freundliche Grüße
    Ingo

    1. Hello,

      kann man sich darauf verlassen, dass der MIME-Type von PHP-Files immer

      text/plain; charset=us-ascii

      ist?

      wie kommst Du denn darauf? Dann würden PHP-Seiten standardmäßg im HTML-Quelltext angezeigt.

      Ich sprach gar nicht von HTTP- und HTML-Übertragung von Ressourcen, sondern nur vom MIME-Type der ungeparsten PHP-_Datei_ auf dem Server.

      Die müsste doch eigentlich immer verbindlich "text/plain;" sein, oder?

      Harzliche Grüße vom Berg
      http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau

      1. Moin!

        Ich sprach gar nicht von HTTP- und HTML-Übertragung von Ressourcen, sondern nur vom MIME-Type der ungeparsten PHP-_Datei_ auf dem Server.

        Die müsste doch eigentlich immer verbindlich "text/plain;" sein, oder?

        Nein, es könnte auch text/php bzw. text/x-php sein, allerdings auch application/x-httpd-php sowie application/x-httpd-php-source; das letztere ließe außerdem noch auf text/x-php-source schließen.

        Viele Grüße,
        Robert

        1. Hello,

          Ich sprach gar nicht von HTTP- und HTML-Übertragung von Ressourcen, sondern nur vom MIME-Type der ungeparsten PHP-_Datei_ auf dem Server.

          Die müsste doch eigentlich immer verbindlich "text/plain;" sein, oder?

          Nein, es könnte auch text/php bzw. text/x-php sein, allerdings auch application/x-httpd-php sowie application/x-httpd-php-source; das letztere ließe außerdem noch auf text/x-php-source schließen.

          Ist ja klasse[tm]

          Dann muss ich es entweder drauf ankommen lassen, und nur reinschauen, ob überhaupt gütlige Zeichen im String stehen, oder aber alles gegenparsen.

          Harzliche Grüße vom Berg
          http://www.annerschbarrich.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau

  2. Hello,

    also als Auszug aus dem Code:

    if(function_exists('mime_content_type')
           and strpos(mime_content_type(__FILE__),'text/plain;') !== false)
        {
          return mime_content_type($filename);
        }

    Ist das sinnig oder eher nicht?

    Harzliche Grüße vom Berg
    http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau

    1. echo $begrüßung;

      and strpos(mime_content_type(__FILE__),'text/plain;') !== false)

      Ist das sinnig oder eher nicht?

      Was zeigt es denn an, wenn die datei.php mit <html><head>... anfängt und erst irgendwo im body ein <?php auftaucht?

      echo "$verabschiedung $name";

    2. hi,

      if(function_exists('mime_content_type')
             and strpos(mime_content_type(__FILE__),'text/plain;') !== false)
          {
            return mime_content_type($filename);

      Ist das sinnig oder eher nicht?

      M.E. nein.

      mime_content_type schaut sich den Dateiinhalt an, und zwar m.W. nur den Anfang, bevor es dann "rät", welcher MimeType es sein könnte.

      dedlfix hat schon ein Beispiel geliefert, wo das Ergebnis vermutlich nicht das gewünschte sein dürfte.

      Und auch ein PHP-Script, dass am Anfang vor <?php irgendwelche Binärdaten enthielte (z.B. die eines Bildes, dass an den Browser ausgegeben werden soll, und in dem per PHP mittendrin nur ein Wert geändert werden soll), dürfte kaum alstext/plain erkannt werden.

      gruß,
      wahsaga

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }
      1. Hello,

        if(function_exists('mime_content_type')
               and strpos(mime_content_type(__FILE__),'text/plain;') !== false)
            {
              return mime_content_type($filename);

        Ist das sinnig oder eher nicht?

        M.E. nein.

        mime_content_type schaut sich den Dateiinhalt an, und zwar m.W. nur den Anfang, bevor es dann "rät", welcher MimeType es sein könnte.

        Ok, zurückspulen und nochmal von vorne:

        Unter manchen Windows-Systemen sit die Funktion mime_content_type zwar vorhanden, aber sie liefert kein Ergebnis. Es gibt zum Glück file.exe von sourceforge, das mit etwas Tricksen auch arbeitet. Es kostet aber Kraft, dies über exec() aufzurufen.

        Ich benötige also eigentlich nur die Aussagen

        Ist die Funktion mime_content_type() vorhanden?
          Liefert sie eine brauchbares Ergebnis, oder nur false bzw ''?

        Wie würdet Ihr das nun machen?

        Harzliche Grüße vom Berg
        http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau

        1. Moin!

          Ich benötige also eigentlich nur die Aussagen

          Ist die Funktion mime_content_type() vorhanden?

          if(function_exists('mime_content_type') {

          Liefert sie eine brauchbares Ergebnis, oder nur false bzw ''?

          if ($type = mime_content_type($file)) {

          Wie würdet Ihr das nun machen?

          }  
          else  
              // rufe file auf und parse dessen Ausgabe
          

          Viele Grüße,
          Robert