lumen上传文件至ftp

本文介绍如何在Lumen框架中使用League/Flysystem库进行FTP文件上传操作。首先通过Composer安装依赖,接着配置FTP磁盘信息,并最终实现文件上传功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值