You can do this using the wp_handle_upload
hook:
http://adambrown.info/p/wp_hooks/hook/wp_handle_upload?version=3.4&file=wp-admin/includes/file.php
Create a function and add it to this hook so it runs last, it will be passed an array. The array contains the location of the newly uploaded file:
add_filter('wp_handle_upload','wpse_66775_handle_upload',1000,1);
function wpse_66775_handle_upload($args){
$filename = $args['file'];
$type = $args['type'];
// test if it's an XML file and do some work on it
if(the file is an xml file){
super_magic_xml_file_modifier($filename);
}
return $args;
}
function super_magic_xml_file_modifier($filename){
// General PHP/XML stuff that doesn't belong on WPSE
}
Modifying the XML file etc, is another task that is not within the scope of this site.
Related Posts:
- Importing WordPress Attachments Into Custom Directories In wp-content/uploads/
- Why does SVG upload in Media Library fail if the file does not have an XML tag at the beginning?
- Import media (.xml) does not attribute featured images to posts
- How to assign multiple file-mime-types to extension?
- Is it possible to reorganize the WordPress uploads directory?
- Which filters or actions to use after a media upload and delete?
- wp_delete_attachment doesn’t delete images in wp-content/uploads/
- Force WordPress 3.3 to use Flash uploader
- Protecting direct access to PDF and ZIP unless user logged in (without plugin)
- How to restrict images in v3.5 Media Library modal to only those from a specific post id?
- Allow CSV files to be uploaded
- How to add more upload directories?
- Multisite, upload images directly to Amazon S3
- How can I speed up a slow loading media library?
- What to do with unattached logos and header uploaded via native wordpress uploader?
- upload_mimes filter has no effect
- How can you limit the number of images / videos that can be uploaded to a WordPress post
- Failure upgrading / updating site to WordPress 4.7
- Impose a Maximum Limit on Image height and width upload size
- Force wordpress to see uploads folder media
- Moving Media Library
- Add item to media library from blob or dataUrl
- How do I enable the customize theme page to accept svg’s?
- Frontend Simple Local Avatar upload
- Disable TinyMCE Drag and Drop
- WP3.5 Media Uploader – how to make it accept multiple images?
- How to define a remote uploads directory?
- Looks like image resize is not working well
- Allowing all/different file type uploads
- Trying to add filename over image in Media Browser
- How Can I pass an image file to wp_handle_upload?
- Upload image from a URL and assign it as a Featured Image to a Custom Post Type?
- Allowed memory size exhausted. WordPress side solution
- How to hook into wordpress admin upload iframe?
- Prevent File Uploads other than images
- How can I upload a file with no extension
- how to change max file upload size WordPress 4.9.8 [closed]
- Media handle sideload not working
- capability for upload on front-end (An error occurred in the upload. Please try again later )
- How to solve: An error occured in the upload
- What function can I use to override the multisite maximum file size upload restriction?
- Cannot upload .mp3 file to wordpress media
- List and show uploaded pdf files dynamically
- WordPress Fancybox Resize Large Image
- WordPress suddenly starts uploading media to an old (backdated) folder
- Delete files uploaded using the wp_upload_bits() function
- XML-RPC: How to add media caption to uploaded image?
- WordPress 4.9.8 Trying to add filename over image in Media Browser
- Disable image thumbnails for only one upload folder
- Media library only shows for admin. Doesn’t show editor or below [closed]
- Upload featured image from front end using media-upload.php
- media_handle_sideload on a file already on server
- Capability to prevent upload of files
- wp_handle_upload: get custom checkbox value from media uploader
- Edit User Profile From Front End
- How can I upload to wp media library by foundation zurb ajax
- HTTP Error When Uploading Images with HTTPS?
- Saving file to disk receiving fopen error
- Check for file extension or mime type fails
- Error when upload images larger than 1024px [closed]
- A link (not in the post) to download a specific PDF file
- uploaded images not going to /uploads folder
- Setting image upload absolute path?
- Set different max upload size limits based on file type/extension
- how to change wp upload directory to another domain directory
- Disable “Create Audio Playlist” and “Create Video Playlist” in Add Media
- What is the URL pattern for image thumbnails + sizes?
- Setting up a HIPAA secured form / file upload
- How to make picture appear on wordpress site shared link? [closed]
- limit media upload to once a day
- How to download files to WordPress?
- How to detect when a file has been uploaded?
- wp-content/uploads returns a 404
- Cant upload larger than 100MB
- Multiple images are generated in WP-content in wordpress
- Removing extra large generated images disables all crops
- MIME types not recognized by media library
- Missing a temporary folder not fixed
- How to allow .xls file uploads?
- Upload automatically html files
- Updating the attachment from front end doesn’t show the new change
- Bulk upload images in upload folder does not show in media library
- Is there some way to find if media items are used anywhere on the site?
- wp_update_attachment_metadata breaks after 10 files
- Media URL slugs without uploads folder path
- Add more field on WordPress media upload
- Frontend media shows “An error occurred in the upload. Please try again later.”
- File Upload Management
- WP_Custom_Media_Control | Give ID to media file
- WP Add Media Button – Can I set the default size to Original/Full Size
- Video limit about wordpress
- Files larger than 500 kilobytes are not allowed
- How to split my uploaded media into directories?
- get the post thumbnail returns the full size
- WordPress media upload multiple images
- Media Upload Directory to MMYY instead of YYYY/MM
- Is there a way to force Featured image to show as attachement?
- Auto-Import of WXR File
- Media upload takes too long
- Problems with defining UPLOADS constant