首先我们创建modelUpload.php文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<?php namespace backendmodels; use Yii; use yiiwebUploadedFile; class Upload extends yiidbActiveRecord { /** * @var UploadedFile|Null file attribute */ public $file ; /** * @return array the validation rules. */ { return [ [[ "file" ], "file" ,], ]; } } |
下面我们看看view层是怎么渲染的
1
2
3
4
5
6
|
<?php use yiiwidgetsActiveForm; $form = ActiveForm::begin([ "options" => [ "enctype" => "multipart/form-data" ]]); ?> <?= $form ->field( $model , "file" )->fileInput() ?> <button>Submit</button> <?php ActiveForm:: end (); ?> |
最后实现controller层的实现
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
namespace backendcontrollers; use backendmodelsUpload; use yiiwebUploadedFile; class ToolsController extends yiiwebController { /** * 文件上传 * 我们这里上传成功后把图片的地址进行返回 */ public function actionUpload () { $model = new Upload(); $uploadSuccessPath = "" ; if (Yii:: $app ->request->isPost) { $model ->file = UploadedFile::getInstance( $model , "file" ); //文件上传存放的目录 $dir = "../../public/uploads/" . date ( "Ymd" ); if (! is_dir ( $dir )) mkdir ( $dir ); if ( $model ->validate()) { //文件名 $fileName = date ( "HiiHsHis" ). $model ->file-> baseName . "." . $model ->file->extension; $dir = $dir . "/" . $fileName ; $model ->file->saveAs( $dir ); $uploadSuccessPath = "/uploads/" . date ( "Ymd" ). "/" . $fileName ; } } return $this ->render( "upload" , [ "model" => $model , "uploadSuccessPath" => $uploadSuccessPath , ]); } } |
© 版权声明
本文刊载的所有内容,包括文字、图片、音频、视频、软件、程序、以及网页版式设计等部门来源于互联网,版权均归原作者所有!本网站提供的内容服务于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
联系信息:邮箱aoxolcom@163.com或见网站底部。
联系信息:邮箱aoxolcom@163.com或见网站底部。
THE END
请登录后发表评论
注册
社交帐号登录