业务经理

微信扫描以上二维码

028-61286886

技术咨询

请问一下为什么我这里设置了上传格式的限制然后也对应了然后为什

迅睿框架 更新 2020-11-30 15:20:41 五金冲压件

请问一下,为什么我这里设置了上传格式的限制,然后ID也对应了dr_ID 然后为什么我上传图片的时候比如jpg也还可以上传成功啊,。

表单代码:

<div class="layui-form-item layui-form-text">
<label class="layui-form-label col-md-2">*</label>
                        <div style="margin-left: 110px;text-align: left;" class="layui-upload">
                            <input type="hidden" name="data[jlsc]" lay-verify="head" id="dr_jlsc" value="">
                            <button type="button" class="layui-btn layui-btn-primary" id="upload">
                                <i class="layui-icon">&#xe608;</i> 请上传你的简历(仅支持pdf/doc/docx格式)
                            </button>
                        </div>
</div>

JS代码部分:

//layui触发上传按钮---简历上传//
upload.render({
                    elem: '#upload',
                    url: '/index.php?s=ltss&c=shangchuan&m=upload',
                    field: "file_data",
                    data: {
                        file_data: function(){
                            return $('#upload').val();
                        },
                {csrf_token()} : "{csrf_hash()}"
            },
                before: function(obj){
                    //预读本地文件示例,不支持ie8
                    obj.preview(function(index, file, result){
                    });
                },
                done: function(res){
                    if (!res.id){
                        return layer.msg('<span style="color: #fff">'+res.msg+'</span>');
                    }else {
                        if(res.code == 1){
                            $("#head").attr("value", res.id); 
                            return layer.msg('<span style="color: #fff">上传成功</span>');
                        }else{
                            return layer.msg('<span style="color: #fff">上传失败,请重试!</span>');
                        }
                    }
                },
                error: function(){
                    //请求异常回调
                }
            });

PHP代码部分:

<?php namespace Phpcmf\Controllers;
/**
 * 二次开发时可以修改本文件,不影响升级覆盖
 */
class Shangchuan extends \Phpcmf\Home\Module
{
public function upload() {
        $files = $this->request->getFiles();
        $p['exts'] = $files['file_data']->getClientExtension();
        $p['size'] = 100;

        // 验证上传权限
        $rt = \Phpcmf\Service::L('upload')->upload_file([
            'path' => '',
            'form_name' => 'file_data',
            'file_exts' => @explode(',', $p['exts']),
            'file_size' => (int)$p['size'] * 1024 * 1024,
            'attachment' => \Phpcmf\Service::M('Attachment')->get_attach_info(),
        ]);
        if (!$rt['code']) {
            exit(dr_array2string($rt));
        }

        // 附件归档
        $data = \Phpcmf\Service::M('Attachment')->save_data($rt['data']);
        if (!$data['code']) {
            exit(dr_array2string($data));
        }

        // 上传成功
        if (IS_API_HTTP) {
            $data['data'] = [
                'id' => $data['code'],
                'url' => $rt['data']['url'],
            ];
            exit(dr_array2string($data));
        } else {
            exit(dr_array2string(['code' => 1, 'msg' => dr_lang('上传成功'), 'id' => $data['code'], 'info' => $rt['data']]));
        }

    }
}

后台上传字段部分:

image

方案

  • 迅睿框架创始人 #1 · 2020-07-10 10:16:33
    满意答案
    $p['exts'] = $files['file_data']->getClientExtension();
            $p['size'] = 100;
    
            // 验证上传权限
            $rt = \Phpcmf\Service::L('upload')->upload_file([
                'path' => '',
                'form_name' => 'file_data',
                'file_exts' => @explode(',', $p['exts']),
                'file_size' => (int)$p['size'] * 1024 * 1024,
                'attachment' => \Phpcmf\Service::M('Attachment')->get_attach_info(),
            ]);
    你这个写法是,任意扩展名都可以上传,看了你的代码,对于你来说限制扩展名应该不会是难事
  • ibuc2t #2 · 2020-07-10 10:19:48
    'file_exts' => 'ppt,jpg,jepg',
    扩展名写上
  • 五金冲压件 #3 · 2020-07-10 10:29:37
    如果验证了你这个,确实他支持验证了。但是我又上传正确格式时候 他又这么显示,是什么原因啊
    image
    ibuc2t
  • 五金冲压件 #4 · 2020-11-30 15:20:41
    迅睿框架创始人:谢谢大师指导

迅睿系统漏洞

站群分站系统
站群分站系统(2026-10-15)
子站域名新增llms.txt访问
GEO系统
GEO系统(2026-10-14)
修复下载zip空白地址问题 修复流量复刻和任务队列错误
GeoSeo收录宝
GeoSeo收录宝(2026-10-14)
新增 站长工具箱 前端首页自动调用meta 数据
滑块验证码 Gocaptcha
滑块验证码 Gocaptcha(2026-10-13)
基于开源项目 go-captcha 的行为验证码插件,滑动拼图、区域...
GeoSeo工具箱
GeoSeo工具箱(2026-10-13)
优化巡检任务
GeoSeo排名助手
GeoSeo排名助手(2026-10-11)
加入大模型自定义
SEO聚合关键字
SEO聚合关键字(2026-10-11)
优化关键字列表页最多支持1万篇文章,过多会导致服务器扛不住;
CMS内容同步复制
CMS内容同步复制(2026-10-10)
增加时间是否更新的开关