Home > Backend Development > PHP Tutorial > Yii2 uses its own UploadedFile to implement file upload

Yii2 uses its own UploadedFile to implement file upload

WBOY
Release: 2016-07-28 08:29:25
Original
1031 people have browsed it

Let’s first take a look at how to process image uploads supported in yii2.

First we create the modelUpload.php file

<&#63;php
namespace backend\models;
use Yii;
use yii\web\UploadedFile;
class Upload extends \yii\db\ActiveRecord
{
/**
* @var UploadedFile|Null file attribute
*/
public $file;
/**
* @return array the validation rules.
*/
public function rules()
{
return [
[["file"], "file",],
];
}
}
Copy after login

Next we look at how the view layer is rendered

<&#63;php
use yii\widgets\ActiveForm;
$form = ActiveForm::begin(["options" => ["enctype" => "multipart/form-data"]]); ?>
<&#63;= $form->field($model, "file")->fileInput() ?>
<button>Submit</button>
<&#63;php ActiveForm::end(); &#63;>

Copy after login

Finally, we implement the controller layer

namespace backend\controllers;
use backend\models\Upload;
use yii\web\UploadedFile;
class ToolsController extends \yii\web\Controller
{
/**
* 文件上传
* 我们这里上传成功后把图片的地址进行返回
*/
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,
]);
}
}
Copy after login

The above is what the editor introduces to you Yii2 uses the built-in UploadedFile to implement file uploading knowledge. I hope it will be helpful to everyone. If you have any questions, please leave me a message and the editor will reply to you in time. Thank you very much for your support of this website!

The above introduces the file upload implemented by Yii2 using its own UploadedFile, including the relevant content. I hope it will be helpful to friends who are interested in PHP tutorials.

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template