get_allowed_mime_types()

最后更新于:2021-11-26 04:12:48

get_allowed_mime_types( int|GC_User$user=null)

Retrieve list of allowed mime types and file extensions.

参数

$user

(int|GC_User) (Optional) User to check. Defaults to current user.

Default value: null

响应

(string[]) Array of mime types keyed by the file extension regex corresponding to those types.

源文件

文件: gc-includes/functions.php

function get_allowed_mime_types( $user = null ) {
	$t = gc_get_mime_types();

	unset( $t['swf'], $t['exe'] );
	if ( function_exists( 'current_user_can' ) ) {
		$unfiltered = $user ? user_can( $user, 'unfiltered_html' ) : current_user_can( 'unfiltered_html' );
	}

	if ( empty( $unfiltered ) ) {
		unset( $t['htm|html'], $t['js'] );
	}

	/**
	 * Filters list of allowed mime types and file extensions.
	 *
	 * @since 2.0.0
	 *
	 * @param array            $t    Mime types keyed by the file extension regex corresponding to those types.
	 * @param int|GC_User|null $user User ID, User object or null if not provided (indicates current user).
	 */
	return apply_filters( 'upload_mimes', $t, $user );
}
array(90) {
	["jpg|jpeg|jpe"]=> "image/jpeg"
	["gif"]=> "image/gif"
	["png"]=> "image/png"
	["bmp"]=> "image/bmp"
	["tiff|tif"]=> "image/tiff"
	["ico"]=> "image/x-icon"
	["asf|asx"]=> "video/x-ms-asf"
	["wmv"]=> "video/x-ms-wmv"
	["wmx"]=> "video/x-ms-wmx"
	["wm"]=> "video/x-ms-wm"
	["avi"]=> "video/avi"
	["divx"]=> "video/divx"
	["flv"]=> "video/x-flv"
	["mov|qt"]=> "video/quicktime"
	["mpeg|mpg|mpe"]=> "video/mpeg"
	["mp4|m4v"]=> "video/mp4"
	["ogv"]=> "video/ogg"
	["webm"]=> "video/webm"
	["mkv"]=> "video/x-matroska"
	["3gp|3gpp"]=> "video/3gpp"
	["3g2|3gp2"]=> "video/3gpp2"
	["txt|asc|c|cc|h|srt"]=> "text/plain"
	["csv"]=> "text/csv"
	["tsv"]=> "text/tab-separated-values"
	["ics"]=> "text/calendar"
	["rtx"]=> "text/richtext"
	["css"]=> "text/css"
	["htm|html"]=> "text/html"
	["vtt"]=> "text/vtt"
	["dfxp"]=> "application/ttaf+xml"
	["mp3|m4a|m4b"]=> "audio/mpeg"
	["aac"]=> "audio/aac"
	["ra|ram"]=> "audio/x-realaudio"
	["wav"]=> "audio/wav"
	["ogg|oga"]=> "audio/ogg"
	["flac"]=> "audio/flac"
	["mid|midi"]=> "audio/midi"
	["wma"]=> "audio/x-ms-wma"
	["wax"]=> "audio/x-ms-wax"
	["mka"]=> "audio/x-matroska"
	["rtf"]=> "application/rtf"
	["js"]=> "application/javascript"
	["pdf"]=> "application/pdf"
	["class"]=> "application/java"
	["tar"]=> "application/x-tar"
	["zip"]=> "application/zip"
	["gz|gzip"]=> "application/x-gzip"
	["rar"]=> "application/rar"
	["7z"]=> "application/x-7z-compressed"
	["psd"]=> "application/octet-stream"
	["xcf"]=> "application/octet-stream"
	["doc"]=> "application/msword"
	["pot|pps|ppt"]=> "application/vnd.ms-powerpoint"
	["wri"]=> "application/vnd.ms-write"
	["xla|xls|xlt|xlw"]=> "application/vnd.ms-excel"
	["mdb"]=> "application/vnd.ms-access"
	["mpp"]=> "application/vnd.ms-project"
	["docx"]=> "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
	["docm"]=> "application/vnd.ms-word.document.macroEnabled.12"
	["dotx"]=> "application/vnd.openxmlformats-officedocument.wordprocessingml.template"
	["dotm"]=> "application/vnd.ms-word.template.macroEnabled.12"
	["xlsx"]=> "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
	["xlsm"]=> "application/vnd.ms-excel.sheet.macroEnabled.12"
	["xlsb"]=> "application/vnd.ms-excel.sheet.binary.macroEnabled.12"
	["xltx"]=> "application/vnd.openxmlformats-officedocument.spreadsheetml.template"
	["xltm"]=> "application/vnd.ms-excel.template.macroEnabled.12"
	["xlam"]=> "application/vnd.ms-excel.addin.macroEnabled.12"
	["pptx"]=> "application/vnd.openxmlformats-officedocument.presentationml.presentation"
	["pptm"]=> "application/vnd.ms-powerpoint.presentation.macroEnabled.12"
	["ppsx"]=> "application/vnd.openxmlformats-officedocument.presentationml.slideshow"
	["ppsm"]=> "application/vnd.ms-powerpoint.slideshow.macroEnabled.12"
	["potx"]=> "application/vnd.openxmlformats-officedocument.presentationml.template"
	["potm"]=> "application/vnd.ms-powerpoint.template.macroEnabled.12"
	["ppam"]=> "application/vnd.ms-powerpoint.addin.macroEnabled.12"
	["sldx"]=> "application/vnd.openxmlformats-officedocument.presentationml.slide"
	["sldm"]=> "application/vnd.ms-powerpoint.slide.macroEnabled.12"
	["onetoc|onetoc2|onetmp|onepkg"]=> "application/onenote"
	["oxps"]=> "application/oxps"
	["xps"]=> "application/vnd.ms-xpsdocument"
	["odt"]=> "application/vnd.oasis.opendocument.text"
	["odp"]=> "application/vnd.oasis.opendocument.presentation"
	["ods"]=> "application/vnd.oasis.opendocument.spreadsheet"
	["odg"]=> "application/vnd.oasis.opendocument.graphics"
	["odc"]=> "application/vnd.oasis.opendocument.chart"
	["odb"]=> "application/vnd.oasis.opendocument.database"
	["odf"]=> "application/vnd.oasis.opendocument.formula"
	["gc|gcd"]=> "application/wordperfect"
	["key"]=> "application/vnd.apple.keynote"
	["numbers"]=> "application/vnd.apple.numbers"
	["pages"]=> "application/vnd.apple.pages"
}
<?php
/**
 * Get mime type icon URL based on file extension.
 *
 * @param $file_ext The file extension to get the icon for.
 * @return string Icon URL.
 */
function gcdocs_get_icon_by_file_extension($file_ext) {
	$mimes = get_allowed_mime_types();
	if ( ! empty( $mimes ) ) {
		foreach ($ mimes as $type => $mime ) {
			if ( false !== strpos( $type, $file_ext ) ) {
				return gc_mime_type_icon($mime);
			}
		}
	}
}
?>
<img src="https://docs.gechiui.com/functions/get_allowed_mime_types/<?php echo esc_url( gcdocs_get_icon_by_file_extension( 'mp4' ) ); ?>" />