kak/storage
最新稳定版本:0.1.4
Composer 安装命令:
composer require kak/storage
包简介
file upload/resize/crop file move storage
关键字:
README 文档
README
file upload/resize
Any contributions are welcome Preview
Installation
The preferred way to install this extension is through composer.
Either run
php composer.phar require --prefer-dist kak/storage "*"
or add
"kak/storage": "*"
to the require section of your composer.json file and run command composer update
Usage
PLS set config params Yii::$app->params
/** @docs https://console.aws.amazon.com/iam/home Generation access key and secret */ $amazon_config = [ 'key' => '', 'secret' => '', 'bucket' => 'my', 'level' => 2, 'type' => 'amazon', 'region' => 'us-east-1', ] //... 'storage' => [ 'storages' => [ // use amazon config 'photo' => $amazon_config, 'custom_name' => [], // local server save files 'tmp' => [ 'level' => 0, ], ], ],
Example use controller this uploading
public function actions() { return [ 'upload' => [ 'class' => UploadAction::className(), 'form_name' => 'kak\storage\models\UploadForm', 'storage' => 'tmp', // save image default tmp storage 'resize_image' => [ // list formats 'preview' => [1024,1024, UploadAction::IMAGE_RESIZE, 'options' => [] ], 'thumbnail' => [120,120, UploadAction::IMAGE_THUMB], '350' => [350,280, UploadAction::IMAGE_RESIZE], ] ], ]; }
resize_image.options
- animate if true then save image gif animated else first moveclip
- quality 10 - 100
Save model then controller
/** * @param $id int edit post * @return string */ public function actionUpdate($id) { $model = $this->findPostById($id); $uploadForm = new \kak\storage\models\UploadForm(['meta_name' => 'image_base']); $uploadForm->meta = $postModel->images_json; if($this->savePostForm($model, $uploadForm)) { return $this->redirect(['/dashboard/post/update','id' => $postModel->id]); } return $this->render('form',compact( 'model', 'uploadForm' )); } /** * @param $model Post * @param $uploadForm \kak\storage\models\UploadForm * @return bool */ protected function savePostForm(&$model,&$uploadForm) { if ($model->load(Yii::$app->request->post()) && $model->validate()) { $result = $uploadForm->saveToStorage('tmp','images',[]); $model->images_json = Json::encode($result); return $model->save(); } return false; }
Once the extension is installed, simply use it in your code by:
<div>
<?=\kak\storage\Upload::widget([
'model' => $uploadFormModel,
'url' => ['/dashboard/default/upload', 'resize_type' => 'thumbnail,350']
]); ?>
</div>
<hr>
if arg name resize_type in GET only these types will be saved resize images
usage pjax
register assets the main layouts
StorageAsset::register($view);
pjax event add code
$(document).on('pjax:end','.pjax-wrapper',function(e){ //init old gui $('.kak-storage-upload').kakStorageUpload({}); });
roadmap
2018:
Q1 add storage google cloud, change guzzle http to yii2-http-client, change aws-sdk-php
Q2 create new uploader widget + tests
kak/storage 适用场景与选型建议
kak/storage 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1.51k 次下载、GitHub Stars 达 5, 最近一次更新时间为 2014 年 11 月 11 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「storage」 「extension」 「yii2」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 kak/storage 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 kak/storage 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 kak/storage 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A SDK for working with B2 cloud storage.
Small library to access Microsoft Windows Azure Blob Storage with a Service or a StreamWrapper.
A custom URL rule class for Yii 2 which allows to create translated URL rules
The Yii2 extension uses jQuery jquery.carousel-1.1.min.js and makes image carousel from php array of structure defined.
TYPO3 CMS extension to create gallery content element with preset crop ratios and pagination
UI Kit 3 Extension for Yii2
统计信息
- 总下载量: 1.51k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 5
- 点击次数: 19
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: BSD-3-Clause
- 更新时间: 2014-11-11