我正在尝试确保上传的文件是有效的gpx文件,并尝试了两种不同的检查(针对xml),因为GPX是xml (某种)。
第一次检查将拒绝有效的文件,并显示消息no DTD found。
$dom = new DOMDocument;
$dom->Load($_FILES["gps"]["tmp_name"]);
if ($dom->validate()) {
}
else {
echo '<script>alert("Not a valid GPS file!");</script>';
exit();
}第二次检查不会拒绝像jpg或pdf这样的无效文件。
$xmlcontents = XMLReader::open($_FILES["gps"]["tmp_name"]);
$xmlcontents->setParserProperty(XMLReader::VALIDATE, true);
if($xmlcontents->isValid()) {
}
else {
echo '<script>alert("Not a valid GPS file!");</script>';
exit();
}我做错了什么?!
发布于 2013-12-04 06:38:14
找到解决方案了!
$xml=simplexml_load_file($_FILES["gps"]["tmp_name"]);
if($xml === FALSE)
{
echo '<script>alert("Not a valid GPS file!");</script>';
exit();
} 对于jpg、pdf等格式,这将返回false,但接受GPX。
https://stackoverflow.com/questions/20362348
复制相似问题