• 技术文章 >php框架 >YII

    yii实现图片上传

    VV2020-11-27 16:54:51转载7648

    具体代码如下:

    (推荐教程:yii

    1、model

    <?php
    namespace frontend\models;
     
    use yii\base\Model;
    use yii\web\UploadedFile;
    use yii\db\ActiveRecord;
    use yii\db\Query;
     
    class UploadForm extends ActiveRecord
    {
        /**
         * @var UploadedFile
         */
        public $t_img;
        public $t_title;
        public $t_content;
        public function rules()
        {
            return [
                [['t_img'], 'file', 'skipOnEmpty' => false, 'extensions' => 'png, jpg,bmp,jpeg'],
            ];
        }
        public function attributeLabels()
        {
            return [
                't_img'=>'请上传文章图片',
                'verifyCode' => '请在右面输入验证码',
            ];
        }
     
     
        public function upload()
        {
            $imgName=time().rand(100,999).".".$this->t_img->extension;
            if ($this->validate()) {
                $this->t_img->saveAs('uploads/' .$imgName);
                $path='uploads/' .$imgName;
                return $path;
            } else {
                return false;
            }
        }
    }
     
    ?>

    2、控制器

     $data=Yii::$app->request->post();
                $data['t_addtime']=date('Y-m-d H:i:s');
                $upload->t_img = UploadedFile::getInstance($upload, 't_img');
                $path=$upload->upload();

    3、视图层

    <?php
    use yii\widgets\ActiveForm;
    use yii\helpers\Html;
    use yii\helpers\Url;
    ?>
    <?=Html::a('返回','?r=course/classspace&c_id='.$c_id)?>
    <?php $form=ActiveForm::begin(
        [
            'options' => ['enctype' => 'multipart/form-data'],
            'method'=>'POST',
        ]
    );?>
    <table class="table">
     
        <tr>
            <td>
     
                <input type="text" placeholder="请填写话题标题" name="t_title" id="t_title" value=<?=$coursedraft['d_title']?>   >
            </td>
            </tr>
        <tr>
            <td>
                <textarea name="t_content" id="t_content" cols="30" rows="10" placeholder="请填写话题内容"><?=$coursedraft['d_content']?></textarea>
            </td>
        </tr>
        <tr>
            <td>
               <?=$form->field($upload,'t_img')->fileInput()?>
            </td>
        </tr>
        <tr>
            <div class="btn-group">
                <td>
                    <?=Html::submitButton('提交话题',['class'=>'btn btn-success'])?>
                </td>
            </div>
     
        </tr>
    </table>
    <?php ActiveForm::end();?>
    <input type="hidden" value=<?=$c_id?>  id="c_id" />
    </body>
    <?php
    $js = <<<END
        $(function(){
    //        $(document).on('click','#caogao',function() {
    //            var title = $("#t_title").val();
    //            var content = $("#t_content").val();
    //
    //            $.ajax({
    //                type: "POST",
    //                url: "?r=course/coursedraft",
    //                data: {t_title: title, t_content: content, d_id: d_id}
    //            })
    //        })
            function show(){
                var title=$("#t_title").val();
                var content=$("#t_content").val();
                var c_id=$('#c_id').val();
                $.ajax({
                    type: "POST",
                    url: "?r=course/coursedraft",
                    data: {d_title:title,d_content:content,c_id:c_id,d_state:0}
                });
            }
            setInterval(show,5000);
        })
    END;
    $this->registerJs($js);
    ?>
    </html>

    以上就是yii实现图片上传的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:csdn,如有侵犯,请联系admin@php.cn删除
    专题推荐:yii 图片上传
    上一篇:yii 隐藏index.php的方法 下一篇:yii2框架中怎么保存和获取数据
    线上培训班

    相关文章推荐

    • DEDECMS V5.3/V5.5怎么修改默认图片上传路径• html实现自定义图片上传按钮• 手把手教你用php实现图片上传功能• PHP如何将图片上传并替换?

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网