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