Laravel 使用 FastDFS 上傳圖片

iMax發表於2020-05-04

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 協議》,轉載必須註明作者和本文連結

相關文章