Yii框架原生代码实现文件上传

在yii框架中用php最原始的代码实现文件的上传

首先是视图层代码

在这里我是用了Yii自带的传值方式,所以先引用

<?php
  use yii\helpers\Html;
  use yii\helpers\Url;
 ?>
在使用

<form action="<?=Url::to(['brand/brand_add']) ?>" method="post" enctype="multipart/form-data">

<input type="file" name="file" id="logo" size="45">
 
 
</form>
前台仅需要一个简单的表单提交就行,通过表单提交,后台用$_FILES接受文件信息

控制器代码

public function actionBrand_add()
{
    $data = $_POST;

    if ($data) {

        $file = $_FILES['file'];
        $table = "brands";
        //var_dump($file);
        $d = time();
        //当前时间段
        //$sj = date("Y");
        //图片格式
        $str = $d.".jpg";
        //var_dump($file);die;
        //判断文件是否存在,否则创建
        $dir = iconv("UTF-8", "GBK", "./upload/");
        if (!file_exists($dir)){
            mkdir ($dir,0777,true);
            echo '创建文件夹upload成功.';
        } else {
            echo '需创建的文件夹upload已经存在.';
        }

        $path="./upload/$str";   // 定义上传文件的存储位置
        //var_dump($path);die;
        if(is_uploaded_file($file["tmp_name"])){
            //执行文件上传(移动上传文件)  -->需要移动文件到当前的路径
            if(move_uploaded_file($file["tmp_name"],$path)){
                echo "文件上传成功!";
                //注意:如果你是想把文件名存到数据库你需要在这里直接用sql语句执行添加东西到数据库就可以了,并且文件的路径+名字是:$path.$newfile.
            }else{
                die("上传文件失败!"); //如果上传失败就提示失败
            }
        }else{
            die("不是一个上传文件!"); //如果不是文件就提示这个
        }

        $model = new Brands;
        $data['brand_logo']=$path;
        $model->Add($table,$data);

        $this->redirect(array('brand/brand_list'));

    }
    else{
        return $this->render('brand_add.html');
    }

}
再次出使用了自己封装的Yii框架的增删改查的Model层

<?php

namespace backend\models;

use Yii;
use yii\base\Model;

class Brands extends Model
{
    //添加
    public function Add($table,$data){

        return $info = Yii::$app->db->createCommand()->insert($table,$data)->execute();

    }

    //展示
    public function Ls($table,$k = 1,$where = 1){

        return $info = Yii::$app->db->createCommand("SELECT * FROM $table WHERE $k = $where")->queryAll();

    }

    //删除
    public function Del($id){

        return $info = Yii::$app->db->createCommand()->delete('brands',"id = $id")->execute();

    }

    //修改
    public function Ups($data,$id){

        return $info = Yii::$app->db->createCommand()->update('brands',$data,"id = $id")->execute();

    }

}

以上内容便是文件上传了,希望可以帮助到你。

猜你喜欢

转载自blog.csdn.net/qq_40842615/article/details/78504527