我试图强制用户下载文件。为此我的脚本是:
$file = "file\this.zip";
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=$file");
header("Content-Type: application/zip"); //This is what I need
header("Content-Transfer-Encoding: binary");
readfile($file);
我要上传的文件不是.zip,所以我想知道我要在$ file中收到的图像的内容类型。 如何完成这个
答案 0 :(得分:5)
我总是把application/octet-stream
(或者像这样的somwething),因为浏览器无法以任何方式尝试显示它,它总是强制用户保存/运行,然后经常推断出文件类型通过扩展。
答案 1 :(得分:2)
对于图像,最可靠的是getimagesize()。对于任何其他类型,Fileinfo函数是正确的。
我认为ck说的是:在强制下载时,octet-stream
是防止在浏览器或相应客户端应用程序中打开内容的最佳选择。
答案 2 :(得分:0)
答案 3 :(得分:0)
好的,我自己做了。
我用过
$type = filetype($file); //to know the type
答案 4 :(得分:0)
您需要在那里发送 mime-type 。您可以使用mime_content_type
函数在PHP中获取此信息。还有Fileinfo扩展,它提供了获取大量文件信息的方法,包括mime类型。