使用 PHP 识别有效的 SVG


identify valid SVG using PHP

我需要检查文件类型SVG的上传。不幸的是,没有IMAGETYPE_SVGfinfo_file在我的机器上不起作用。如何确保上传有效?但是,我确实可以通过system()访问GraphicsMagick

我找到了使用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

$path = $_FILES['uploadedfile']['name'];
//gets extension
$e = pathinfo($path, PATHINFO_EXTENSION);
if($e == "svg"){
//it is svg
}else{
//not svg 
}