# 1.第一种方法
* 使用 Artisan 命令`storage:link`来创建符号链接:
```
php artisan storage:link
```
* 控制器接受文件进行存储
```
$path = $request\->file('photo')->store('public'); //public 可以在filesystems文件中配置路径
```
* 获取文件的url
```
use Illuminate\\Support\\Facades\\Storage;
//获取文件的路径
$path\=Storage::url($val\['photo'\]);
//生成外部可访问的url
$url=asset($path);
```
# 2.第二种方法
* 控制器接受文件进行存储
```
$path = Storage::putFile('public', $request\->file('photo'));
```
配置文件
```
'public' => \[
'driver' => 'local',
'root' => storage\_path('app/public'),
'url' => env('APP\_URL').'/storage',
'visibility' => 'public',
\],
```
第三种
```
public function getInfo(Request $request){
$data=$request->post();
$file=$request->file('file');
//获取文件后缀
$ext = $file->getClientOriginalExtension();
//获取文件临时位置位置
$path = $file->getRealPath();
//生成新文件名称 //生成格式:时间戳+随机数+后缀名称
$file1=date("Ymd")."/".$request->book_name.date("his");
$newfilename =$file1 .'.'.$ext;
// 更新当前文件名称 //格式:域名+filesystems.php设置的文件位置+新文件名称
$data['file'] = $_SERVER['HTTP_HOST'].'/file/'.$newfilename;
//当前的数据导入的标识
$data['time']=time();
//文件上传
$re = Storage::disk('uploads')->put($newfilename, file_get_contents($path));
}
```
第四种(本地文件上传到云存储,并返回url)
```
/\*\*
\* 上传图片到阿里云
\* @author shishuaibo
\* @param $path 文件的路径
\*/
function upload\_image($path){
//$path = storage\_path('classImg/H31149.jpeg');
$data\=file\_get\_contents($path);
$ext\=pathinfo($path, PATHINFO\_EXTENSION);
$sName = getId().'.'.$ext;
$disk = Storage::disk('oss');
$disk ->put($sName, $data);
$url\=$disk ->url( $sName);
return $url;
}
```
- 重要文档
- 工作须知
- 项目下的公共方法
- 程序员给代码写注释时有哪些讲究!
- RestFul 讲解
- 其他知识
- docker容器
- MongoDB的使用
- Node.js的使用
- Session共享
- Wordpress的使用
- Websocket的简介
- Ajax
- 项目技术
- Https配置证书
- Nginx的反向代理
- MySQL读写分离配置(laravel篇)
- Nginx的负载均衡
- App接口返回格式
- laravel中JWT的应用
- laravel验证码的使用
- laravel公共方法文件
- laravel框架的RBAC
- Git相关
- Git篇1
- Git篇2
- Mysql相关
- Mysql的主从复制
- MySQL的备份
- MySQL的使用
- 请求第三方接口
- Redis相关
- redis的使用
- Redis的基本用法以及场景分析
- 开发小技巧
- Linux
- 禁用root及密码登录
- Lnmp环境的安装
- 安装composer
- 安装Redis
- 文件共享服务 samba
- 其他安装
- Lnmp常用命令
- 性能检测命令
- Nginx的配置详解
- PHP相关
- PHP基础知识
- php常见的系统函数
- PHP的设计模式
- Cookie 和 Session 的封装
- Mysql知识
- Mysql索引
- MySQL的数据类型
- PHP重要知识
- PHP框架篇
- Laravel框架
- laravel---Excel
- laravel文件上传
- Laravel-Mysql常用操作
- Laravel队列(queue)
- laravel-发送Email
- laravel--JWT
- TP框架篇
- tp5主从数据库设置读写分离
- 前端
- JS
- js代码实现点击按钮出现60秒倒计时
- 开发软件相关
- 代码编辑器
- vs code配置ftp连接远程服务器实现代码文自动上传
- 编程相关软件下载