controller:
use yii\web\UploadedFile;//上传
$request = Yii::$app->request;
$db = Yii::$app->db;
$username = $request->post('name');
$pwd = md5($request->post('pwd'));
$upload=new UploadedFile(); //实例化上传类
$name=$upload->getInstanceByName('myfile'); //获取文件原名称
$img=$_FILES['myfile']; //获取上传文件参数
//var_dump($img);die;
$upload->tempName=$img['tmp_name']; //设置上传的文件的临时名称
$img_path='../uploads/'.$name; //设置上传文件的路径名称(这里的数据进行入库)
$arr=$upload->saveAs($img_path); //保存文件
// var_dump($arr);die;
$sql = $db->createCommand()->insert('username',['name'=>$username,'password'=>$pwd,'a_pic'=>$img_path])->execute();
// var_dump($sql);
if ($sql) {
Yii::$app->getSession()->setFlash('success', '宝贝儿,恭喜您已成功注册');
$this->redirect(array('demo/show'));//跳转控制器不需要return 但是需要array
}else{
echo "<a href='http://www.hang.com/YII/frontend/web/index.php?r=demo/index'>注册失败,点击重新注册</a>";
}
views:
<form action="?r=demo/a" method="post" enctype="multipart/form-data">
<input type="hidden" id="_csrf" name="<?php echo Yii::$app->request->csrfParam;?>" value="<?php echo yii::$app->request->csrfToken?>">
<!-- 上面的input必须写 要不然表单提交后会报400的错误 -->
<table>
<tr>
姓名:<input type="text" name="name"><br/>
</tr>
<tr>
密码:<input type="password" name="pwd" id="">
</tr>
<tr>
头像:<input type="file" name="myfile">
</tr>
<tr>
<input type="submit" value="提交">
</tr>
</table>
</form>