diff options
author | Alex Vitkov <alexvitkov98@gmail.com> | 2020-12-03 21:10:17 +0200 |
---|---|---|
committer | Alex Vitkov <alexvitkov98@gmail.com> | 2020-12-03 21:10:17 +0200 |
commit | 6c745ea0f54e660577d070b2ddaf4977039a094a (patch) | |
tree | e3938f21c98f7f459bc2589989d9e7f4c25d2950 /file_type_recogniser.php | |
download | fileup-6c745ea0f54e660577d070b2ddaf4977039a094a.tar.gz |
initial
Diffstat (limited to 'file_type_recogniser.php')
-rw-r--r-- | file_type_recogniser.php | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/file_type_recogniser.php b/file_type_recogniser.php new file mode 100644 index 0000000..f160fb7 --- /dev/null +++ b/file_type_recogniser.php @@ -0,0 +1,84 @@ +<?php + +function file_type($path_to_file) { + $file_type_database = new finfo(FILEINFO_SYMLINK|FILEINFO_MIME_TYPE); + return $file_type_database->file($path_to_file); +} + + +function file_extension($path_to_file) { + #FILEINFO_EXTENSION introduced in php7.2.0 https://www.php.net/manual/en/fileinfo.constants.php + if(defined("FILEINFO_EXTENSION")) + { + $file_type_database = new finfo(FILEINFO_EXTENSION); + return "." . $file_type_database->file($path_to_file); + }else + { + $result=file_type($path_to_file); + + $optimus_prime = array( + 'text/plain'=>'.txt', + 'text/html'=>'.html', + 'text/php'=>'.php', + 'text/css'=>'.css', + 'application/javascript'=>'.js', + 'application/json'=>'.json', + 'application/xml'=>'.xml', + 'application/x-shockwave-flash'=>'.swf', + 'video/x-flv'=>'.flv', + 'image/png'=>'.png', + 'image/jpeg'=>'.jpe', + 'image/jpeg'=>'.jpeg', + 'image/jpeg'=>'.jpg', + 'image/gif'=>'.gif', + 'image/bmp'=>'.bmp', + 'image/vnd.microsoft.icon'=>'.ico', + 'image/tiff'=>'.tiff', + 'image/tiff'=>'.tif', + 'image/svg+xml'=>'.svg', + 'image/svg+xml'=>'.svgz', + 'application/zip'=>'.zip', + 'application/x-rar-compressed'=>'.rar', + 'application/x-msdownload'=>'.exe', + 'application/x-msdownload'=>'.msi', + 'application/vnd.ms-cab-compressed'=>'.cab', + 'audio/mpeg'=>'.mp3', + 'video/quicktime'=>'.qt', + 'video/quicktime'=>'.mov', + 'application/pdf'=>'.pdf', + 'image/vnd.adobe.photoshop'=>'.psd', + 'application/postscript'=>'.ai', + 'application/postscript'=>'.eps', + 'application/postscript'=>'.ps', + 'application/msword'=>'.doc', + 'application/rtf'=>'.rtf', + 'application/vnd.ms-excel'=>'.xls', + 'application/vnd.ms-powerpoint'=>'.ppt', + 'application/vnd.oasis.opendocument.text'=>'.odt', + 'application/vnd.oasis.opendocument.spreadsheet'=>'.ods' + ); + + if(!array_key_exists($result,$optimus_prime)) + { + return ".dat"; + }else + { + return $optimus_prime[$result]; + } + + } +} + +function get_icon($path_to_file) +{ + $file_ext="svg/icons/".file_extension($path_to_file).".svg"; + if(!file_exists($file_ext)) + { + return "svg/icons/.dat.svg"; + }else + { + return $file_ext; + } +} + +?> |