Rumah > pembangunan bahagian belakang > tutorial php > 定义这个函数为什么会出错

定义这个函数为什么会出错

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2016-06-23 13:41:39
asal
1072 orang telah melayarinya

老是提示这个错误:Parse error: syntax error, unexpected 'function' (T_FUNCTION) in D:\wamp\www\myshop\upload\includes\cls_template.php on line 313

我用的是php5.5.12
我只是初哥,代码是老板买回来的,运行到这个函数的时候接不上了

    /**
     * 判断是否缓存
     *
     * @access  public
     * @param   string     $filename
     * @param   sting      $cache_id
     *
     * @return  bool
     */

    function is_cached($filename,$cache_id = '')
    {
        $cachename = basename($filename, strrchr($filename, '.')) . '_' . $cache_id;
        if ($this->caching == true && $this->direct_output == false)
        {
            $hash_dir = $this->cache_dir . '/' . substr(md5($cachename), 0, 1);
            if ($data = @file_get_contents($hash_dir . '/' . $cachename . '.php'))
            {
                $data = substr($data, 13);
                $pos  = strpos($data, '                 $paradata = substr($data, 0, $pos);
                $para     = @unserialize($paradata);
                if ($para === false || $this->_nowtime > $para['expires'])
                {
                    $this->caching = false;

                    return false;
                };
                $this->_expires = $para['expires'];

                $this->template_out = substr($data, $pos);

                foreach ($para['template'] AS $val)
                {
                    $stat = @stat($val);
                    if ($para['maketime']                      {
                        $this->caching = false;

                        return false;
                    }
                };
            }
            else
            {
                $this->caching = false;

                return false;
            };

            return true;
        }
        else
        {
            return false;
        }
    }


回复讨论(解决方案)

Parse error: syntax error, unexpected 'function' 
语法错误,意想不到的“function”

错误出现在 cls_template.php 第 313 行之前
你认真检查一下

public function

检查了一下是不是我上面修改的有问题:
原来:return preg_replace("/{([^\}\{\n]*)}/e", "\$this->select('\\1');", $source);
修改:return preg_replace_callback("/{([^\}\{\n]*)}/", function($r){return $this->select($r[1]);};

这是我百度的,现在看来是上面的有问题,大家能不能帮修改一下,这是因为PHP的源代码是5.2,我用的版本是5.5.12

313是哪行?

return preg_replace_callback("/{([^\}\{\n]*)}/", function($r){return $this->select($r[1]);} , $source);
尾巴怎么丢了?

ECSHOP不支持PHP5.5,真是郁闷啊,错误实在是太那个多

我这个初鸡,真是搞不了,求大虾有搞过ECSHOP的,能不能发个对照表过来,让我自己学习并搞好

我使用php5.3.10 没问题,版本太多,ecshop有些东西不支持,建议更换版本。

语法错误,仔细检查一下吧

还是装了php5.2.x上去,问题就没有了
谢谢大家

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan