我有一个功能
function haqSliderHandleUpload() {
global $haq_settings, $haqSliderImage;
// upload the image
$sliderfile = $_FILES[\'haq_slider\'];
$upload = wp_handle_upload($sliderfile, 0);
extract($upload);
$uploadDirPath = str_replace(basename($file), \'\', $url);
list($imageWidth, $imageHeight) = getimagesize($file); }
我想清理此字段$sliderfile=$\\u文件[\'haq\\u slider\'];我该怎么做
SO网友:Alexander Holsgrove
您不能说这段代码在哪里运行,无论是针对用户还是针对管理员。这里有一些技巧,主要是从这篇文章中获得的Wordfence.
您可以运行的第一个检查是current_user_can 要查看是否允许当前用户使用上载文件,请执行以下操作:
if(current_user_can(\'upload_files\')) { ....
接下来您可以使用
wp_check_filetype 看看它是否是有效的扩展名。
$fileInfo = wp_check_filetype(basename($_FILES[\'haq_slider\'][\'name\']));
if (!empty($fileInfo[\'ext\'])) {
// This file is valid
} else {
// Invalid file
}
Wordfence建议的最后一个测试是调用PHPs
getimagesize 将返回
FALSE
如果无法读取有效的图像文件。
if (!@getimagesize($_FILES[\'haq_slider\'][\'tmp_name\']))
wp_die(__(\'An invalid image was supplied.\'));