Я прочитал все, что мог найти при переключении с ereg (устарело) на preg_match. Мои попытки решить эту проблему путем добавления разделителей и escape-выражений (которые могут и не понадобиться) оказались тщетными. Я начал с:
$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 будет ресурсом, логическое значение задано в …»
Любой совет приветствуется.
Задача ещё не решена.
Других решений пока нет …