回答
只要提供一个链接到该文件,浏览器将完成其余的。如果这个文件存储在你的服务器上,你可能正在寻找一个脚本,将它暴露给外部世界。这个脚本应该设置正确的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