Uploadify是来自国外的一款优秀jQuery插件,主要功能是批量上传文件
下载Uploadify控件可以到git网站上找,找到自己适合用的.例如我们下面用个就是从
https://github.com/xjflyttp/yii2-uploadify-widget 下载的,里面也有详细的操作文档。 (推荐学习:yii教程)
① 配置composer.json (就存在网站根目录下),找到require,然后添加我们的uploadify
"require": { "php": ">=5.4.0", "yiisoft/yii2": ">=2.0.6", "yiisoft/yii2-bootstrap": "*", "yiisoft/yii2-swiftmailer": "*", "xj/yii2-uploadify-widget": "~2.0.0" //这里是新添加的 },
② 利用composer 将yii2-uploadify-widget 下载到我们网站, 打开在网站根目录运行命令行 ,等待下载如图:
③ 视图的处理
<?php use yii\web\JsExpression; //外部TAG echo Html::fileInput('test', NULL, ['id' => 'test']); echo Uploadify::widget([ 'url' => yii\helpers\Url::to(['s-upload']), 'id' => 'test', //需要跟上fileInput 的id 对应 'csrf' => true, 'renderTag' => false, 'jsOptions' => [ 'width' => 100, 'height' => 40, 'onUploadError' => new JsExpression(<<<EOF function(file, errorCode, errorMsg, errorString) { console.log('The file ' + file.name + ' could not be uploaded: ' + errorString + errorCode + errorMsg); } EOF ), 'onUploadSuccess' => new JsExpression(<<<EOF function(file, data, response) { data = JSON.parse(data); if (data.error) { console.log(data.msg); } else { //在此处理你的图片 console.log(data.fileUrl); } } EOF
④ 配置Controller 层
<?php namespace \backend\controllers; use xj\uploadify\UploadAction; class TestController extends \yii\web\Controller { public function actions() { return [ 's-upload' => [ 'class' => UploadAction::className(), //磁盘目录 'basePath' => '@webroot/upload', //访问目录 'baseUrl' => '@web/upload', //防止跨站攻击 'enableCsrf' => true, // default 'postFieldName' => 'Filedata', // default //BEGIN METHOD 'format' => [$this, 'methodName'], //END METHOD //BEGIN CLOSURE BY-HASH //是否覆盖相同文件 'overwriteIfExist' => true, //创建图片名称 'format' => function (UploadAction $action) { $fileext = $action->uploadfile->getExtension(); $filename = sha1_file($action->uploadfile->tempName); return "{$filename}.{$fileext}"; }, //想要多调用这个函数 'format' => function (UploadAction $action) { $fileext = $action->uploadfile->getExtension(); $filehash = sha1(uniqid() . time()); $p1 = substr($filehash, 0, 2); $p2 = substr($filehash, 2, 2); return "{$p1}/{$p2}/{$filehash}.{$fileext}"; }, */ 'validateOptions' => [ 'extensions' => ['jpg', 'png'], //后缀验证 'maxSize' => 1 * 1024 * 1024, //上传大小限制 ], //验证前处理 'beforeValidate' => function (UploadAction $action) { //throw new Exception('test error'); }, //验证后处理 'afterValidate' => function (UploadAction $action) {}, //保存前处理 'beforeSave' => function (UploadAction $action) {}, //保存后处理 'afterSave' => function (UploadAction $action) { //$action->output 返回给浏览器的数据 //返回Url 图片返回的路径 //$action->getWebUrl() //图片的名称 //$action->getFilename(); //保存图片的物理位置 //$action->getSavePath(); //输出 //$action->output['fileUrl'] = $action->getWebUrl(); //$action->output['fileName'] = $action->getFilename(); //$action->output['filePath'] = $action->getSavePath(); //$action->getFilename(); // "image/yyyymmddtimerand.jpg" //$action->getWebUrl(); // "baseUrl + filename, /upload/image/yyyymmddtimerand.jpg" //$action->getSavePath(); // "/var/www/htdocs/upload/image/yyyymmddtimerand.jpg" $action->output[‘fileUrl’] = $action->getWebUrl() }, ], ]; } } ?>
以上是yii2怎么用uploadify的详细内容。更多信息请关注PHP中文网其他相关文章!

yiiremainsrelevantinmodernwebdevelopmentsneedingssneedingspeedandspeedandflexibility.1)itoffershighppershighhighpperrance,ifealforporapplicationswherespeediscritical.2)其FlexibilityallowsibilityAllowsibilityallowsallowselowsallowsfortailorowsfortailorowsationalstructures.ever.ever,iThasasmallerComlerCommumnityAndStepeeperlearningningningningningningningningningningningningningningningningningningningningcu.

Yii框架在众多PHP框架中依然保持强大生命力是因为其高效、简洁和可扩展的设计理念。1)Yii通过“约定优于配置”提高开发效率;2)基于组件的架构和强大的ORM系统Gii增强了灵活性和开发速度;3)性能优化和不断的更新迭代确保其持续竞争力。

Yii在现代Web开发中仍适用于需要高性能和灵活性的项目。1)Yii基于PHP的高性能框架,遵循MVC架构。2)它的优势在于高效、简洁和组件化设计。3)性能优化主要通过缓存和ORM实现。4)随着新框架的出现,Yii的使用情况有所变化。

Yii和PHP可以打造动态网站。1)Yii是一个高性能的PHP框架,简化Web应用开发。2)Yii提供MVC架构、ORM、缓存等功能,适合大型应用开发。3)使用Yii的基本和高级功能可以快速构建网站。4)注意配置、命名空间和数据库连接问题,使用日志和调试工具进行调试。5)通过缓存和优化查询提升性能,遵循最佳实践提高代码质量。

Yii框架在PHP框架中脱颖而出,其优势包括:1.MVC架构和组件化设计,提升代码组织和复用性;2.Gii代码生成器和ActiveRecord,提高开发效率;3.多种缓存机制,优化性能;4.灵活的RBAC系统,简化权限管理。

Yii仍然是开发者的一个强有力的选择。1)Yii是一个高性能的PHP框架,基于MVC架构,提供ActiveRecord、Gii和缓存系统等工具。2)它的优点包括高效性和灵活性,但学习曲线较陡,社区支持相对有限。3)适合需要高性能和灵活性的项目,但需考虑团队技术栈和学习成本。

Yii框架适用于企业级应用、中小型项目和个人项目。1)在企业级应用中,Yii的高性能和可扩展性使其在电商平台等大型项目中表现出色。2)中小型项目中,Yii的Gii工具帮助快速搭建原型和MVP。3)个人项目和开源项目中,Yii的轻量级特性使其适合小型网站和博客。

Yii框架适合构建高效、安全和可扩展的Web应用。1)Yii基于MVC架构,提供组件化设计和安全特性。2)它支持基本CRUD操作和高级RESTfulAPI开发。3)提供日志记录和调试工具栏等调试技巧。4)建议使用缓存和延迟加载进行性能优化。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

WebStorm Mac版
好用的JavaScript开发工具

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

Atom编辑器mac版下载
最流行的的开源编辑器