taitin / multiimage-import
Description...
Installs: 95
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/taitin/multiimage-import
Requires
- php: >=7.1.0
- dcat/laravel-admin: >=1.0
- maatwebsite/excel: ^3.1
This package is auto-updated.
Last update: 2025-12-05 10:13:22 UTC
README
Laravel Dcat Admin 的多圖片匯入擴充套件,支援批次上傳圖片和 Excel 檔案匯入。
功能特點
- 📦 支援 ZIP 檔案批次上傳
- 🖼️ 支援多圖片上傳(最多 100 個檔案)
- 📊 整合 Excel 匯入功能
- 🔄 自動清理 24 小時前的臨時檔案
- 👥 支援多使用者同時上傳(避免檔案路徑衝突)
- 🛡️ 唯一 ID 生成機制,防止檔案覆蓋
安裝
composer require taitin/multiimage-import
使用方法
在你的 Dcat Admin Controller 中使用 MultiImageImportTool:
use Taitin\MultiimageImport\Tools\MultiImageImportTool; $grid->tools(function ($tools) { $tools->append(new MultiImageImportTool( YourImportClass::class, '/path/to/sample.xlsx', '/admin/your-route' )); });
版本歷史
v1.0.7 (2025-12-05)
- 🔧 修正 ZIP 解壓縮檔案的匯入路徑
- ✅ 設定完整的 import_temp 路徑給解壓縮檔案
- 🐛 確保 fileMove 能正確找到 ZIP 解壓縮的檔案
v1.0.6 (2025-12-05)
- 🛡️ 優雅處理匯入時的缺失檔案
- ⚠️ 檔案不存在時記錄警告並跳過,而非中斷整個匯入
- ✅ 新增檔案存在性檢查
- 🔧 改進
fileMove()方法的錯誤處理機制
v1.0.5 (2025-12-05)
- 🐛 修正 ZIP 檔案路徑重複問題
- ✅ 直接使用上傳檔案路徑,避免路徑重複拼接
- 🔧 防止出現
import_temp/ID/files/import_temp/ID/files/的錯誤路徑
v1.0.4 (2025-12-05)
- 🐛 修正
ZipArchive::extractTo()Invalid or uninitialized Zip object 錯誤 - ✅ 在解壓縮前檢查 ZIP 檔案是否成功開啟
- 📝 提供詳細的 ZIP 檔案錯誤訊息
- 📁 自動建立解壓縮目錄
v1.0.3 (2025-12-05)
- 🐛 修正檔案上傳衝突導致的
errno=21 Is a directory錯誤 - ✨ 改進
setId()方法,總是生成唯一 ID(時間戳記 + 微秒) - 🧹 新增自動清理機制,刪除超過 24 小時的臨時目錄
- 👥 防止多使用者檔案路徑衝突
v1.0.2
- 修正多個問題
v1.0.1
- 更新
v1.0.0
- 初始版本
技術細節
唯一 ID 生成
每次上傳都會生成唯一的時間戳記 ID (格式: {timestamp}{microseconds}),確保不同使用者之間不會發生檔案路徑衝突。
自動清理機制
系統會在每次開啟匯入表單時,自動清理超過 24 小時的臨時目錄,防止儲存空間被佔滿。
授權
MIT License
作者
Tim (tim0407@gmail.com)