php çıktı mime türünü değiştirmek

4 Cevap php

Ben bir php komut dosyası var. Çoğu zaman komut dosyası gayet iyi çalışıyor html, döner, ama bir vesileyle (Parametre? Format = XML) komut dosyası HTML yerine XML döndürür.

Text / html metin / xml veya application / xml için anında php çıktı döndü mim türünü değiştirmek için herhangi bir yolu var mı?

4 Cevap

Content-Type başlığını ayarlayın:

header('Content-Type: text/xml');

Muhtemelen yerine "application / xml" kullanmanız gerektiğini rağmen.

I will answer to the update, since the previous answers are good.
I have read that Internet Explorer is well known for ignoring Mime type headers (most of the time?) to rely on content of the file (which can cause problems in some cases).

Mmm, ben basit bir test yaptım:

<?php
header('Content-Type: text/xml');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<root><foo a="b">Tada</foo></root>';
?>

Internet Explorer 6 displays it correctly as XML. Even if I remove the xml declaration.
You should indicate which version is problematic.

Aslında, IE (6 en azından) ile, yukarıda yazdığım gibi, hatta XML veriyi tanımak ve bir ağaç olarak görüntülemek, bir içerik-tip gerekmez. XML doğru mu?

[Güncelleme] ekleyerek, hem de IE7 ile denediniz? Format = xml de, hala doğru XML görüntülemek. Ben hatalı biçimlendirilmiş XML gönderirseniz, IE bir hata görüntüler. WinXP Pro SP2 + test

Sen before Herhangi bir çıktı göndermek bir Content-Type başlık göndermek gerekir.

header('Content-Type: text/xml');