建站帮助

诚信合作, 高质专业!

Phpcms V9.6.0正式版广告调用eval()方式改成string2array()更新

2016-01-05 14:24:21 浏览 我要评论

在之前的原创教程《Phpcms V9广告位循环数据调用方法详解》中讲解了使用eval()函数将广告数据自定义调用出来,而Phpcms V9.6.0 正式版修改了string2array函数,造成原有的eval()调用方式出错,CMSYOU企业网站定制专家经过研究,总结Phpcms V9.6.0 正式版广告调用eval()方式改成string2array()更新方法,与大家分享。

我们可以在论坛看到PHPCMS V9.6.0 正式版更新说明:

string2array函数改成json处理,为了保持兼容函数名称没做变动

具体比较代码得知,phpcms/libs/functions/global.func.php中的函数:
在288、309行的确出现了string2array、array2string函数,具体升级及这两个函数介绍见http://www.cmsyou.com/blog/153.html。
并且在862行改变了广告数据存取到数据库的方式:
function show_ad($siteid, $id) {
    $siteid = intval($siteid);
    $id = intval($id);
    if(!$id || !$siteid) return false;
    $p = pc_base::load_model('poster_model');
    $r = $p->get_one(array('spaceid'=>$id, 'siteid'=>$siteid), 'disabled, setting', '`id` ASC');
    if ($r['disabled']) return '';
    if ($r['setting']) {
        $c = string2array($r['setting']);
    } else {
        $r['code'] = '';
    }
    return $c['code'];
}

于是新版Phpcms采用了新的函数string2array保存$r['setting'],存到数据的代码也变化了:

原来存到v9_poster表里边的数据:

Phpcms广告数据调用

现在存的数据格式:

Phpcms广告数据调用

可以看出,由原来的数据,变成了现在的json数据,可谓更高大上了!

我要收藏
点个赞吧

相关阅读

本月热门

精选推荐

在线客服

扫一扫,关注我们

扫一扫,关注我们