Media Auto Hash Rename

0

Media Auto Hash Rename will rename any file (specific files can be ignored by file extension) during upload, with unique, low collision hashes. Hash characters and length can be configu

Version
Last updated
Active installations
WordPress Version
Tested up to
Rating
Total ratings
Tag
This plugin is outdated and might not be supported anymore.

Description

Media Auto Hash Rename will rename any file (specific files can be ignored by file extension) during upload, with unique, low collision hashes. Hash characters and length can be configured for even lower collision rate.

More information please visit my site.

This plugin provides no configuration GUI to make it more easier to maintain with the future WordPress updates.

Currently there’re 3 constants you can configure in your wp-config.php, I recommend WP-CLI for maintaining these constants.

  • MAHR_LENGTH: length of the random hashes, (default to 8), longer can help reduce collision. Hashes at the length of 8 can be collision-free at the scale of 50,000 images).
  • MAHR_CHARS: Characters used in hashes, default to 0123456789abcdefghijklmnopqrstuvwxyz_, You can add more characters like uppercased alphabelts to dramatically reduce the collision without increasing the length of your filenames. But please note that this option can be dangerous if you’re not familer with general URI encoding. So if you don’t know what characters are allowed in a filename, just keep it untouched and use the default option.
  • MAHR_IGNORE: File extensions to be ignored, default to pdf, zip, you can define a comma delimited list of file extensions to bypass renaming process of this plugin. All files that has the file extension you defined in the list will be ignored. Please note that:
    • File extensions must be defined without the leading peroid, for example: 'pdf, 7z, bmp' works, '.pdf, .7z, .bmp' does not.
    • With ('pdf, zip') or without ('pdf,zip') space both work.
    • If you define your own ignore list, default ignore list will be discarded. For example, if you define '7z', then 'pdf, zip' will be processed during upload. You need to reapply these extensions with your own: '7z, pdf, zip'.
    • If you don’t need to ignore any files by its extension. define an empty array [] (without quotes) to this option: define( 'MAR_IGNORE', [] ); to force process PDF and ZIP files.