>[info] 普通文件从服务器或远程下载到本地
##方法
`\File::download($file_path,$file_name = '',$file_size = '',$ext='')`
##参数
| 名称 | 类型 | 说明 |
| --- | --- | --- |
| file_path | string | 远程文件 url 或服务器上文件路径 |
| file_name | string | 下载后文件名,不填写默认为 $file_path 中的文件名 |
| file_size | int | 文件大小,不填写自动获取,只能获取服务器上文件大小,建议填写 |
| ext | string | 文件扩展名,不带.号,强制指定文件扩展名 |
##使用示例
```
// 下服务器上的文件
return \File::download("../build.php")
// 下载远程文件
return \File::download("http://static.kancloud.cn/Static/home/image/15.png")
```
##助手函数
`download($file_path, $file_name = '', $file_size = '', $ext = '')`
>[info] 下载远程图片到服务器
##方法
`\File::downloadImage($url,$filename='',$type=0)`
##参数
| 名称 | 类型 | 说明 |
| --- | --- | --- |
| url | string | 远程图片链接 |
| filename | string | 保存后的文件名,保存在服务器的路径+文件名 |
| type | enum | 保存图片的类型 0为 curl ,适用于静态图片,其他为缓冲缓存,适用于动态图片 |
##使用示例
```
$url = $this->request->post("url");
if (substr($url, 0, 4) != "http") {
return ajax_return_adv_error("url非法");
}
$name = "./tmp/" . get_random();
$filename = \File::downloadImage($url, $name);
if (!$filename) {
return ajax_return_adv_error($filename);
} else {
$url = $this->request->domain() . substr($filename, 1);
return ajax_return_adv("下载成功", '', "图片下载成功,<a href='{$url}' target='_blank' class='c-blue'>点击查看</a><br>{$url}");
}
```
- 概要
- 开始使用
- 写在前面
- 目录结构
- 模板主题支持
- 前置方法before支持
- 数据返回
- 异常接管
- Rbac 权限管理
- 开始使用
- 用户管理
- 分组管理
- 节点管理
- 角色管理
- 使用流程
- 其他
- 代码自动生成 v1.2
- 示例一 - 一级控制器
- 示例二 - 多级控制器
- 示例三 - 从数据表生成
- 示例四 - 指定生成的文件
- 示例五 - 命令行模式
- 示例六 - 模拟命令行模式
- 代码自动生成
- 示例一 - 一级控制器
- 示例二 - 多级控制器
- 控制器
- 公共控制器
- traits 多继承 Controller
- 公开不授权控制器
- 其他控制器
- 标签扩展
- 模板
- 网站操作日志
- 节点图
- 行为驱动
- 其他后端方法
- Excel一键导出
- Excel一键导入
- 文件下载
- 邮件发送
- 七牛文件上传
- id加密
- 前端
- ajax请求
- 表单校验
- 丰富弹层
- 异步操作
- 表格溢出
- 随机字符串
- 自动面包屑导航
- 动态加载文件
- 文件上传
- Tab 切换
- 图片预览
- 二维码生成
- 日历组件
- 升级指导
- 更新日志
- FAQ