百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>Ecshop教程> ecshop模板不支持引入PHP语句的解决方法
分享文章到:

ecshop模板不支持引入PHP语句的解决方法

发布时间:12/03 来源: 浏览: 关键词:
ECSHOP二次开发中有时为了开发的方便,会把一些PHP的程序直接加入到模板文件中去,以便于快捷调试,官方考虑到安全问题,特别将模板中引入的PHP程序进入过滤处理,导致PHP这种快捷调试无法继续往下进行,那么如何来处理这个问题呢,请继续往下读。 首页找到includes目录下的cls_template.php程序文件,并打开,查找约293行function fetch_str($source)函数方法,找到如下代码:   $source = str_replace($sp_match[1][$curr_sp],'%%%SMARTYSP'.$curr_sp.'%%%',$source);   替换为下面一段代码,不需要替换处理可直接删除或在前面加上//注释掉。   //$source = str_replace($sp_match[1][$curr_sp],'%%%SMARTYSP'.$curr_sp.'%%%',$source);   这里还可以使用另外一种方法,考虑到安全因素,不极力推荐使用,找到下面一段代码:           if(preg_match_all('~(<\?(?:\w+|=)?|\?>|language\s*=\s*[\"\']?php[\"\']?)~is', $source, $sp_match))           {               $sp_match[1] = array_unique($sp_match[1]);               for ($curr_sp = 0, $for_max2 = count($sp_match[1]); $curr_sp < $for_max2; $curr_sp++)               {                   $source = str_replace($sp_match[1][$curr_sp],'%%%SMARTYSP'.$curr_sp.'%%%',$source);               }                for ($curr_sp = 0, $for_max2 = count($sp_match[1]); $curr_sp < $for_max2; $curr_sp++)               {                    $source= str_replace('%%%SMARTYSP'.$curr_sp.'%%%', '<?php echo \''.str_replace("'", "\'", $sp_match[1]    [$curr_sp]).'\'; ?>'."\n", $source);               }            }   删除即可,最后后台清除缓存,使用最简单一的句代码加入到模板页内来测试下输出: 复制内容到剪贴板折叠XML/HTML 代码 <?php   echo "test...."   ?> 
打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

相关文章

共有4人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板