Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP强制下载未知文件类型的文件_Php - Fatal编程技术网

使用PHP强制下载未知文件类型的文件

使用PHP强制下载未知文件类型的文件,php,Php,我希望使用PHP头从外部源强制下载文件。但是,文件类型可以是任何内容如何强制下载所有文件类型 我希望您能理解我的问题和我想要描述的内容。您指的是HTTP头,您正在寻找RFC 2616,“内容配置” 发送以下标题以强制下载所有文件和类型: header('Content-Disposition: attachment; filename="name.ext"'); header('Content-Type: application/octet-stream'); // or application

我希望使用PHP头从外部源强制下载文件。但是,文件类型可以是任何内容如何强制下载所有文件类型


我希望您能理解我的问题和我想要描述的内容。

您指的是HTTP头,您正在寻找RFC 2616,“内容配置”

发送以下标题以强制下载所有文件和类型:

header('Content-Disposition: attachment; filename="name.ext"');
header('Content-Type: application/octet-stream'); // or application/force-download

echo $the_file_content;
exit;

强制所有下载对我来说似乎是个坏主意……请查看
readfile()
的PHP文档,特别是将标题设置为octet-stream。同意@Jon,这是一个错误的UX决策。您是否100%确定您的用户要下载该文件?您是否100%确定他们要使用默认名称将其保存在默认下载目录中?如果您可以对这些文件说“是”,则继续。默认名称是指服务器上的文件名。我不是说这个没有可接受的用途,我只是说如果你指的是MIME类型,
application/octet-stream
。哦,它是特定的。它声明文件由字节组成。如果您的文件不是由字节组成的,那么您必须找到其他文件。@CosmoPosmo,您可能想到的不是由字节组成的文件类型是什么?