2011-10-24 29 views
7

Nếu tôi gọi header('Content-Type:text/plain; charset=ISO-8859-15'); trình duyệt sẽ tải xuống tệp thay vì hiển thị tệp đó. Sử dụng text/html hoạt động thay thế. (tệp được tải xuống vẫn được xử lý, nó không tải xuống mã nguồn)"Loại nội dung: văn bản/đồng bằng" buộc tải xuống tệp

Tôi đã cố gắng thêm header('Content-Disposition:inline;'); nhưng nó đã bị bỏ qua.

Tôi khá thất vọng về những gì có thể gây ra sự cố này, mẹo nào?

Máy chủ là MAMP 1.9.6 (PHP 5.3.5, Apache/2.0.64).

chỉnh sửa: điều này chỉ xảy ra trên Chrome, nó hoạt động trên Firefox, Camino và Safari.

+0

Trình duyệt là gì? Tôi khá chắc chắn rằng IE sẽ nhắc tải xuống khi nó gặp bất kỳ điều gì khác ngoài 'image/*' và 'text/html'. Đây là lý do tại sao các tệp javascript/css được tải xuống thay vì được hiển thị. –

+0

@rudi_visser: Chrome –

+0

Thật kỳ lạ, không bao giờ nhìn thấy nó (cũng không thể tái tạo): ( –

Trả lời

11

tôi không thể tái sản xuất này với kịch bản này:

<?php 

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

Tuy nhiên, tôi có thể tái tạo nó với điều này:

<?php 

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

Hãy chắc chắn rằng nội dung của bạn thực sự là đồng bằng văn bản ASCII ...

+3

Đó là nó, tôi đoán.Tôi giả định trình duyệt sẽ cố gắng để hiển thị nó anyway ngay cả khi có các ký tự điều khiển. sai rồi. –

-4

Đối với tôi công trình này:

header('Content-Type:text/javascript;'); 
Các vấn đề liên quan