Laravel 使用 FastDFS 上传图片
laravel 使用 FastDFS 上传图片#
github 上的一个 client
用 PHP Socket 实现的 FastDFS 客户端
(不需要安装 php dfs 扩展就可以直接使用哦)
github 链接地址
github.com/qpwoeiru96/PHP-FastDFS-...
项目 clone 的本地改下配置就可以使用。不过这里我们演示一下在 laravel 项目里面如果使用。
1,在项目 app 的目录下面新建一个文件夹 Packages
,然后把 client 的文件都放在该目录下面。#
2,修改各个文件的命名空间#
将 Base.php
,Tracker.php
,Storage.php
,FastDFS.php
,Exception.php
命名空间都改成
namespace App\Packages;
3,使用#
3.1 在上传文件的控制器里引用这几个类#
use App\Packages\Base;
use App\Packages\Storage as DfsStorage;
use App\Packages\Tracker;
use App\Packages\Exception;
3.2 具体实现代码#
# DFS 配置
$tracker_addr = env("DFS_IP");
$tracker_port = env("DFS_PORT");
$group_name = env("DFS_GROUP_NAME");
# 实例化
$tracker = new Tracker($tracker_addr, $tracker_port);
$storage_info = $tracker->applyStorage(env("DFS_GROUP_NAME"));
$storage = new DfsStorage($storage_info['storage_addr'], $storage_info['storage_port']);
# 上传文件
$res = $storage->uploadFile($storage_info['storage_index'], $flieName);
3.3 修改配置 在项目下的.env
添加配置#
DFS_IP=192.168.152.128 #dfs主机的ip
DFS_PORT=22122 #端口
DFS_GROUP_NAME=group1 #group名称
4. 最后看下效果#
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: