appitudeio/lcms-storage
Composer 安装命令:
composer require appitudeio/lcms-storage
包简介
Official PHP SDK for LCMS Storage - Asset management and CDN platform
README 文档
README
Official PHP SDK for LCMS Storage - Asset management and CDN platform.
Features
- Upload files to LCMS Storage with automatic S3 integration
- Delete assets from storage
- List directory contents
- Generate asset URLs with automatic CDN delivery
- Transform images on-the-fly with URL parameters (resize, format conversion)
- Type-safe with PHP 8.1+ features
- Minimal dependencies (Guzzle HTTP client only)
Requirements
- PHP 8.1 or higher
- Composer
Installation
composer require appitudeio/lcms-storage
Quick Start
<?php require_once 'vendor/autoload.php'; use LCMS\Storage; // Initialize client $storage = new Storage('your-domain.com', 'your_api_key'); // Upload a file $response = $storage->upload('/path/to/local/image.jpg', '/uploads/image.jpg'); echo "Uploaded to: " . $response->url['asset']; // List directory contents $listing = $storage->list('/uploads'); foreach ($listing->items as $item) { echo $item['key'] . " - " . $item['url'] . "\n"; } // Delete file $storage->delete('/uploads/old-image.jpg');
API Reference
Constructor
$storage = new LCMS\Storage\Storage(string $domain, string $apiKey);
Initialize the LCMS Storage client with your domain and API key.
upload()
upload(string $filePath, string $remotePath): UploadResponse
Upload a file to LCMS Storage.
Example:
$response = $storage->upload('/tmp/photo.jpg', '/gallery/photo.jpg'); if ($response->success) { echo "Uploaded: " . $response->url['asset']; }
delete()
delete(string $path): void
Delete a file from LCMS Storage.
Example:
$storage->delete('/gallery/old-photo.jpg');
list()
list(string $path = ''): ListResponse
List contents of a directory.
Example:
$listing = $storage->list('/gallery'); foreach ($listing->items as $item) { echo $item['key'] . " - " . $item['size'] . " bytes\n"; } foreach ($listing->prefixes as $prefix) { echo "Subdirectory: " . $prefix . "\n"; }
Response Objects
UploadResponse
Properties:
bool $success- Whether upload was successfulstring $message- Success or error messagearray $url- Contains 'asset' and 'upload' URLs
Methods:
toArray(): arraytoJson(int $options = 0): string
ListResponse
Properties:
bool $success- Whether the operation was successfulstring $message- Success or error messagestring $path- Directory path that was listedstring $assetBaseUrl- Base URL for accessing assetsarray $items- Array of file items with 'key', 'size', 'url', etc.array $prefixes- Array of subdirectory prefixes
Methods:
count(): int- Number of itemsisEmpty(): bool- Whether directory is emptytoArray(): arraytoJson(int $options = 0): string
Error Handling
try { $response = $storage->upload('/path/to/file.jpg', '/uploads/file.jpg'); if ($response->success) { echo "Success: " . $response->url['asset']; } else { echo "Upload failed: " . $response->message; } } catch (\InvalidArgumentException $e) { echo "Validation error: " . $e->getMessage(); } catch (\RuntimeException $e) { echo "Upload failed: " . $e->getMessage(); }
License
MIT License - see LICENSE file for details.
Support
For issues and questions:
- GitHub Issues: lcms-storage-php/issues
- Email: support@appitudeio.com
Related
appitudeio/lcms-storage 适用场景与选型建议
appitudeio/lcms-storage 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 235 次下载、GitHub Stars 达 0, 最近一次更新时间为 2025 年 11 月 13 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「assets」 「storage」 「upload」 「files」 「cdn」 「lcms」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 appitudeio/lcms-storage 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 appitudeio/lcms-storage 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 appitudeio/lcms-storage 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Asset Management for PHP
A SDK for working with B2 cloud storage.
Small library to access Microsoft Windows Azure Blob Storage with a Service or a StreamWrapper.
Caching and compression for Twig assets (JavaScript and CSS).
The file manager intended for using Laravel with CKEditor / TinyMCE / Colorbox
Laravel Media Popup to upload/view the files
统计信息
- 总下载量: 235
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 15
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-11-13