Laravel 使用 FastDFS 上传图片

laravel 使用 FastDFS 上传图片#

github 上的一个 client

用 PHP Socket 实现的 FastDFS 客户端

(不需要安装 php dfs 扩展就可以直接使用哦)

FastDFS-Client

github 链接地址

github.com/qpwoeiru96/PHP-FastDFS-...

项目 clone 的本地改下配置就可以使用。不过这里我们演示一下在 laravel 项目里面如果使用。

1,在项目 app 的目录下面新建一个文件夹 Packages,然后把 client 的文件都放在该目录下面。#

将client代码放在项目里

2,修改各个文件的命名空间#

Base.phpTracker.phpStorage.phpFastDFS.phpException.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. 最后看下效果#

效果图1

效果图2

原文链接 www.dooruo.com/blog/laravel-fastdf...

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。