使用PHP识别有效的SVG
我需要检查上传的文件类型SVG。不幸的是,没有使用PHP识别有效的SVG,php,svg,graphicsmagick,Php,Svg,Graphicsmagick,我需要检查上传的文件类型SVG。不幸的是,没有IMAGETYPE_SVG并且finfo_文件在我的机器上不工作。如何确保上传有效?但是,我确实可以通过system()访问GraphicsMagick,您只需检查它是否为.svg $path = $_FILES['uploadedfile']['name']; //gets extension $e = pathinfo($path, PATHINFO_EXTENSION); if($e == "svg"){ //it is svg }else{
IMAGETYPE_SVG
并且finfo_文件
在我的机器上不工作。如何确保上传有效?但是,我确实可以通过system()
访问GraphicsMagick,您只需检查它是否为.svg
$path = $_FILES['uploadedfile']['name'];
//gets extension
$e = pathinfo($path, PATHINFO_EXTENSION);
if($e == "svg"){
//it is svg
}else{
//not svg
}
我使用GraphicsMagick找到了一个解决方案:
$valid = FALSE;
@exec("gm identify +ping filename", $result);
if (is_array($result)) {
if (in_array("MVG", explode(" ", implode(" ", $result))) || in_array("SVG", explode(" ", implode(" ", $result)))) $valid = TRUE;
}
达到什么水平?SVG文件是XML文件,那么检查有效的XML文件就足够了吗?是的,我刚刚从XMLReader尝试了isValid,但它返回true,尽管我使用了PNG而不是SVG。这似乎不起作用。当然我不会使用它,任何人都可以将任何文件命名为.svg