We use FileInfo to detect the type of file - that will have its own methods of detecting SVG.
What does this output on your server?
<?php
echo is_svg('/full/path/to/your/file.svg');
function is_svg($image_path) {
if (function_exists('finfo_open')) {
$finfo = finfo_open(FILEINFO_MIME_TYPE);
if ($finfo) {
$mime_type = finfo_file($finfo, $image_path);
finfo_close($finfo);
if (strpos($mime_type, 'svg')) {
return $mime_type;
}
}
}else{
// This is deprecated, but throw me a bone
if (function_exists('mime_content_type')) {
$mime_type = mime_content_type($image_path);
if ($mime_type && strpos($mime_type, 'svg')) {
return $mime_type;
}
}
}
// This is not an exact science, people.
if (isset($mime_type)) {
if ($mime_type=='text/plain' && PerchUtil::file_extension($image_path)=='svg') {
return 'image/svg+xml';
}
if ($mime_type=='text/plain' && PerchUtil::file_extension($image_path)=='svgz') {
return 'image/svg+xml';
}
}
return 'no clue';
}
?>
We use FileInfo to detect the type of file - that will have its own methods of detecting SVG.
What does this output on your server?
it outputs no clue. But I also tested it with a valid SVG file (in terms of the assets) and that also outputs no clue.
Is this on the production server?
Yes on both production and local.
Ok. I don't have a solution. It's something I'll need to see if we can accept for in the future.