微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Yii2使用自带的UploadedFile实现的文件上传

《:Yii2使用自带的UploadedFile实现的文件上传》要点:
本文介绍了:Yii2使用自带的UploadedFile实现的文件上传,希望对您有用。如果有疑问,可以联系我们。

PHP学习我们先来看看在yii2中支持图片上传怎么进行处理的.

首先我们创建model\Upload.PHP文件


<?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",],];
}
}

下面我们看看view层是怎么渲染的


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

最后实现controller层的实现


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,]);
}
}

以上所述是小编给大家介绍的Yii2使用自带的UploadedFile实现的文件上传的相关知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的.在此也非常感谢大家对编程之家网站的支持!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