2011-10-24 9 views
7

Jeśli zadzwonię pod numer header('Content-Type:text/plain; charset=ISO-8859-15');, przeglądarka pobierze plik, zamiast go wyświetlić. Zamiast tego działa funkcja text/html. (pobrany plik jest mimo to przetwarzany, nie pobiera kodu źródłowego)"Content-Type: text/plain" wymusza pobranie pliku

Próbowałem dodać header('Content-Disposition:inline;');, ale został on zignorowany.

Nie mam pojęcia, co może spowodować ten problem, jakąkolwiek wskazówkę?

Serwer to MAMP 1.9.6 (PHP 5.3.5, Apache/2.0.64).

edycja: dzieje się tak tylko w przeglądarce Chrome, działa w przeglądarkach Firefox, Camino i Safari.

+0

Jaka jest przeglądarka? Jestem pewien, że IE wyświetla monit o pobranie, gdy napotka coś innego niż 'image/*' i 'text/html'. Z tego powodu pliki javascript/css są pobierane, a nie wyświetlane. –

+0

@rudi_visser: Chrome –

+0

To dziwne, nigdy tego nie widziałem (również nie można odtworzyć) :( –

Odpowiedz

11

I nie można odtworzyć to z tego skryptu:

<?php 

    header('Content-Type:text/plain; charset=ISO-8859-15'); 
    echo "This is some text"; 

Jednak mogę odtworzyć go w ten sposób:

<?php 

    header('Content-Type:text/plain; charset=ISO-8859-15'); 
    echo "\x00This is some text"; 

Upewnij się, że zawartość rzeczywiście jest tekstowy ASCII ...

+3

Zgadza się, zakładam, że przeglądarka i tak spróbowałaby go wyświetlić, nawet jeśli byłyby znaki kontrolne. Wygląda na to, że założyłem źle. –

-4

Dla mnie to działa:

header('Content-Type:text/javascript;'); 
Powiązane problemy