0

错误信息:

解析错误:语法错误,第 135 行 C:\xampp\htdocs\index.php 中的意外“{”

代码:

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 = '';
    }
}
4

2 回答 2

10

您缺少一个右括号:

if ( isset($_REQUEST['d'] ) )
于 2012-08-10T20:20:25.770 回答
4

Yan 得到了主要答案,但您在第一个正则表达式中也缺少反斜杠:

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

前两个在模式中插入一个文字反斜杠,而第三个反斜杠实际上是在最后转义模式分隔符,导致一个未终止的模式。

于 2012-08-10T20:28:26.433 回答