<? if(!defined('IN_DISCUZ')) exit('Access Denied'); hookscriptoutput('discuz');
0
|| checktplrefresh('E:\wamp\www\Discuz\././templates/default/discuz.htm', 'E:\wamp\www\Discuz\././templates/default/header.htm', 1278571905, '1', './templates/default')
|| checktplrefresh('E:\wamp\www\Discuz\././templates/default/discuz.htm', 'E:\wamp\www\Discuz\././templates/default/index_heats.htm', 1278571905, '1', './templates/default')
|| checktplrefresh('E:\wamp\www\Discuz\././templates/default/discuz.htm', 'E:\wamp\www\Discuz\././templates/default/index_navbar.htm', 1278571905, '1', './templates/default')
|| checktplrefresh('E:\wamp\www\Discuz\././templates/default/discuz.htm', 'E:\wamp\www\Discuz\././templates/default/footer.htm', 1278571905, '1', './templates/default')
|| checktplrefresh('E:\wamp\www\Discuz\././templates/default/discuz.htm', 'E:\wamp\www\Discuz\././templates/default/jsmenu.htm', 1278571905, '1', './templates/default')
;?>
这段代码出现在文件的最开头,关键是不能理解 0||** ||** ||**  ;    这些是什么意思啊,也不像是条件判断
请高人指点一二

解决方案 »

  1.   

    按照代码看,就是一个依次执行那些函数。它用的||(或),那就会都执行。
    等同于:
    if(!defined('IN_DISCUZ')) exit('Access Denied'); hookscriptoutput('discuz');checktplrefresh('E:\wamp\www\Discuz\././templates/default/discuz.htm', 'E:\wamp\www\Discuz\././templates/default/header.htm', 1278571905, '1', './templates/default');checktplrefresh('E:\wamp\www\Discuz\././templates/default/discuz.htm', 'E:\wamp\www\Discuz\././templates/default/index_heats.htm', 1278571905, '1', './templates/default');checktplrefresh('E:\wamp\www\Discuz\././templates/default/discuz.htm', 'E:\wamp\www\Discuz\././templates/default/index_navbar.htm', 1278571905, '1', './templates/default');checktplrefresh('E:\wamp\www\Discuz\././templates/default/discuz.htm', 'E:\wamp\www\Discuz\././templates/default/footer.htm', 1278571905, '1', './templates/default');checktplrefresh('E:\wamp\www\Discuz\././templates/default/discuz.htm', 'E:\wamp\www\Discuz\././templates/default/jsmenu.htm', 1278571905, '1', './templates/default');
    代码逻辑就是这样,具体做了什么还要看checktplrefresh这个函数
      

  2.   

    //如果没用定义常量IN_DISCUZ就退出脚本 
    if(!defined('IN_DISCUZ')) exit('Access Denied');//上步成功,则加载钩子脚本并输出
    hookscriptoutput('discuz');//下面那些一串的checktplrefresh( ... )函数,是决断传入的值是否成立,如果不为真那直到传参为真退出
    checktplrefresh( ... ) || checktplrefresh .....
      

  3.   


    是这个作用吗,不过到确实是出现在模板文件里面 具体位置是 forumdata/templates/1_1_discuz.tpl.php  我才刚学php没多久,一开始看discuz就不明白了,请高人指点
      

  4.   

    这个应该不是Discuz原版里的固定E:\……这路径,就有些莫名其妙代码的功能应该是执行到第一个true的就停止了比如true || $d = 3;
    echo $d;//这是有notice提示的,$d未定义
      

  5.   

    新人对于&&和||有时候不能理解其实很简单。 过程1||过程2||过程3
    ||都知道什么意识吧?就是“或”
    过程1执行的结果是true时候,后面的过程2,过程3都不执行了。
    因为或运算只要有一项结果为true。后面就不必计算了。
    如果过程1结果false,那么继续执行后面的过程2,过程2为真就不执行过程3了。反过来, 过程1&&过程2&&过程3
    当前一过程为true才执行下面的过程,否则一旦执行到为false的过程就直接返回了。