专栏首页李洋博客水印插件上传时提示 Trying to access array offset on value of type bool 的解决办法

水印插件上传时提示 Trying to access array offset on value of type bool 的解决办法

国庆前夕想着测试点功能,在上传js文件的时候,水印插件报错提示:Trying to access array offset on value of type bool,其他插件也类似这个文件,关于水印插件其实还有问题,因为这个插件最初的鸟哥写的,后期因为鸟哥不在zb了,所有我把这个插件从猪那要来了,当时是因为修改一个BUG,修改之后上架了,期间不少人找我,因为在使用的时候无效,无法选择水印模式,这个问题今天也顺便解决了,咳咳,聊正题哈,为什么会提示这个呢?

问题只存在PHP7+版本以上才会有,之前在 PHP 7.3中是正常运行的。由此分析得出,PHP 语言本身对于语法的规范性要求得更为严谨了的。是在php7版本中,7.4 版本的向后不兼容更改,非数组的数组样式访问,现在,尝试将 null,bool,int,float 或 resource 类型的值用作数组 ( 例如 $null[“key”] ) 会产生一个通知。

解决办法就是需要将“$tmp_info[2]”做一个判断,然后执行函数,修改之后的代码为:

if(isset($tmp_info[2])){
    if($tmp_info[2]>1 and  $tmp_info[2]<4) {
        Watermark_Do($tmp,$waterPos,$waterImage,$waterText,$textFont,$textColor,$watertype);
    }
}

修改之前记得备份,修改完成后保存代码,前台上传文章测试一切正常,未再报错,问题已解决但是仅仅针对水印插件,其他代码请自行排查,水印插件的问题已经修复了,如遇到了类似的问题请更新插件,如果是其他程序也提示报错那么请百度吧,我也搞不懂的。毕竟都了解我只是代码的搬运工,不是生产者!!!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python 分水岭算法的实现

    “”“ watershed.py-分水岭算法 该模块实现了分水岭算法,可将像素分配到标记的盆地中。 该算法使用优先级队列来保存像素,优先级队列的度量标准是像素值...

    用户7886150
  • C++核心准则ES.42: 使用指针时要简单且直接

    Complicated pointer manipulation is a major source of errors.

    面向对象思考
  • 实现HTTP协议Get、Post和文件上传功能——设计和模块

            之前写过一遍《使用WinHttp接口实现HTTP协议Get、Post和文件上传功能》,其中谈到了如何使用WinHttp接口实现Http的Get、...

    方亮
  • Golang 常见问题

    1. Golang的特点和发起目的 Golang的特点以及要解决的问题概括起来就是三点: 1. concurrent : 多核 解决方式-> 语言层级并发, ...

    李海彬
  • GO 语言 FAQ

    Golang的特点以及要解决的问题概括起来就是三点: 1. concurrent : 多核 解决方式-> 语言层级并发, goroutine 2. garbag...

    王磊-AI基础
  • Java字节码修改库ASM#ClassReader实现原理及源码分析

    ASM是Java中比较流行的用来读写字节码的类库,用来基于字节码层面对代码进行分析和转换。

    JavaEdge
  • 【十分钟教会你汇编】MIPS编程入门

    无意中找到一篇十分好用,而且篇幅也不是很大的入门教程,通篇阅后,再把“栗子”敲一遍,基本可以有一个比较理性的认识,从而方便更好地进一步深入学习。

    云深无际
  • UE Modules:Load and Startup

    UE是模块化的架构,Engine/Game Project/StandaloneApplication/Plugins都是Module(Unreal Engin...

    查利鹏
  • Fluentd-kafka插件用法详解

    Fluentd支持从kafka订阅数据,同时支持向kafka发布数据。这两项功能集成在一个插件中:fluent-plugin-kafka,我们在下文中分别称之为...

    Fluentd中文网
  • Fluentd-kafka插件用法详解

    Fluentd支持从kafka订阅数据,同时支持向kafka发布数据。这两项功能集成在一个插件中:fluent-plugin-kafka,我们在下文中分别称之为...

    Fluentd中文网
  • SDL2库(3)-Android 端源码简要分析(VideoSubSystem)参考

    项目位置 https://github.com/deepsadness/SDLCmakeDemo

    deep_sadness
  • PHP实现一个轻量级容器

    在开发过程中,经常会用到的一个概率就是依赖注入。我们借助依懒注入来解耦代码,选择性的按需加载服务,而这些通常都是借助容器来实现。

    猿哥
  • 通过v8 0.1.5源码分析js的编译、执行过程

    我们主要关注Compile和Run这两个函数。这两个函数都属于Script这个类,我们看看定义。

    theanarkh
  • C++ 动态新闻推送 第34期

    从reddit/hackernews/lobsters/meetingcpp摘抄一些c++动态

    王很水
  • 看各路神仙如何大战MySQL insecure warning报警有感

    一、问题由来 mysql在5.6.5上开始在命令行中直接填入用户密码会提示错误,例如: $./mysql -h10.10.30.18 -uwoqutech -p...

    沃趣科技
  • malloc(0)时程序会返回什么?

    这个问题看起来十分刁钻,不过稍有常识的人都知道,制定 C 标准的那帮语言律师也不是吃白饭的,对这种奇奇怪怪的问题一定会有定义。翻阅C17 标准 草案 N2176...

    嵌入式与Linux那些事
  • Influxdb中TSM文件结构解析之读写TSM

    按给定的时间戳和排序规则,对所有datablock作排序后输出,每次调用Next后,都会输出一部分排序好的Datablock

    扫帚的影子
  • 实战编写 wireshark 插件解析私有协议

    在对嵌入式设备进行分析时,有时会遇到一些私有协议,由于缺少对应的解析插件,这些协议无法被Wireshark解析,从而以原始数据的形式呈现,不便于对协议的理解与分...

    信安之路
  • 开发自己的Data Access Application Block[下篇]

    上接:[原创] 我的ORM: 开发自己的Data Access Application Block - Part I 4. Database 下面来介绍重中之重...

    蒋金楠

扫码关注云+社区

领取腾讯云代金券