FileChucker

Uploader with Progress Bar, File Manager & Multi-User Support

Need to transfer files to/from your website?  FileChucker makes it easy.  Fun, even.  Whether for customer files, or just your own, FileChucker is the solution.
FileChucker Screenshot

ChangeLog for FileChucker

v5.11 (20190415):

v5.10 (20170525):

  • Big performance boost on all the database-viewer pages: these pages often need to look up column types, which has to be done many times on pages with lots of items/files.  FileChucker now caches those column types so they only need to be queried once.
  • Bugfix: uploads would sometimes fail due to a check in the email_domain_is_allowed feature that shouldn't have been occurring.
  • New $PREF{filefield_size} setting, so you can adjust that without having to edit the big $PREF{filefield_template} setting.

v5.09 (20170127):

  • Smooth new styling on the admin pages, database viewers, upload log, etc.
  • New folder-owner feature, where you can configure a special email address field on the upload form, and the entered address will become the "owner" of that folder, who can then receive notification emails whenever files are uploaded into it.  (Similar to the existing feature for UserBase folder owners, but this doesn't require UserBase.)
  • New _allowed_domains feature for email fields, so you can restrict who can upload files based on whether their email address is within a list of allowed domains (e.g. your company domain).
  • Performance boost: we now skip our database-table-checks on most executions, only running them once a day, and if/when the app's version number changes (e.g. because you just installed an update).
  • New enable_altmode_prefs feature, allowing you to create groups of prefs to enable/disable the various features, and then switch between them by passing a URL variable.

v5.08 (20160711):

  • Security fix: tighten the security on our session cookie by preventing it from being set via Javascript.
  • Improved and clarified the text and the module-detection stuff on the email-test page and the check-Perl-modules page.
  • New setting "require_encrypted_connection_for_login_cookie", for improved security on sites that have SSL enabled.
  • The WebConfig file can now be downloaded via a link on the WebConfig page, to make it super easy to back it up.
  • Changed output encoding from ISO-8859-1 to UTF-8, in the few places where it was still ISO-8859-1.
  • Bugfix: if WebConfig was used to adjust a pref containing another %PREF{foo} variable, that variable was not properly interpolated (e.g. $PREF{css} would break if edited via WebConfig).
  • Bugfix: if WebConfig was used to adjust a pref containing a textarea (e.g. one of the template prefs), that pref's value would get screwed up.
  • Bugfix: removed all the not-SQL-safe functions and related prefs, which didn't always handle non-English characters properly, and had various other issues, and never actually blocked anything except possibly some sub-ASCII control characters.  The correct approach (which we were also already doing) is to do this validation on a per-variable basis in the context of each variable.
  • Bugfix: don't try to create the UserBase WebConfig file if it's missing; just load it if it's present.
  • Bugfix: change the WebConfig file from fc_webconfig_prefs to [scriptname]_webconfig_prefs, so that sites with multiple installations don't try to use the same one.
  • Bugfix: the perfile-password feature was working for passwords set via the upload form, but not for ones set via the file-list.
  • Bugfix: templates for upload notification emails couldn't be set in the filechucker_prefs_extra.cgi file (they would get overridden by defaults).
  • Bugfix: the email link on the options menu wasn't properly encoded in some cases, so it would launch an email but some of the details would be missing.
  • Removed some old unused code and refactored some code.

v5.07 (20160511):

  • For the comment notification emails, switch to our standard email header/footer for consistency and to remove redundancy in the prefs.

v5.06 (20160423):

  • FileChucker can now read the DB prefs from the UserBase WebConfig file, so if you're using both apps, you won't have to enter those details twice.
  • Security enhancement: add secure and httponly options for our sensitive cookies, and HTTP headers (sameorigin, nosniff...) for additional protection.
  • New feature $PREF{log_upload_info_to_text_file} for users who want simple logging without a database.
  • Switch the page title from the FileChucker logo image to similarly-styled text.
  • Include FontAwesome by default since we're going to start using that.
  • Cleaned up the styling and spacing of the drop-down menus on the download page.
  • Ripped out an old feature that was virtually never used ($PREF{use_database_for_temp_data}).
  • For certain key settings (groups_allowed_to_, database prefs, salt...), remove any newlines, which may slip in via WebConfig, etc.
  • Refactoring and other code cleanup.
  • Bugfix: the $PREF{auto_create_userdirs} feature (formerly serial_is_userdir) no longer creates an empty private subfolder each time the app is accessed; it now waits until an upload occurs to create the subfolder for it.

v5.05 (20160216):

  • New setting $TEXT{intro_filelist} in case you want a separate message at the top of that page.
  • Added a note to the top of the "All Prefs" page in WebConfig, explaining that it shows prefs as they appear in the prefs file, not your customized prefs.
  • Bugfix: clicking the Help link at the top of the WebConfig pages now works on the first time (previously the first click was ignored).

v5.04 (20150911):

  • Big performance boost: roughly an order of magnitude faster during app initialization, meaning every execution will be faster.  On one test server, execution time went from ~1.8 seconds down to 0.1 second.
  • New mobile-friendly design displays nicely on small screen devices like phones, with little to no pinching and zooming required on most screens.
  • More details coming soon.

v5.03 (20150908):

  • Added a "spinner" graphic (which actually shows a matrix of moving squares instead of a spinning circle) as a temporary placeholder for the upload progress bar before it appears, and to display while sending test emails.
  • Performance boost: when interpolating variables into prefs etc, only read the URL and cookie variables once each.

v5.02 (20150718):

  • New nested tree-view feature for the download page, via the "enable_treestyle_download_page" setting.  This lets you expand folders to drill down into subfolders without reloading the page.
  • The image resizing/thumbnail features now support square thumbnails (via cropping, not stretching).
  • Improvements and clarifications to the email configuration and send-test-email pages.
  • Refactoring.
  • Bugfix: in rare cases, at the end of an upload, the time remaining field would go from 0 to some huge negative number.
  • Bugfix: a recent update caused all old-file-deletions to fail, except for those done via the targeted_autodelete feature.

v5.01 (20150417):

  • We'll now load the WebConfig prefs from UserBase if available, to avoid having to re-enter common prefs like database settings.

v5.00 (20150413):

  • Introducing WebConfig!  You can now do all of FileChucker's configuration via web browser, without having to edit any config files.  But the config files (prefs files) are still there, and can still be used, if you prefer that method instead.
  • Security upgrade: FileChucker's authentication system has been updated to a newer, stronger hash, and now also uses a per-site salt to further strengthen the hashes, as well as a large number of hash iterations for additional protection.
  • New interactive database-settings-config page, where you can enter your database settings and test them via a single page in your web browser.
  • New interactive email-settings-config page, where you can enter your email server details and test them (by sending a test email) via a single page in your web browser.  Very useful for when your email provider changes a setting on you, or your emails just seem to stop arriving for some reason, etc.  The problem in those cases is virtually never with FileChucker, but now it'll let you quickly pinpoint what IS causing it, and correct the settings easily.
  • Many other improvements and bugfixes, with details coming soon.

v4.99e (20141022):

  • New include_simple_formfield_format_on_redirection_qs, so that in case you're redirecting to a non-FC upload confirmation page, you can access simple name=value variables on the URL, rather than having to parse FileChucker's special numbered-variable format.
  • New disable_multiple_files_in_one_element_for_mobilesafari setting, since MobileSafari currently has a bug that prevents video files from uploading if the file field has multi-file support enabled (as any modern file field will, nowadays...).
  • New groupsallowed_settings_override_custfolderperms_for_file_downloads setting, for cases where you want to enable custom folder permissions so that only your specified users/groups can browse folders, but still allow individual file download links to be public (e.g. links sent in notification emails).
  • Removed a bunch of really old, virtually-never-used code, and optimized a bunch of other code.
  • Bugfix: the fancy new AJAX file-delete feature would mysteriously fail if you were in the top level (not in a subfolder) and you tried to do a deletion using the checkboxes instead of the options->delete link.

v4.99d (20140523):

  • Bugfix: we now only attempt to load the SFTP module if you've enabled a feature that requires it (e.g. use_sftp_when_transferring_to_another_server), to prevent errors on servers where the module is missing.

v4.99c (20140513):

  • Bugfix: removed some development code that was inadvertently left in the previous version.

v4.99b (20140513):

  • New $PREF{email_hello_domain} setting, which defaults to your domain name, which is used in email headers -- previously this was just defaulted to "localhost.localdomain"; this change *should* make it less likely that any app-based emails get flagged as junk/spam by email servers, or services like Gmail.
  • New scroll_progress_bar_into_view setting, in case your upload form is really big, which previously might have made the upload progress bar scroll out of view when the user clicked the Begin Upload button.
  • New optgroup setting for custom drop-down fields on the upload form, so you can organize large drop-downs into groups.
  • The ftp_files_to_another_server feature now also supports SFTP.
  • On embedded installations where your page has an onload call in its body tag, which prevents FileChucker's own onload code from running, we now automatically detect that and run our code on the fly when the upload begins, rather than displaying an error about enabling multiple onload actions, as before.
  • Switched some of our nonces from md5 to sha256, and we now include the Digest::SHA::PurePerl module, for servers missing Digest::SHA, to guarantee support.
  • New _maxlength setting for custom form fields.
  • The code that auto-updates our static CSS and JS files when you change your prefs now also detects changes to the script itself, and does an update then.
  • Bugfix: when using FileChucker with your own custom form field code, sometimes FileChucker would fail to see some of your file input fields, if you had a screwy form where the fields had duplicate names.

v4.99 (20140311):

  • New enable_folder_passwords feature, which will likely have multiple uses in the future, but currently allows you to set folder-wide passwords that override any per-file passwords on files within that folder.
  • New groups_allowed_to_bypass_perfile_passwords feature, to allow any group(s) you choose to download files without needing the passwords, whereas previously only admins could do this.
  • New treat_sendmail_closing_error_as_failed_delivery setting, required on some servers where sendmail doesn't act quite right so we couldn't tell for sure whether a message had been successfully sent.
  • We now automatically internally disable the multidownload feature when the per-file password feature is enabled, rather than requiring it to be manually disabled, since multidownload would bypass any per-file passwords.
  • New Test Email Sending link on the admin menu, for easier access to the ?do_email_test page.
  • The email test page has been greatly improved, with a more detailed explanation of which delivery methods were tried, which prefs need to be adjusted in the event of a failed delivery, notes about required Perl modules and SMTP auth, and where to find more help.
  • We're now using the mysql_auto_reconnect feature again, after a longstanding bug in that Perl module was apparently fixed, meaning we no longer have to rely on our own internal workaround for dropped MySQL connections, which is good since it only worked about 99% of the time -- it was still possible for a dropped connection to cause an error that we couldn't detect, if the drop occurred at just the right (wrong) time.
  • Bugfix: when email delivery fails and we retry 2 times before giving up, if all 3 attempts failed, our error message said "attempt 4 of 3" instead of "3 of 3".
  • Bugfix: when using the per-file passwords feature, we would sometimes get stuck in a redirect loop, preventing the file from downloading.

v4.98 (20140224):

  • Re-organized the prefs file to move shared prefs (mostly styling and text strings) to a single section, to make multi-app installations easier to configure.
  • Bugfix: on Apache/Windows servers, our uploaded_files_dir was sometimes set incorrectly.

v4.97 (20140210):

  • Nicer, quicker delete function: deleting files/folders is now done via AJAX, so the page does not have to be reloaded afterwards.
  • The nice short ?show URLs introduced in the previous update are now used in more (most) of FileChucker's internally-generated links.

v4.96 (20140126):

  • New ?show=foo URL variable for nicer URLs.  Previously, where you would have had www.example.com/upload/?action=listfiles&path=foo, the URL is now www.example.com/upload/?show=foo.  It works for files too: instead of www.example.com/upload/?action=viewer&path=foo&file=bar.jpg, you can use www.example.com/upload/?show=foo/bar.jpg.
  • New enable_perfile_passwords_via_filelist feature, allowing you to set per-file passwords on previously-uploaded files (which will then be required of anyone trying to view/download the file), in addition to the previously-available per-file passwords feature where the password is set during upload, which is also still available.
  • New groups_allowed_to_view_2nd_level_of_download_page.  This can be used in conjunction with the groups_allowed_to_view_top_level_of_download_page and groups_allowed_to_view_download_page features to create "public" yet relatively secure download folders.  For example, if you set groups_allowed_to_view_download_page to public, but set the top_level and 2nd_level prefs to admin, then the only way a member of the public can view anything is if it's in a very specific subfolder whose address you intentionally give to him.  E.g. if you have /upload/files as your default upload/download location, then create /upload/files/private and /upload/files/private/JohnnyExample-YYYYMMDD-C29A4BD1E3, then you could send Johnny the link to the JohnnyExample-YYYYMMDD-C29A4BD1E3 folder and he could access it, yet he couldn't access the parent folder ("private/") nor any other subfolders (because he wouldn't know their names without guessing or brute-forcing it, which, for such long folder names, would be impractical).
  • New nicer-styled emails by default instead of plain-text emails, and new email_wrapper_head and email_wrapper_foot prefs to easily apply this style to any app-generated emails, and easily tweak it.
  • New static_css_url and static_js_url settings, and a new feature that creates and updates them automatically, so that embedding FileChucker into a page in your website is easier and loads faster.
  • New enable_targeted_autodelete feature, to allow auto-deletion of files and/or folders based on arbitrary rules including pattern matching, specific subfolders, age, etc.
  • New enable_comments_on_folders feature, in addition to the previously-available file comments feature, so visitors (or just you) can leave comments on folders in addition to files.
  • New script_redirect and custom redirect features for the file_links_in_*_go_to settings, for more flexibility in specifing how your download links work and where they go.
  • The options menu on the download page is now a little nicer, with tighter text and a drop shadow.
  • The are-you-sure-you-want-to-delete-this prompts on the download page now include the name of the file/folder in question.

v4.95 (20131126):

  • New mail-retry feature, so that when we try to send an email but it fails, we'll automatically retry 2 times right away.  Of course this can't overcome sending errors that are due to a misconfiguration of your prefs, but it helps greatly whenever there's a temporary glitch with a mailserver, which happens surprisingly often.
  • New $PREF{log_all_sent_mail} feature, including a viewer so you can browse all the mail sent by FileChucker.  Helpful for debugging mail-sending problems, or if you just like to keep a log of all outgoing mail.
  • FileChucker's internal mail-sending function now allows the To: parameter to be a list of multiple recipients, which means in any pref/feature where you specify a recipient email address, you can now include multiple recipients (of course many such prefs/features already supported this in a different way, but now it works for all emails).
  • Bugfix: the create_resized_copies_of_uploaded_images feature, when set to use relative pathnames, would ignore any specified subdirectory on the upload when creating the copies; now it mirrors the upload subdir into the copy directory.
  • Bugfix: enabling skip_database_table_creation on an installation that had been updated from a previous one would result in wrong table names being used (no data would be lost, but you'd be using new empty tables because their names would be different).

v4.94 (20131026):

  • Performance boost: decreased the number of iterations in the expand_custom_vars_in_prefs___inner sub (used for allowing prefs to be set with values of other prefs, i.e. nested) in a way that can cut a few hundred MS off our execution time without any other effect on the app.
  • Performance boost: new skip_database_table_creation pref, which can speed up load time quite a bit depending on your server and database server, since technically we only need to check/create the tables the first time we run and once after each update.
  • Improved blocking of XSS attack attempts (of course most browsers now block such attacks at the browser-level anyway).
  • New max_file_size_for_public, _members, and _admins settings, similar to the existing sizelimit_for_public (etc) settings, except per-file instead of per-upload.
  • New runtime-alert feature ($PREF{runtime_emailalert_time_limit}), to send you email alerts when FileChucker's runtime exceeds a certain number of seconds.  This can alert you to problems such as server overload, corrupt uploaded files, or any other issue that might cause the app to take too long to run.  There's a separate setting for uploads ($PREF{runtime_emailalert_time_limit_for_uploads}) since those will often take longer for large files, and which isn't a problem in that case.
  • New encodable_app_template_static_css and _js prefs, for use with the encodable_app_template_file feature, for improved performance when using the template (avoiding 2 calls to the script by using static files instead).
  • Reorganized email prefs and improved their documentation.
  • New $PREF{webmaster_email_address} and $PREF{app_email_address} settings to serve as defaults for other email prefs.
  • New enable_database_connection setting, for situations where you're using custom code that requires a database, but aren't using any of FileChucker's built-in database-using features, which would enable the database connection automatically.
  • New max_image_dims_to_resize setting, which causes FileChucker to skip resizing images (e.g. for thumbnails) that are very large in terms of their resolution (but not necessarily large in file size, which the existing max_image_size_to_resize setting would catch), since trying to resize such images can quickly consume all of the server's RAM.
  • New static_hostname setting, for servers on networks where there are long delays for hostname lookups, which would previously cause FileChucker to take a long time to load, since it had to wait for the lookup.  Now you can manually set your hostname and skip the lookup.
  • New code to check for invalid/non-standard/otherwise-screwy remote IP addresses and fix them when possible.
  • New code to set UserBase's table names automatically, rather than from the userbase_prefs.cgi file, for installations that are integrated with UserBase.
  • Removed note about 7-Zip from the error message we show when a multi-file download fails due to the zip file not existing (the note is for Windows users and explains that they'll need to install a zip command such as the one from Info-ZIP or 7-Zip, but it appears current versions of 7-Zip don't work when called this way).
  • Various small improvements to our database-viewer pages.
  • Bugfix: when using the $PREF{admin_user_present} setting (not used by default nor in most installations) and setting it to '%ENV{PHP_ENC_ISADMIN}' as suggested in the prefs file, it would always evaluate to true, because of a bug in the way we were interpolating the %ENV vars.  This bug would also apply to any other prefs set to strings containing only a single (undefined) %ENV variable, but there aren't any other such prefs by default.
  • Bugfix: we no longer set the PATH env var to a sane Linux/Unix value if we're running on a Windows server.
  • Bugfix: in some error cases we displayed a vague "Message expired" error; now we'll display more about what really went wrong.
  • Bugfix: the Upload Complete page's "Return to upload page" link would be a broken link (missing a question-mark) in some rare cases.
  • Bugfix: when using a filechucker_prefs_extra.cgi file (which isn't used by default), and changing certain $PREF{upload_email_template_for_*} email settings within it, those settings would be ignored, with the default versions of the prefs from the main prefs file used instead.
  • Bugfix: we now use Javascript to add the 'multiple="multiple"' attribute to the file upload fields (which is what tells the browser to enable the multi-files-within-one-element feature) instead of having it there in the HTML code by default, to appease the validator.  As a consequence there is also a new allow_multiple_files_in_one_element pref for the rare case where you'd want to disable this feature.
  • Bugfix: moved the onload for the upload progress bar from HTML to Javascript to appease the validator.
  • Bugfix: minor and inconsequential change to a comment within our CSS to appease the validator.
  • Bugfix: replaced a few ampersands with their HTML equivalents to appease the validator.

v4.93 (20130831):

  • Small prefs change: added note to the top of the file pointing out that most prefs are optional and can be left at their default values.

v4.92 (20130510):

  • Bugfix: the previous update caused a syntax error on older versions of Perl, so rolling it back for now.

v4.91 (20130505):

  • New use_unicode_in_sql_safety_checks feature, necessary on some servers with some languages.

v4.90 (20130429):

  • New comments feature, allowing visitors to post comments on previously-uploaded files.  Useful in situations where you're using FileChucker as a photo album, or for receiving notes from your clients on their uploaded files, or for sending notes to clients regarding their uploaded files, etc.  Includes email notification of new comments, and optional admin moderation of new comments.  See $PREF{enable_comments}.
  • New uploaded_files_dir___admin setting, for rare situations where you've got the normal uploaded_files_dir being set via some kind of user variable, and you want to specify a different directory for admin (non-user) access.
  • New admin_user_present setting for when integrating with a third-party login system, as another way to signify admin presence.
  • FileChucker can now display in-page preview images for TIFF files, by creating JPG previews of them, since most browsers can't display the TIFF format.

v4.89 (20130129):

  • The $PREF{encodable_app_template_file} feature no longer requires that you put the %%css%% and %%js%% variables in your template file; we'll just automatically insert our CSS and JS either right after the <head> tag, or right before the </head> tag.
  • New $PREF{force_nocache_on_all_output} setting, required only on rare goofy servers that automatically cache our app output on the *server* side.
  • New code to block potential XSS attacks.
  • Bugfix: formfields excluded from the upload form via the $PREF{formfield_NN_only_for_these_groups} setting were still being included in notification emails; now they're excluded there too.

v4.88 (20120919):

  • New $PREF{use_NetSMTP_for_email} setting, needed only for a small percentage of (cranky) email servers.
  • For upload notification emails, you can now specify a Reply-To address, in addition to a From address.
  • If you're using the $PREF{encodable_app_template_file} feature (which is basically an alternate way to do an embed), you can use the new $PREF{encodable_app_template_replacement_001} settings to specify text to be replaced within the template file, e.g. replacing a standard header image with a different one for each logged-in user.
  • New rawname URL variable for the Upload Complete page (and stored in the upload info table if enabled), to access the filename as submitted before we applied any of your specified modifications.
  • New $PREF{email_link_on_options_menu___folder} setting, to easily email a link to any folder on your download page.

v4.87 (20120806):

  • New multi-item move feature: heretofore you could only move files and folders one at a time; now you can use the checkboxes and the Actions Menu at the bottom of the downloads page to move multiple files/folders at the same time.
  • New $PREF{preview_videos_in_viewer_mode} setting, so that in the preview/slideshow viewer, where images are shown as web-sized versions with links to the full version, videos are now shown the same way (as opposed to just showing a link to the video file, as we do for non-previewable file types like text files).
  • New $PREF{enable_username_from_cgi_script} feature.
  • New $PREF{title_text} setting to specify the title that appears in places where HTML isn't allowed, such as the browser's title bar.
  • New settings $PREF{file_upload_field_N_is_required} (where N is 2, 3, 4, etc) for installations with multiple required file fields.
  • New setting $PREF{disable_upload_iframe_for_these_user_agents}, to work around bugs in particular browsers.
  • For drop-down form fields populated from SQL queries, the allowed query format is more flexible (e.g. allowing SELECT DISTINCT in addition to just SELECT).
  • New $PREF{formfield_NN_maxlength} feature, to limit the length of input values in single-line form fields.
  • New $PREF{hide_filenames_in_filelist} feature, used for example when all your uploaded files are images or videos and thus will have thumbnails, and you want just that small image displayed with no text.
  • New $PREF{hide_parent_folder_link_in_file_list} setting.
  • Removed all the old style/theme code, CSS, and prefs (e.g. $PREF{light___filelist_row_hover_bgcolor}) in favor of a new simpler system with just two themes: light and dark.
  • Removed the $PREF{enable_individual_item_viewer_mode} setting (it had actually been ignored since v4.66 in favor of the new file_links_in_ settings in that version).
  • New $PREF{database_tablename_prefix} setting (defaults to "fc_"), for sites with multiple FileChucker installations where you want to use separate database tables for each one.
  • Renamed $PREF{file_and_dir_info_table} to $PREF{pathinfo_table}, and changed its default value from "file_and_dir_info" to "pathinfo".
  • New $PREF{extra_sql_safe_characters} setting, in case you want to allow other characters to be stored in your database than the ASCII ones that FileChucker allows by default.
  • New $PREF{static_error_message} setting, in case (after you've got FileChucker all installed and configured) you want any error to display a simple static message (e.g. "Server Error") instead of a detailed error message.
  • New $PREF{server_handles_ip_addresses_incorrectly} setting, for servers that don't provide accurate/consistent identification of client IP addresses via environment variables.  This is unnecessary on 99% of servers, and it only affects certain error/confirmation messages that the app generates: normally we restrict these based on logged-in status, or IP address, but with this setting enabled, we'll allow the message to be shown with no restriction, but we'll also auto-expire it quickly to minimize the (already remote) chance that the message could be viewed by someone other than the visitor who generated it.
  • New $PREF{always_show_details_for_move_and_copy_operations} setting: normally we only display a results page for these operations if an error occurs, but with this setting we'll show the list of items successfully moved/copied.
  • Various CSS tweaks.
  • Reorganized some of the sections at the end of the prefs file.
  • We now support the Digest::SHA module, in addition to Digest::SHA1, for servers where the latter isn't installed.
  • New %QS hash to allow you to use variables from the URL's query-string within your prefs file (e.g. "%QS{foo}" will turn into "bar" if ?foo=bar is passed on the URL).
  • We now specify accept-charset="UTF-8" on our <form>s, which should resolve some internationalization issues.

v4.86 (20120416):

  • Simplified the embedding process so that the $PREF{print_full_html_tags} setting is no longer required.  Now when FileChucker is embedded within a different page, the full filechucker.cgi URL will continue to work properly as well.

v4.85 (20120404):

  • Now supports integration with CornerStore, so you can easily sell products and services based on the uploaded files in FileChucker.
  • Prefs added:
    groups_allowed_to_view_buy_links_db
    groups_allowed_to_edit_buy_links
    groups_allowed_to_create_buy_links
    groups_allowed_to_delete_buy_links
    integrate_with_cornerstore
    show_buy_column_in_filelist
    cornerstore_cgi_location
    cornerstore_buy_link_separator
    cornerstore_item_table_list
    cornerstore_buy_link
    file_and_dir_info_table

v4.84 (20120325):

  • For uploads containing multiple files and per-file form fields, there is now a link to auto-fill the form fields using the values from the fields on the previous file.
  • We now use accept-charset="UTF-8" on the upload form, which should allow unicode characters in form fields to be processed correctly.
  • Replaced $PREF{path_to_filelist_images} with $PREF{app_images_url} for standardization across multiple apps.
  • When server write-caching prevents the upload progress bar from working properly, the message displayed is more end-user friendly.
  • New $PREF{static_error_message} setting, in case you want to hide all real error messages and show a more generic/short/friendly error instead.
  • New $PREF{always_use_nonforking_code_when_sending_email} setting, which can help work around email issues on screwy servers.
  • Bugfix: sometimes a spurious "couldn't rmdir (delete) directory" would be displayed (when FileChucker was cleaning up old files/folders) because of the way we were checking for empty directories.
  • Bugfix: when using the custom folder permissions feature, any permissions set on the very top level (/) would fail to show up as inherited permissions when viewing the levels below it (though the actual permissions were still enforced correctly).
  • Prefs added:
    app_images_url
    always_use_nonforking_code_when_sending_email
    static_error_message
  • Prefs removed:
    path_to_filelist_images

v4.83 (20120130):

  • New $PREF{extra_header_output} to allow you to include a custom favicon, or to integrate with VisitorLog, etc.
  • You can now pass ?dirlist=foo on the URL to the upload page, to hide any folders in the "Upload to:" drop-down field (if enabled) that don't match foo.
  • New $PREF{enable_username_from_environment_variable} feature, which is just what it sounds like, for integration with non-UserBase login systems.
  • New $PREF{subgroup_*} settings (see below) to enable more fine-grained control over folder permissions when using UserBase's subgroup manager feature.
  • When using $PREF{store_upload_info_in_database}, there are now two new fields stored by default: rawname and extension.  rawname is the original filename from the client, before any serialization or $PREF{reformat_filenames_for_all_uploads} options, etc, are applied.
  • New $PREF{debuglog} setting to make debugging easier, especially on servers without decent built-in error logs, or where the host won't let you access the error log.
  • Bugfix: if you added more than 99 form fields to the upload form, only the first 99 would work properly.
  • Prefs added:
    enable_username_from_environment_variable
    username_envvar_name
    subgroup_owned_users_have_same_folder_perms_as_their_subgroup_manager
    subgroup_owned_users_can_read_the_userdir_of_their_subgroup_manager
    subgroup_owned_users_can_write_the_userdir_of_their_subgroup_manager
    hide_toplevel_userdir_shortcut_for_subgroup_owned_users
    extra_header_output
    debuglog

v4.82 (20111026):

  • New $PREF{show_myaccount_link} setting for when integrated with UserBase; this is in addition to $PREF{show_login_link}, which is now a dedicated login/logout link (in previous versions, it changed to a My Account link when integrated with UB).

v4.81 (20111026):

  • New method for detecting when the upload is complete in the iframe, which eliminates a ~1-2 second delay at the end of uploads before the Upload Complete message is displayed, and which also allows us to detect and display any server errors that occur during an upload.
  • We now cache any environment variables received from PHP, so that we're able to use them during POSTs (e.g. uploads).
  • The get_userdir_from_username and get_userdir_from_email prefs have been replaced by enable_userdir_from_login_system and userdir_template, which now also supports including the user's email address and user ID within the userdir value.
  • New $PREF{uploadbutton_id} setting, for situations where you're integrating with an existing complex form where it'd be a hassle to change the CSS ID of the upload button, so you can adjust it in FileChucker instead.
  • New $PREF{ignore_image_resizing_errors} setting, to suppress errors during thumbnail generation, which, on a server with a properly-functioning image module/library, are generally only caused by the occasional corrupt image file, which we can't do anything about anyway, so displaying an error is largely pointless.
  • New $PREF{css_shared} setting, for CSS that is common to multiple Encodable apps.
  • Bugfix: on some servers, small uploads and/or slow connections result in the write-caching error being displayed when it doesn't actually apply, so we now wait until we're at least a few seconds into the upload before displaying it.
  • Bugfix: on some servers, at the end of an upload, the upload size would appear to revert to a very small value, causing the time displays on the upload progress table to freak out; we now ignore any decreasing values for the size, so this issue no longer occurs.
  • Bugfix: with custom folder permissions enabled, viewing the permissions would result in an error on Windows servers.
  • Prefs added:
    enable_userdir_from_login_system
    userdir_template
    uploadbutton_id
    ignore_image_resizing_errors
    css_shared
  • Prefs removed:
    get_userdir_from_username
    get_userdir_from_email

v4.80 (20111006):

  • Bugfix: when using the human test (aka CAPTCHA) feature, we'd eventually display an error when auto-deleting the old human test images, because of an incomplete directory check.

v4.79 (20111005):

  • Bugfix: when deleting a directory, we would display a MySQL error if custom folder permissions were not enabled.

v4.78 (20110929):

  • We now include the version number in the prefs file too, to make things easier for those with multiple installations, and during updates/moves, etc.

v4.77 (20110901):

  • Changelog coming soon.

v4.76 (20110715):

  • Changelog coming soon.

v4.75 (20110609):

  • New $PREF{show_keep_me_logged_in_checkbox_on_login_page} setting, in case you want to disable that checkbox, which was previously always shown.
  • New $PREF{ignore_chosen_subdir_during_upload_if_new_subdir_entered} setting, for situations where you want any new subdirs to be forced into the top level, instead of inside an existing subdir.
  • Bugfix: we were failing to store upload info into the database for file-less form submissions (if both of those option were enabled).

v4.74 (20110501):

  • Changelog coming soon.

v4.73 (20110326):

  • Changelog coming soon.

v4.72 (20110321):

  • Bugfix: when integrated with UserBase, and pulling the login_url value from the UserBase prefs file, we'd set it to the wrong value if it was still set to the default of $ENV{SCRIPT_NAME} (setting it to filechucker.cgi instead of userbase.cgi).

v4.71 (20110319):

  • Bugfix: the pagination links on the filelist page were supposed to be hidden when they weren't needed (i.e. when the number of items is less than your num-items-per-page setting), but that wasn't happening.
  • Bugfix: the filelist page was displaying a "Buy" header (which is part of an upcoming feature still under development) when it shouldn't have been.

v4.70 (20110313):

  • When integrated with UserBase, FileChucker can now set its own login_url pref from UserBase's prefs file.
  • More changelog items coming soon.

v4.69 (20110126):

  • We now reject form submissions without files (unless you've specified to allow such submissions) on the server-side as well as the client side, to stop spambots that POST directly to the script without using the frontend.
  • Bugfix: a change in the previous version contained a bug that resulted in spurious permissions errors when not using custom folder permissions.

v4.68 (20110123):

  • Changelog coming soon.

v4.67 (20101231):

  • Changelog coming soon.

Older Changelog Items

Shopping Cart

Client Quotes

I just wanted to say that yours is the first product that I've tested so far that hasn't failed on handling uploads.  This is going to work for a print company, so they are handling nothing but large files and all the other solutions I've tried so far have not been reliable.  So far yours has been 100% successful in my tests.
– Kevin H.
You've done a wonderful job with FileChucker and UserBase, and they have made a big difference to how our website runs.
– Nicholas H.
FileChucker is a great drop-in solution for file uploads, and worth every penny of its very reasonable cost.  Encodable's support is excellent to boot.
– Loren A.
FileChucker is helping drive the backend of several high profile entertainment sites for people like Shania Twain and Dolly Parton.  We're also using it to drive backend file uploads for a multi-billion dollar banking institution.  It's a great product.  We've tried other "chucking" upload solutions with progress bars using flash and php, but nothing works as reliably as FileChucker.
– Michael W.
Why didn't I just do this from the get-go?  So much easier.  Thanks for your work.  FileChucker makes my work easier.
– Dominic M.
Nice script, it's saving the day on our project.
– Aaron W.
I looked all over trying to find a simple cgi script.  I found that FileChucker was by far the best.  If you have issues with your hosting service's php.ini max upload size then this is the way to go.  Looking forward to future enhancements.
– Bob C.
I want to thank you for your efforts on Userbase. It has become an integral part of our business and has allowed us to branch out and begin using automation on a lot of our processes. Userbase has become the gateway to advancement for our company's processes for our clients and employees.
The amount of customization in the program is incredible.  I was able to integrate it into my existing page layout relatively simply.  I was also able to easily customize the look/feel to match the current site.
– Jason M.
Thank you VERY much for all of your help.  You've really impressed me.  We have support agreements for other software that costs thousands of dollars / year (just for the support), and most of them aren't as helpful as you have been.
– Keith Y.
I just installed the demo of your product and got it up and running in no time.  I searched high and low for a decent login script and thank God I found yours.
– Adrian F.
I just want to say you guys really stand alone in that you have a quality product and you provide genuine customer service.  It's sad but those qualities are seldom found separately, much less together.  Thanks again for your time and help.
– Alex S.
FileChucker is working great...  Clients love it.  Vendors love it.  We love it.
– Gerry W.
Just one word: Fantastic.  10-minute job to plug FileChucker into my app, and it now works a treat.  It's through the hard work by people like yourselves that make my job so much easier.  Congratulations on an outstanding product... Many many thanks.
– Sean F.
The work, the thought and the organization you put into this app is incredible.
– Bruce C.
Our members think your software is fantastic...  I would recommend your software and your company to anyone.  Thanks for all your help.  It has been a pleasure dealing with you.
– Tommy A.
Thanks again for a great product and great support - beyond expectations.
– Greg S.
Do you know how rare it is to have a "canned" shopping cart that can easily do complex pricing options on a single item?  Basically, they don't exist!  I have looked.  Everywhere!  And the few that might even come close to CornerStore's functionality cost a fortune!
– Tashina P.