Iptanus File Upload
Front-end file uploads for WordPress
Let visitors upload files from any page, post or sidebar widget — into your Media library, or straight to Dropbox, Google Drive, OneDrive, Amazon S3 or an FTP server.
What it does
A form on any page
One shortcode, or a Gutenberg block. Add your own fields, filter by size, extension or user role, and run several forms in the same post.
Files go where you need
The Media library, a NextGEN gallery, an FTP server or a cloud account. Large files upload in chunks, past the server’s own limit.
You see what arrives
A file browser and activity log in the dashboard, email notifications on upload, and a viewer your logged-in users can see too.
What it looks like
Set-up and reference
- Install the plugin with the WordPress auto-installer, or download the .zip file from wordpress.org and install it from the Plugins section of your Dashboard.Or copy the
wordpress_file_uploaddirectory into thewp-content/pluginsdirectory of your site yourself. - Activate the plugin from the Plugins section of your Dashboard.
- For an upload form, go to Dashboard / Settings / Iptanus File Upload and follow the instructions in Uploader Instances.
[wordpress_file_upload]Or put the shortcode straight into the contents of any page. - For a list of uploaded files, follow the instructions in Uploaded File List Instances instead.
[wordpress_file_upload_browser]Or put the shortcode straight into the contents of any page.
- Open the page in your browser and you will see the upload form, or the list of files.
- View what has arrived from the Uploaded Files item in the Dashboard menu.
- Change the upload directory, or any other setting, from the small edit button at the top-left corner of the upload form.It opens the plugin options in a new window. If nothing appears, allow pop-up windows for your site.
- Full documentation of the plugin options is in the Options section below.
A handy Getting Started guide can be found here.
You can download the free version of the plugin by pressing the FREE version button below, or you can go for the professional version that offers multiple file uploads, captcha and much more by pressing the PRO version button. Professional licences are one-off, and their updates never expire.
The plugin offers many options for the two shortcodes, so that they can be tailored to any requirements. These options are available in the following links:
From version 2.4.1 filters and actions are supported in order to allow programmers to integrate Iptanus File Upload plugin with other plugins, extend its capabilities or perform advanced operations.
A detailed list of the plugin’s filters and actions can be found in this article.
The plugin is translated in the following languages:
- Portuguese
- kindly provided by Rui Alao
- German
- French
- kindly provided by Thomas Bastide of omicronn.fr
- Serbian
- kindly provided by Andrijana Nikolic of webhostinggeeks.com
- Dutch
- kindly provided by Ruben Heynderycx
- Chinese
- kindly provided by Yingjun Li
- Spanish
- kindly provided by Marton
- Italian
- kindly provided by Enrico Marcolini marcuz.it
- Polish
- Swedish
- kindly provided by Leif Persson marcuz.it
- Persian
- kindly provided by Shahriyar Modami chabokgroup.com
- Greek
Translations in other languages are more than welcome!.
The plugin requires to have Javascript enabled in your browser. For Internet Explorer you also need to have Active-X enabled.
Please note that old desktop browsers or mobile browsers may not support all of the above features. In order to get full functionality use the latest versions of browsers, supporting HTML5, AJAX and CSS3.
You can read the Privacy Policy and Terms of Service of the plugin in the following links:
You can also read the Google Drive Privacy Policy and Terms of Service of the plugin in the following links:
Release notes
153 versions · 847 changes
What changed in each version. Grouped by major release — these entries carry no dates.
- Fixed bug where emails could not be sent after the release of the previous version.
- Verified compatibility with latest 7.0 WordPress version.
- Added uploadid length check in wfu_ajax_action_send_email_notification().
- Added wfu_params_*, wfu_gst_* and wfu_userstate_* in periodical cleanup.
- Added Transient Options section in Maintenance Actions tab.
- Fixed SQL injection issue CVSS 9.3 from Patchstack.
- Fixed File Overwrite Race Condition when uploading files with the same filename concurrently.
- Verified compatibility with latest 6.9 WordPress version.
- Fixed bug where a file could not be downloaded from Uploaded Files Dashboard menu.
- Fixed double-escaped HTML code of text when Pro version is deactivated. Pro
- Added support for FTP over TLS (FTPS) uploads.
- Fixed bug where the visual editor of the file viewer could not be invoked when there was no upload form on the same page. Pro
- Fixed bug where alt text and description in NGG image was not stored because NGG modified its API. Pro
- Fixed bug where the visual editor threw warnings for not finding personaldata when Personal Data were deactivated from the plugin's Settings in Dashboard.
- Fixed bug where a fatal error was thrown when updating the Pro version of the plugin and the extensions had to be reloaded. Pro
- Fixed bug where Link and Remotelink columns showed HTML code instead of links, due to excessive escaping. Pro
- Modified Messenger activation workflow due to withdrawal of Send To Messenger plugin from Meta. Pro
- Corrected bug where the upload form visual editor was not opening when Material UI theme was active.
- Corrected bug where notification emails were not sent when Material UI theme was active.
- Updated vendor libraries.
- Removal of Post Method setting from free version.
- Removal of curl_exec, file_get_contents and sockets from wfu_get_request() and wfu_post_request() of free version.
- Improvements on how AJAX endpoint is provided.
- Corrections to "Requires at least" value.
- Replacement of eval() in minification function.
- Corrected warning where translatable constants where loaded before the plugin textdomain was loaded.
- Further security improvements for compliance with wordpress.org.
- Added translation for all backend of the plugin.
- Modified plugin code so that all echoed variables to HTML are escaped.
- Modified code so that all input is sanitized, including all $_SERVER, $_COOKIE and $_SESSION input.
- Plugin name changed to Iptanus File Upload.
Every version on one page, without JavaScript: the full changelog.
Free and Pro
The free version does not expire and is not a trial. Pro adds nineteen features. The full comparison and the price are on one page.

