我已经制作了一个上传机制,现在我想创建一个页面,让您查看上传的文件。我想在浏览器中显示它们(我只有浏览器支持的文件,如图像,PDF等)。
我的猜测是我只能通过设置一些标题并打印文件的字节来实现这一点。但据我所知,我需要设置Content-type
标题以正确显示内容。如何获取文件的内容类型?它和哑剧型一样吗?
答案 0 :(得分:2)
为了在浏览器中处理许多不同的文件类型,您可以使用已弃用的MIME Content-type的帮助。
或者您也可以使用finfo-file来返回有关文件的信息。
答案 1 :(得分:1)
是的MIME类型。在
找到一个列表答案 2 :(得分:1)
您必须阅读文件的内容,打印相应的标题并回显内容。如果浏览器检测到它可以显示这些文件类型,它将显示它们,否则它将提示用户保存到本地系统。代码类似于下面指定的代码段:
header('Content-disposition: attachment; filename=huge_document.pdf');
header('Content-type: application/pdf');
readfile('file1.pdf');
答案 3 :(得分:0)
我为此问题制定的最佳解决方案是使用Apache的索引并使用FancyIndexing
应用某些样式,查看Apache Indexing Options,然后您可以显示您想要的MIME。
.htaccess
中的:
<IfModule mod_autoindex.c>
IndexOptions FancyIndexing
IndexOptions VersionSort
IndexOptions HTMLTable
IndexOptions FoldersFirst
IndexOptions IconsAreLinks
IndexOptions IgnoreCase
IndexOptions SuppressDescription
IndexOptions SuppressHTMLPreamble
IndexOptions XHTML
IndexOptions IconWidth=16
IndexOptions IconHeight=16
IndexOptions NameWidth=*
IndexOrderDefault Descending Name
HeaderName /style/header.php
ReadmeName /style/footer.php
</ifModule>
答案 4 :(得分:0)
试试这个:
$file = file_get_contents($_FILES['myupload']['tmp_name'];
$type = $_FILES['myupload']['type'];
header("Content-Type: ".$type);
echo $file;
它可能无法完全发挥作用,但它是一个起点。