全部,我使用以下代码将一些图像上传到我的Wordpress博客:
$fieldname = 'logo';
include_once(ABSPATH . 'wp-admin/includes/media.php');
include_once(ABSPATH . 'wp-admin/includes/file.php');
if ($_FILES[$fieldname]) {
$overrides = array('test_form' => false);
$file = wp_handle_upload($_FILES[$fieldname], $overrides);
echo $file[error];
}
Run Code Online (Sandbox Code Playgroud)
这工作正常,但我可以上传任何类型的文件,因为你知道这可能是有潜在危险的.有没有办法确保文件只是一个.jpg,.jpeg,.gif或.png覆盖或类似的东西?任何帮助将不胜感激!
谢谢!
在覆盖中为允许的mime类型设置一个数组.这是gif/jpg的一个例子
$fieldname = 'logo';
include_once(ABSPATH . 'wp-admin/includes/media.php');
include_once(ABSPATH . 'wp-admin/includes/file.php');
if ($_FILES[$fieldname]) {
$allowed_file_types = array('jpg' =>'image/jpg','jpeg' =>'image/jpeg', 'gif' => 'image/gif', 'png' => 'image/png');
$overrides = array('test_form' => false, 'mimes' => $allowed_file_types);
$file = wp_handle_upload($_FILES[$fieldname], $overrides);
echo $file[error];
}
Run Code Online (Sandbox Code Playgroud)