All, I'm using the following code to upload some images to my Wordpress blog:
$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];
}
This works fine, however I can upload any type of file and as you are aware that could be potentially dangerous. Is there a way to make sure that the file is only a .jpg, .jpeg, .gif or a .png in the overrides or something like that?? Any help would be greatly appreciated!
Thanks!
You could check on file extension like this:
You can also check for the mime type of the file, which is value 'type' instead of 'name'. See http://www.php.net/manual/en/reserved.variables.files.php
Set an array in your overrides for the mime types allowed. Here is an example for gif/jpg