public function sanitize_svg($file) { if ($file['type'] == 'image/svg+xml') { require_once 'library/class.svg-sanitizer.php'; $svg = new SvgSanitizer(); // We read in the temporary file prior to WordPress moving it. $svg->load($file['tmp_name']); $svg->sanitize(); $sanitized_svg = $svg->saveSVG(); global $wp_filesystem; $credentials = request_filesystem_credentials(site_url() . '/wp-admin/', '', FALSE, FALSE, array()); if (!WP_Filesystem($credentials)) { request_filesystem_credentials(site_url() . '/wp-admin/', '', TRUE, FALSE, NULL); } // Using the filesystem API provided by WordPress, we replace the contents of the temporary file and then let the process continue as normal. $replace_uploaded_file = $wp_filesystem->put_contents($file['tmp_name'], $sanitized_svg, FS_CHMOD_FILE); } return $file; }