PPT派 2021-11-29 14:20 采纳率: 0%
浏览 40

PHP类属性$this->name赋值后,方法中调用为null?

**//前端HTML代码
**

<div class="layui-card">
    <div class="layui-card-header layui-bg-green">上传试题</div>
    <div class="layui-card-body">
        <form class="layui-form" enctype="multipart/form-data>
            <input type=" hidden" name="username" value="{:session('username')}">
            <div class="layui-form-item">
                <label class="layui-form-label">文件标题</label>
                <div class="layui-input-block">
                    <input type="text" name="examname" required lay-verify="required" placeholder="请输入标题"
                        autocomplete="off" class="layui-input">
                </div>
            </div>

            <div class="layui-form-item">
                <label class="layui-form-label">试题省份</label>
                <div class="layui-input-block">
                    <input type="text" name="province" required lay-verify="required" placeholder="请输入标题"
                        autocomplete="off" class="layui-input">
                </div>
            </div>


            <div class="layui-form-item">
                <label class="layui-form-label">试题科目</label>
                <div class="layui-input-block">
                    <select name="kemu" lay-verify="required">
                        <option value=""></option>
                        <option value="语文">语文</option>
                        <option value="数学">数学</option>
                        <option value="英语">英语</option>
                        <option value="理综">理综</option>
                        <option value="文综">文综</option>
                    </select>
                </div>
            </div>


            <div class="layui-form-item">
                <label class="layui-form-label">试题类型</label>
                <div class="layui-input-block">
                    <input type="radio" name="type" value="月考" title="月考">
                    <input type="radio" name="type" value="模拟" title="模拟" checked>
                </div>
            </div>

            <div class="layui-form-item">
                <label class="layui-form-label">适合年级</label>
                <div class="layui-input-block">
                    <input type="radio" name="grade" value="高一" title="高一">
                    <input type="radio" name="grade" value="高二" title="高二">
                    <input type="radio" name="grade" value="高三" title="高三" checked>
                </div>
            </div>

            <div class="layui-form-item">
                <label class="layui-form-label">选择文件</label>
                <div class="layui-input-block">
                    {if session('username')}
                    <button class="layui-btn  layui-btn-primary" id="uploadfile" type="button"><i class="layui-icon layui-icon-file
                        "></i>选择试题</button>
                    {else/}
                    <button class="layui-btn layui-btn-disabled"><i class="layui-icon layui-icon-file
                        "></i>请登录后上传</button>
                    {/if}
                </div>
            </div>

            <div class="layui-form-item">
                <label class="layui-form-label">立即提交</label>
                <div class="layui-input-block">
                    {if session('username')}
                    <button class="layui-btn" id="btnupload" lay-submit lay-filter="examupload" type="button"><i
                            class="layui-icon layui-icon-ok"></i>立即提交</button>
                    {else/}
                    <button class="layui-btn layui-btn-disabled"><i class="layui-icon layui-icon-ok"></i>请登录后上传</button>
                    {/if}
                </div>
            </div>

        </form>
    </div>
</div>

**//前端layui代码
**


```javascript

<script>
    layui.use(['form', 'layer', 'upload'], function () {
        var form = layui.form;
        var layer = layui.layer;
        var upload = layui.upload;
        var $ = layui.$;

        //执行实例
        var uploadInst = upload.render({
            elem: '#uploadfile',
            url: '{:url("exam/uploadfile")}',
            accept: 'file',
            auto: false,
            exts: 'zip|jpg|jpeg|ppt|pptx',
            bindAction: '#btnupload',
            dataType: "json",
            done: function (data) {
                if (data.code == 0) {
                    layer.msg(data.msg)
                } else {
                    layer.msg(data.msg)
                }
            }
        });

        //监听表单提交
        form.on('submit(examupload)', function (data) {
            $.ajax({
                type: "post",
                url: '{:url("exam/upload")}',
                data: data.field,
                success:function(data){
                    if(data.code != 200){
                        layer.msg(data.msg)
                    }
                }
            })
            return false;
        });
    })
</script>

**//后端代码
**```php

class Exam extends Common
{

    public $newName;

    public function exam()
    {
        return View::fetch();
    }

    public function uploadfile()
    {
        $file = request()->file('file');
        $savename = \think\facade\Filesystem::disk('public')->putFile('upload', $file);

        $this->newName = $savename;
        var_dump($this->newName);
//这里可以正输出文件名字
    }
    public function upload()
    {
        var_dump($this->newName);
//在这个方法里面调用 就不行了,输出就为NULL
        $data = request()->param();
    }
}
  • 写回答

3条回答 默认 最新

  • 请叫小双去学习 2021-11-30 10:20
    关注

    确认了调用upload之前先调用了uploadfile吗?

    评论

报告相同问题?

问题事件

  • 修改了问题 12月1日
  • 修改了问题 11月29日
  • 创建了问题 11月29日

悬赏问题

  • ¥15 网络分析设施点无法识别
  • ¥15 状态图的并发态问题咨询
  • ¥15 PFC3D,plot
  • ¥15 VAE模型编程报错无法解决
  • ¥100 基于SVM的信息粒化时序回归预测,有偿求解!
  • ¥15 物体组批优化问题-数学建模求解答
  • ¥350 麦克风声源定位坐标不准
  • ¥15 apifox与swagger使用
  • ¥15 egg异步请求返回404的问题
  • ¥20 Ti毫米波雷达板同步