我已尝试过至少3种解决方法,以便在wordpress中的wp_handle_upload函数中接受我的.vcf文件。
添加了过滤器和扩展程序:我尝试了多种类型,包括' text / x-vcard',' application / vcard',' text / anytext' 。 mime类型的过滤器添加工作了一段时间,然后再次停止工作。
add_filter('upload_mimes', array('Daisy', 'daisy_mime_types'), 1, 1);
public static function daisy_mime_types($mime_types){
$mime_types['vcf'] = 'text/*'; //Adding .vcf extension
return $mime_types;
}
我将mime类型作为数组添加到wp_handle_upload参数中。
$vcard_upload = wp_handle_upload( $_FILES["vcard"], array('test_form' => false, 'mimes' => array('vcf' => 'text/*')) );
我使用插件WP添加Mime类型。
无论何种方法,我都会收到以下错误:"抱歉,出于安全考虑,不允许使用此文件类型。"但是,如果我使用WP Media Handler,我可以上传文件,以便通过其他渠道接受mime类型。
在确认时,mime类型位于可接受的mime类型列表中:
print_r(get_allowed_mime_types())
` Array
(
[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
[ra|ram] => audio/x-realaudio
[wav] => audio/wav
[ogg|oga] => audio/ogg
[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
[wp|wpd] => application/wordperfect
[key] => application/vnd.apple.keynote
[numbers] => application/vnd.apple.numbers
[pages] => application/vnd.apple.pages
[vcf] => text/x-vcard
)
答案 0 :(得分:0)
我认为这可能与您的Web服务器配置中如何定义mime类型有关。我对ogg(视频文件.ogv),行:
也有同样的问题$mime_types['ogv'] = 'video/ogg';
在本地主机上工作正常,但客户端的服务器没有工作,最后我发现我必须增加一行:
$mime_types['ogv'] = 'application/ogg';
所以我建议检查服务器的配置或(如果不可能)盲目检查其他mime类型,如:
$mime_types['vcf'] = 'application/vcf';