簡體   English   中英

如何確定htaccess在PHP中設置的MIME類型

[英]How to determine MIME Type set by htaccess in PHP

我設置了一個.htaccess文件,以在目錄root / a / b /中定義特定的MIME類型,並且所有文件都在同一目錄中。

我有一個php文件,該文件想要在根目錄/ c /中提供這些文件,並且需要確定.htaccess文件所定義的內容類型。

有什么辦法嗎? PHP版本是5.1.6。 mime_content_type返回text/plain ,我不想嘗試手動解析.htaccess文件。 如有必要,我可以移動文件。

您的意思是您想通過php腳本提供一些靜態文件,並以相同的內容類型返回它們,就像它們是由apache服務器直接(靜態)提供的一樣?

我認為如果不閱讀.htaccess文件,您將無法做到這一點。 甚至那也不是萬無一失的,因為.htaccess文件只會覆蓋Apache配置的全局設置,甚至覆蓋某些父目錄中的其他.htaccess文件的全局設置。

我能想到的唯一簡單的方法是,您自己的php腳本建立一個http連接以(靜態)獲取文件並獲取content-type,但這對於您的情況可能不切實際(並且請注意無限循環!)。

如果您想使用php提供文件,為什么不同時使用php定義mime類型(例如,作為擴展名為=> mime類型對的關聯數組)?

也就是說,在不解析.htaccess文件的情況下實現此目標的一種可能方法是讓php腳本對root/a/b的文件進行請求,並檢查響應頭中的mime類型。 如果您使用HTTP包裝器提供文件,例如。 fopen('http://example.com/a/b/file') ,您將自動獲得此信息:您可以通過$http_response_headerstream_get_meta_data訪問響應標頭$http_response_header類型位於Content-Type:標頭中。 如果您以另一種方式打開文件,則仍然可以先執行HEAD請求並檢查響應Content-Type(即使對每個服務的文件執行2個請求似乎都過頭了)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM