safari下载文件自动加了html后缀问题(2)

并不是 php.ini 里面的所有设置项都可以被修改,所有可以被 ini_set() 修改的选项可以从 官方手册里面的这个清单 知晓

有一种方法可以在执行的时候动态的修改脚本可以使用的内存大小,而不一定非要修改php.ini文件,毕竟php.ini是针对全局的。

在脚本里面动态的修改一些设置,只对该脚本有效,实际上并不真正地修改 php.ini 文件。

2.5 时间限制

一般情况下,使用php下载文件的时候,会加上一行 set_time_limit(0); ,表示不限制这个php脚本执行的时间

<?php $filePath = '/home/nemo/fun/testdownloadfile/test.txt'; $fileName = 'test.txt'; set_time_limit(0); header('Content-Type: application/octet-stream;charset=utf-8'); header('Content-Disposition: attachment; filename=' . $fileName); readfile($filePath);

看下 官方手册上 的解释


Content-Disposition 相关解释

在常规的HTTP应答中, Content-Disposition 消息头指示回复的内容该以何种形式展示,是以内联的形式(即网页或者页面的一部分),还是以附件的形式下载并保存到本地

Content-Disposition 消息头最初是在MIME标准中定义的,HTTP表单及POST 请求只用到了其所有参数的一个子集。只有form-data以及可选的name和filename三个参数可以应用在HTTP场景中

inline

inline展示txt文件
看如下示例代码,设置inline内联,将上面的test.txt文件在浏览器里面展示

<?php $filePath = '/home/nemo/fun/testdownloadfile/test.txt'; $fileName = 'test.txt'; header('Content-Disposition: inline; filename=' . $fileName); readfile($filePath);

常用的几种 Content-Type 类型

下面列一下常用的几种Content-Type

text/html ,内容是html格式

text/plain ,内容是纯文本格式

image/gif , gif图片格式

image/jpeg , jpg图片格式

image/png , png图片格式

multipart/form-data ,常见的 POST 数据提交的方式。当需要上传文件时,会用到这种类型

application/json ,消息主体是序列化后的 JSON 字符串

application/octet-stream ,二进制流数据。一般在下载文件的时候比较常见

application/x-www-form-urlencoded , 浏览器的原生form表单,提交的数据按照 key1=val1&key2=val2 的方式进行编码,key和val都进行了URL转码

总结

以上所述是小编给大家介绍的safari下载文件自动加了html后缀问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/dacc9ccf283fd2125f6df258f52125cd.html