>[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