1.使用composer引入league\flysystem
composer require league\flysystem
2.在config目录下找到filesystem.php并在’disks’数组中添加以下代码
在lumen中config目录不会再根目录中显示,可以在 ‘vendor/laravel/lumen-framework’ 目录下找到 ‘config’ 目录,复制到根目录下,方便修改
'ftp' => [
'driver' => 'ftp',
'host' => 'ftp的ip地址',
'username' => 'ftp的用户名',
'password' => 'ftp的密码',
'port' => 21, //端口
],
3.使用以下代码即可实现文件
if(!empty($request->file())){ //判断是否有文件传入
$file = $request->file($fileName); //获取到请求文件
if(!empty($file)){ //判断文件是否存在
$fileExt = $file->getClientOriginalExtension(); //获取文件后缀名
$realPath = $file->getRealPath(); //获取文件真实路径
$filename = date('YmdHis') . uniqid() . '.' . $fileExt; //按照一定格式取名
$filepath = $fileName.'/'; //个人要求的路径
$bool = Storage::disk('ftp')->put('/data/'.$filepath.$filename, file_get_contents($realPath)); //使用Storage传文件至ftp
$fileServer = $server; //ftp的ip地址
$fileUrl = $fileServer.$filepath.$filename; //文件的url地址
if($bool){
return $fileUrl; //返回文件url,可用于传入数据库
} else{
return '500';
}
}
}
return null;
}