25% off ProSNIPC25OFF

Lowercase and Sanitize Upload Filenames

Converts uploaded filenames to lowercase and replaces spaces and special characters with hyphens for cleaner, URL-safe file paths.

PHPby SnipCraft
php
<?php
if ( ! function_exists( 'scseed_sanitize_filename' ) ) {
    function scseed_sanitize_filename( $filename ) {
        $filename = strtolower( $filename );
        // Separate name from extension
        $info = pathinfo( $filename );
        $ext  = isset( $info['extension'] ) ? '.' . $info['extension'] : '';
        $name = $info['filename'];
        // Replace spaces and non-word characters (except hyphens/dots) with hyphens
        $name = preg_replace( '/[^a-z0-9-_]/', '-', $name );
        // Collapse multiple consecutive hyphens
        $name = preg_replace( '/-{2,}/', '-', $name );
        $name = trim( $name, '-' );
        return $name . $ext;
    }
    add_filter( 'sanitize_file_name', 'scseed_sanitize_filename' );
}
#filenames#media#sanitize#seo#uploads