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