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

来源:互联网 发布:药品通软件下载 编辑:程序博客网 时间:2024/06/03 20:48

在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层

<?phpnamespace 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();    }}

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

原创粉丝点击