2012-08-10 156 views
0

错误消息:这段代码为什么会导致分析错误?

Parse error: syntax error, unexpected '{' in C:\xampp\htdocs\index.php on line 135

代码:

if(isset($_REQUEST['d']) 
{ // LINE 135 IS THIS ONE 
    $d = $_REQUEST['d']; 

    if ($d) { 
     while (preg_match('/\\\/',$d)) $d = preg_replace('/\\\/','/',$d); 
     while (preg_match('/\/\//',$d)) $d = preg_replace('/\/\//','/',$d); 
     while (preg_match('/\.\.\//',$d)) $d = preg_replace('/\.\.\//','/',$d); 
     if ($d[strlen($d)-1] != '/') $d = $d.'/'; 
     if ($d == '/') $d = ''; 
    } 
} 
+0

'...在线135'通常是任何错误消息的最有用的部分。 – Matt 2012-08-10 20:27:06

+0

是啊,我知道,但我确实添加了代码的行数。 – 2012-08-11 00:51:16

回答

10

你缺少一个右括号:

if (isset($_REQUEST['d'])) 
+0

谢谢。我错过了)。太多看PHP代码整天导致此 – 2012-08-10 20:22:28

+0

那么明显,哈哈... – 2012-08-10 20:25:29

4

燕的得到了主要的答案,但你还缺少一个反斜杠第一个正则表达式:

while (preg_match('/\\\/',$d)) $d = preg_replace('/\\\/','/',$d); 
         ^       ^

前两个插入一个反斜杠入图案,而第三反斜杠实际逃逸在末尾模式定界符,导致无端接图案。

+0

感谢指出了这一点!这osFileManager项目似乎有这么多的错误,需要修复的问题! – 2012-08-11 00:50:44

相关问题