Does this plug-in allow you to send the uploaded files to a Sharepoint site? Will I need to PRO version for that or can I do it with the FREE version. Thanks!
Hi, how can the Sharepoint site receive files? It can probably be done with the Free version as well.
Regards
Nickolas
Hello,
We have the WP file upload PRO version. Since the latest WP upgrade (version 4.9.8), the extention doesn’t work anymore. When trying to upload a file, customers have a server timeout error.
The folder is created on the server, but the file (even a 4ko file) is not uploaded.
Can you help ?
Many thanks.
Hi, what is the error received? can I try to upload myself?
Regards
Nickolas
Hi, and congratulations for this great (free) plugin !
Before I buy the PRO version, I would like to see screenshots or examples of file list shortcode on front-end, but can’t seem to find anything online.
Another question :
I have set an upload form (with a specific path), and I would like to send upload notification email to all users of a specific user role (and use a file list shortcode to allow them to see all the uploaded documents in the given folder).
Is it possible and how ? (without manually filling the email recipients field with all emails)
Thx in advance,
Yan.
Hi, here are some articles showing and explaining the plugin’s file viewers:
https://www.iptanus.com/file-viewer-of-iptanus-file-upload-plugin/
https://www.iptanus.com/version-4-3-0-of-wordpress-file-upload-plugin/
https://www.iptanus.com/iptanus-file-upload-viewer-search-filter/
In order to send the notification email to users of a specific role, a custom implementation using the plugin’s filters is required. I can help you with this.
You can also configure the file viewer to display the files only of a specific folder.
Regards
Nickolas
Wow thank you, didn’t even think of searching the articles for that, sorry !
Awesome, the thumbnail grid view is exactly what I was looking for 🙂
Regarding the notifications, I guess I can use the wfu_before_email_notification filter to update recipients list (or even message,etc.) with PHP ?
I think this plugin is one of the best value ever ! So many shortcode options and the hooks are so perfect for developers 😉
OK, so I managed to change the notifications recipients with the appropriate hook for a specific user role, and I managed to display the files in a specific folder with the extension filter (*/PATH/*.*).
But I can’t find out how to dynamically change the upload path for a specific user, with a file upload form on his profile page :
When I’m on a profile page with url https……//, I would like upload directory to be uploads/…/, where can be any user name.
But I can’t use %username% because is not the currently logged in user but any other user (they all have a profile page with the upload form).
I hope it makes sense… Is there a hook I can use ? Or any other way ?
Like a %last-slug-of($_SERVER[‘HTTP_REFERER’])% variable 😉
Thx !!!
If you want to change the upload path you can use wfu_before_file_upload filter. Have you tried that?
Nickolas
OK, so I managed to change the notifications recipients with the appropriate hook for a specific user role, and I managed to display the files in a specific folder with the extension filter (*/PATH/*.*).
But I can’t find out how to dynamically change the upload path for a specific user, with a file upload form on his profile page :
When I’m on a profile page with url https……/USER/, I would like upload directory to be uploads/…/USER, where USER can be any user name.
But I can’t use %username% because it is not the currently logged in user but any other user (they all have a profile page with the upload form).
I hope it makes sense… Is there a hook I can use ? Or any other way ?
Like a %last-slug-of($_SERVER[‘HTTP_REFERER’])% variable
Thx !!!
Hi !!!
Sorry for asking so many questions so quickly, should have dug a little more before, cause I found out everything 🙂
I used wfu_before_file_check_handler hook to substitute the keyword with username in full upload path.
I also found the not documented (but so usefull) hook _wfu_filtered_recs_queries, that allowed me to substitute keywords as well to dynamically change the file viewer folder according to url or logged in user.
Thanks again for this amazing plugin !
Yan
Hi, yes wfu_before_email_notification is for this purpose. When you add a new hook from Hooks tab in Dashboard and select this filter from Hook Templates, it will show you instructions how to use it. There is also this article describing all plugin’s published filters.
Regards
Nickolas
Yes I tried wfu_before_file_upload (and other filters as well).
If I add a subfolder before $file_path, the upload won’t work, with unkown error message.
If I change $file_path, the filename is correctly changed, but I want to change the destination folder.
I can’t find the full destination path in any hook.
$file_path is the absolute path to the file, so in contains the full path. I can help you configure it, just tell me how is the shortcode configured right now and how do you want the folder to become. Please reply by email to info@iptanus.com
Nickolas
I actually need to modify “Filter by extension” as well, because I want to display the folder associated to the logged in user, like for instance : */ANY_PATH/%username%/*.*
Is it possible, and with which hook please ?
The real deal here is that I may not use your plugin in the right way 😉
Because I want to upload or view files in specific internal folders, and not pages/posts/users/role.
Admins upload files TO people (students, actually) ; people don’t upload their own files on their own page or post.