我已经阅读了从 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 是资源,布尔值在...中给出”
任何建议表示赞赏。