pafnow /yii2-upload-behavior
Yii2 文件/图片上传行为
dev-master
2014-11-11 12:11 UTC
Requires
- php: >=5.4.0
- masterexploder/phpthumb: *
- yiisoft/yii2: *
This package is not auto-updated.
Last update: 2024-09-28 16:38:09 UTC
README
FileUploadBehavior
此行为允许您通过ActiveRecord行为添加文件和图片上传逻辑。
使用方法
将行为附加到您的模型类
public function behaviors()
{
return [
'file-upload' => [
'class' => '\lagman\upload\FileUploadBehavior',
'attribute' => 'fileUpload',
'filePath' => '[[web_root]]/uploads/[[id]].[[extension]]',
'fileUrl' => '/uploads/[[id]].[[extension]]',
],
];
}
可能的路径/URL占位符
- [[app_root]] - 应用程序根目录
- [[web_root]] - 网站根目录
- [[model]] - 模型名称
- [[id]] - 模型ID
- [[id_path]] - ID子目录结构
- [[parent_id]] - 父对象主键值
- [[basename]] - 带扩展名的原始文件名
- [[filename]] - 不带扩展名的原始文件名
- [[extension]] - 原始扩展名
- [[base_url]] - 网站基本URL
添加验证规则
public function rules()
{
return [
['fileUpload', 'file'],
];
}
设置适当的表单enctype
$form = \yii\bootstrap\ActiveForm::begin([
'enableClientValidation' => false,
'options' => [
'enctype' => 'multipart/form-data',
],
]);
文件上传应正常。
您可以使用模型调用获取上传文件的URL
echo $model->getUploadedFileUrl('fileUpload');
ImageUploadBehavior
Image上传行为扩展了文件上传行为,包括生成图片缩略图。您可以配置不同的缩略图配置文件以生成。
使用方法
将行为附加到您的模型类
public function behaviors()
{
return [
'image-upload' => [
'class' => '\lagman\upload\ImageUploadBehavior',
'attribute' => 'imageUpload',
'thumbs' => [
'thumb' => ['width' => 400, 'height' => 300],
],
'filePath' => '[[web_root]]/images/[[model]]/[[id]].[[extension]]',
'fileUrl' => '/images/[[model]]/[[id]].[[extension]]',
'thumbPath' => '[[web_root]]/images/[[model]]/[[profile]]_[[id]].[[extension]]',
'thumbUrl' => '/images/[[model]]/[[profile]]_[[id]].[[extension]]',
],
];
}
可能的路径/URL占位符
- [[app_root]] - 应用程序根目录
- [[web_root]] - 网站根目录
- [[model]] - 模型名称
- [[id]] - 模型ID
- [[id_path]] - ID子目录结构
- [[basename]] - 带扩展名的原始文件名
- [[filename]] - 不带扩展名的原始文件名
- [[extension]] - 原始扩展名
- [[base_url]] - 网站基本URL
- [[profile]] - 缩略图配置文件名称
添加验证规则
public function rules()
{
return [
['imageUpload', 'file', 'types' => 'jpeg, gif, png'],
];
}
设置适当的表单enctype
$form = \yii\bootstrap\ActiveForm::begin([
'enableClientValidation' => false,
'options' => [
'enctype' => 'multipart/form-data',
],
]);
文件上传应正常。
您可以使用模型调用获取上传图片的URL
echo $model->getUploadedFileUrl('imageUpload');
您还可以获取生成的缩略图图片URL
echo $model->getThumbFileUrl('imageUpload', 'thumb');
许可证
MIT