头部右侧文字
头部左侧文字
当前位置:网站首页 > PHP教程 > 正文

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

Admin_Long Admin_Long . 发布于 2023-11-23 10:45:14 44 浏览

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

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

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

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

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

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


Admin_Long

Admin_Long

TA太懒了...暂时没有任何简介

精彩新闻