2012-11-07 50 views
0

假設有一個庫函數需要知道當前由PHP腳本生成的HTTP響應的確切MIME類型,而不管它是否通過header('Content-type: ...')明確設置。另外,如果可能的話,不管輸出是否真的開始了(我懷疑這個,但是...)。當前在PHP中執行的響應的內容類型?

例如,它可能是一個輸出診斷/調試信息並希望根據當前內容類型是HTML,XML還是純文本來格式化其輸出的函數。

腳本知道它是否從命令行(php_sapi_name() == 'cli')運行,因此可以假定內容類型爲text/plain,但是,有什麼方法可以在服務器下運行時準確檢測它?

回答

1

默認情況下,當不在cli上運行時,PHP輸出的Content-type將爲text/html。正如你所知道的,當從cli運行時,輸出是text/plain

有一個功能headers_list,它會告訴你將發送(或已發送)的標題。你可以利用它來確定Content-type是什麼。我從來沒有用過它;我只知道它存在。

+0

謝謝Levi ... headers_list()雖然沒有列出輸出開始前的內容類型(自然)。 – mojuba

相關問題