回答
只要提供一個鏈接到該文件,瀏覽器將完成其餘的。如果這個文件存儲在你的服務器上,你可能正在尋找一個腳本,將它暴露給外部世界。這個腳本應該設置正確的MIME類型,然後readfile
應該做到這一點。
<?php
header('Content-type: image/gif');
readfile('/path/to.your/file.gif');
exit();
如果該文件是.pdf,該怎麼辦?是否有一個通用的解決方案? – user198729 2009-12-26 13:31:48
搜索MIME類型。 – deerchao 2009-12-26 13:49:01
如果你想獲得的MIME類型的文件時,你至少有兩種選擇,在PHP中:
第一種是使用(廢棄)功能mime_content_type
:
返回MIME 格式的內容類型,如
text/plain
或application/octet-stream
。
第二是使用新的擴展Fileinfo(可作爲PECL擴展爲PHP < 5.3,和集成在PHP> = 5.3);該finfo_file
功能似乎是你需要的一個:
返回的文件名參數的 內容的文字說明,或 FALSE如果發生錯誤。
和給定的例子(引用):
$finfo = finfo_open(FILEINFO_MIME_TYPE); // return mime type ala mimetype extension
foreach (glob("*") as $filename) {
echo finfo_file($finfo, $filename) . "\n";
}
finfo_close($finfo);
給出了這樣的輸出:
text/html
image/gif
application/vnd.ms-excel
哪種對應的到你需要使用的是什麼Content-type
您的應用程序可能需要發送的HTTP標頭;-)
如果有很多併發用戶,你可能會考慮以某種方式緩存結果,因爲MIME魔法模式測試不是「最便宜」的功能;-) – VolkerK 2009-12-26 14:40:19
finfo_open無法加載魔法數據庫,php 2.5 – user198729 2009-12-26 15:44:22
嗯,有一些你必須把它放在正確的位置(我嘗試了幾次,這不是那麼容易設置,但不是**也很難)。有一些關於http://www.php.net/manual/en/function.finfo-open.php的信息可能會引導你更進一步。 – 2009-12-26 15:53:48
- 1. Php include()正確的MIME類型
- 2. JSON的正確MIME類型是什麼?
- 3. css.map文件的正確MIME類型
- 4. 如何確定與PHP中MIME類型關聯的擴展?
- 5. 如何確定適當的MIME類型
- 6. 如何在Play中實現用戶特定類型的一般行爲?
- 7. 如何分類MIME類型(PHP)
- 8. (PHP)如何正確地實現的crypt()
- 9. 檢查MIME類型是否正確?
- 10. PHP - finfo_file返回不正確的MIME類型
- 11. 使用PHP獲取正確的MIME類型
- 12. 使用PHP郵件 - 設置正確的MIME類型
- 13. MIME實體的通用MIME類型?
- 14. 如何使IIS以正確的MIME類型提供樣式表?
- 15. 如何實現自定義MIME類型的剪貼板操作?
- 16. 在PHP中正確實現虛函數?
- 17. JavaScript中的一般類型
- 18. 在PHP中覆蓋MIME類型
- 19. 如何在android中正確實現C2DM?
- 20. 如何在Android中正確實現progressBar?
- 21. 如何在php curl函數中獲得mime類型的響應
- 22. 如何確定一個類型實現特定的泛型接口類型,
- 23. 一般創建正確的混凝土類型屬性
- 24. 在GCC中實現的精確寬度整數類型如何?
- 25. 確定正在下載的文件的MIME類型
- 26. 如何在Python中找到mime類型
- 27. 如何在一個變量中實現不同的類類型?
- 28. PHP mime類型標準化
- 29. 如何正確實現一個MediaTypeFormatter來處理'multipart/mixed'類型的請求?
- 30. IEquatable,如何實現這一正確
您可以定義「它失敗「?比如,你是否收到錯誤信息?文件是否存在(並在當前目錄中)? – 2009-12-26 13:28:29
它給了我很多雜亂的字符,而不是一個圖像。 – user198729 2009-12-26 13:30:16