0

我已经阅读了从 ereg(已弃用)切换到 preg_match 时可以找到的所有内容。我尝试通过添加分隔符和转义表达式(这可能不是必需的)来解决它是徒劳的。我开始:

$file = fopen(VARS_FILE,"r");

while(!feof($file)) {
    $line = fgets($file,1000);
    $parts = explode(':',$line);

    if(ereg("breaks",$parts[0]) || ereg("high_",$parts[0]))
        $GLOBALS[$parts[0]] = explode(',',trim($parts[1]));
    else
        $GLOBALS[$parts[0]] = trim($parts[1]);
}

fclose($file);

并试图将其更改为:

$file = fopen(VARS_FILE,"r");

while(!feof($file)) {
    $line = fgets($file,1000);
    $parts = explode(':',$line);

    if(preg_match("/breaks/",$parts[0]) || preg_match("/high_/",$parts[0]))
        $GLOBALS[$parts[0]] = explode(',',trim($parts[1]));
    else
        $GLOBALS[$parts[0]] = trim($parts[1]);
}

fclose($file);

这继续导致错误,如

“fgets() 期望参数 1 是资源,布尔值在...中给出”

任何建议表示赞赏。

4

0 回答 0