返回博客列表

TP6 文件下载

2022年03月23日 11时29分

一、示例


官网手册的文件下载文档

(1)示例代码

  1. public function index()
  2. {
  3. return download('1.jpg', '这是一张图片');
  4. }

(2)运行结果

二、函数参数


文件下载使用得是助手函数download,有四个参数:

  1. * @param string $filename 要下载的文件
  2. * @param string $name 显示文件名
  3. * @param bool $content 是否为内容
  4. * @param int $expire 有效期(秒)

1、第一个参数是 文件,比如一张图片 1.jpg ,把图片放在public目录下,支持多级目录。

  1. public function index()
  2. {
  3. //public目录下得1.jpg
  4. return download('1.jpg', '这是一张图片');
  5. //public目录下的image目录下的1.jpg
  6. return download('image/1.jpg', '这是一张图片');
  7. }

2、第二个参数是 显示文件名,规定是字符串,可以中英文。

  1. public function index()
  2. {
  3. //中文
  4. return download('image/1.jpg', '这是一张图片');
  5. //下载后就是一个png格式图片
  6. return download('image/1.jpg', '1.png');
  7. }

剩下两个参数用到不多,这里不做示例。

三、其他格式文件


确保下载的文件在你的public目录下,可以根据不能格式用文件夹分类。

1、文本

  1. public function index2()
  2. {
  3. return download('1.txt', '这是一个txt文件');
  4. }

2、音频

  1. public function index3()
  2. {
  3. return download('1.mp4', '这是一个mp4文件');
  4. }

3、其他格式

  1. public function index2()
  2. {
  3. return download('city.sql', '这是一个sql文件');
  4. }

四、特殊的示例


这里用到download的第三个参数 $content 值为 false/true

比如:

  1. public function index5()
  2. {
  3. //没有 '我是一段文本' 这样的文件
  4. return download('我是一段文本', 'ok.txt');
  5. }

用第三个参数:

  1. public function index5()
  2. {
  3. return download('我是一段文本', 'ok.txt', true);
  4. }

原因分析:

第一个参数 文件名:没有后缀并且文件不存在,只是一段内容

第二个参数 下载名:指定了后缀是一个txt文本

第三个参数 是否为内容下载:设置了true

所以download函数,会生成一个ok.txt的文本,然后把我是一段文本这段内容存入到ok.txt文本中,并且提供下载。

作者:君看蕙风来处

链接:https://puuluu.com/b/53

版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议 。 本文为原创文章,版权归 莞尔博客 所有,欢迎分享本文,转载请附上原文作者、出处链接及本声明。

0.058241s