2013-02-05 63 views
6

我正在爲一個類編寫單元測試,並且需要生成具有不同MIME類型的幾個文件。如何使用php在文件上設置MIME類型?

我知道如何在將文件發送給遠程用戶(ala header())時設置mime類型,但在本地服務器上使用fwrite()時如何設置?

對於在此方法中生成的文件是直接從文件擴展名派生的MIME類型?

我在Ubuntu上使用PHP 5.3.x 12.04

回答

6

文件沒有MIME類型。它們通過文件擴展名進行標識。 MIME類型通常由/etc/mime.types中的文件擴展名設置。所有的mime類型都會告訴客戶端用什麼程序打開文件。

3

mime-type對網頁瀏覽器和電子郵件客戶端而言通常只適用於您的物理文件。只需用正確的擴展名創建你的文件,Ubuntu文件管理器將相應地解釋它。

1

mime類型屬於您的服務器或瀏覽器所做的HTTP請求。 如果您正在運行Apache,您可以在.htaccess文件中爲媒體文件設置默認的MIME類型。然後你可以試着模擬請求用CURL或者fsockopen返回你的文件,並且如果mime類型是正確的話就查看頭文件......以防萬一你想在你的單元測試中確保mime類型能夠正常工作。