$sanitizer->filename() method

Name filter for ProcessWire filenames (basenames only, not paths)

This sanitizes a filename to be consistent with the name format in ProcessWire, ASCII-alphanumeric (a-z A-Z 0-9), hyphens, underscores and periods. Note that filenames may contain mixed case (a-z A-Z) so if you require lowercase then run the return value through a strtolower() function.

Example

// outputs: FileName.jpg
echo $sanitizer->filename('©®™FileName.jpg');

// outputs: c_r_tmfilename.jpg
echo strtolower($sanitizer->filename('©®™filename.jpg', Sanitizer::translate));

Usage

// basic usage
$string = $sanitizer->filename(string $value);

// usage with all arguments
$string = $sanitizer->filename(string $value, $beautify = false, int $maxLength = 128);

Arguments

NameType(s)Description
valuestring

Filename to sanitize

beautify (optional)bool, int

Should be true when creating a file's name for the first time. Default is false. You may also specify Sanitizer::translate (or number 2) for the $beautify param, which will make it translate letters based on the InputfieldPageName custom config settings.

maxLength (optional)int

Maximum number of characters allowed in the filename

Return value

string

Sanitized filename


$sanitizer methods and properties

API reference based on ProcessWire core version 3.0.236

Latest news

  • ProcessWire Weekly #523
    In the 523rd issue of ProcessWire Weekly we'll check out what's new in the core this week, share some new module related news, and more. Read on!
    Weekly.pw / 18 May 2024
  • ProFields Table Field with Actions support
    This week we have some updates for the ProFields table field (FieldtypeTable). These updates are primarily focused on adding new tools for the editor to facilitate input and management of content in a table field.
    Blog / 12 April 2024
  • Subscribe to weekly ProcessWire news

“To Drupal, or to ProcessWire? The million dollar choice. We decided to make an early switch to PW. And in retrospect, ProcessWire was probably the best decision we made. Thanks are due to ProcessWire and the amazing system and set of modules that are in place.” —Unni Krishnan, Founder of PigtailPundits