我遍历目录,尝试查找有错误的XML文件。
$baddies = array();
foreach (glob("fonts/*.svg") as $filename) {
libxml_use_internal_errors(true);
$str = file_get_contents($filename);
$sxe = simplexml_load_string($str);
$errors = libxml_get_errors();
$num_of_errors = 0;
$num_of_errors = sizeof($errors);
if ($num_of_errors > 0){
array_unshift($baddies, $filename);
}
}
然而,似乎一旦将错误放入此对象,它们会在循环的后续迭代中持续存在,并且没有错误的文件仍然会测试为正。对于好的文件,$num_of_errors
仍然很高。我将它重置为零,甚至在每次循环之后都尝试unset
。我想libxml_get_errors
一旦设置就继续保留一个值。我该如何重置它?