一、示例
(1)示例代码
public function index()
{
return download('1.jpg', '这是一张图片');
}
(2)运行结果
二、函数参数
文件下载使用得是助手函数download
,有四个参数:
* @param string $filename 要下载的文件
* @param string $name 显示文件名
* @param bool $content 是否为内容
* @param int $expire 有效期(秒)
1、第一个参数是 文件
,比如一张图片 1.jpg
,把图片放在public目录下,支持多级目录。
public function index()
{
//public目录下得1.jpg
return download('1.jpg', '这是一张图片');
//public目录下的image目录下的1.jpg
return download('image/1.jpg', '这是一张图片');
}
2、第二个参数是 显示文件名
,规定是字符串,可以中英文。
public function index()
{
//中文
return download('image/1.jpg', '这是一张图片');
//下载后就是一个png格式图片
return download('image/1.jpg', '1.png');
}
剩下两个参数用到不多,这里不做示例。
三、其他格式文件
确保下载的文件在你的public目录下,可以根据不能格式用文件夹分类。
1、文本
public function index2()
{
return download('1.txt', '这是一个txt文件');
}
2、音频
public function index3()
{
return download('1.mp4', '这是一个mp4文件');
}
3、其他格式
public function index2()
{
return download('city.sql', '这是一个sql文件');
}
四、特殊的示例
这里用到download的第三个参数 $content
值为 false/true
比如:
public function index5()
{
//没有 '我是一段文本' 这样的文件
return download('我是一段文本', 'ok.txt');
}
用第三个参数:
public function index5()
{
return download('我是一段文本', 'ok.txt', true);
}
原因分析:
第一个参数 文件名:没有后缀并且文件不存在,只是一段内容
第二个参数 下载名:指定了后缀是一个txt文本
第三个参数 是否为内容下载:设置了true
所以download函数,会生成一个ok.txt
的文本,然后把我是一段文本
这段内容存入到ok.txt
文本中,并且提供下载。