Make WordPress Core


Ignore:
Timestamp:
11/25/2009 05:04:30 AM (17 years ago)
Author:
azaozz
Message:

Set uploaded files extensions to lower case, fixes #11218

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/functions.php

    r12239 r12274  
    21062106        // separate the filename into a name and extension
    21072107        $info = pathinfo($filename);
    2108         $ext = !empty($info['extension']) ? $info['extension'] : '';
    2109         $name = basename($filename, ".{$ext}");
     2108        $ext = !empty($info['extension']) ? '.' . $info['extension'] : '';
     2109        $name = basename($filename, $ext);
    21102110
    21112111        // edge case: if file is named '.ext', treat as an empty name
    2112         if( $name === ".$ext" )
     2112        if( $name === $ext )
    21132113                $name = '';
    21142114
     
    21192119                $number = '';
    21202120
    2121                 if ( !empty( $ext ) )
    2122                         $ext = ".$ext";
     2121                // change '.ext' to lower case
     2122                if ( $ext && strtolower($ext) != $ext ) {
     2123                        $ext2 = strtolower($ext);
     2124                        $filename2 = preg_replace( '|' . preg_quote($ext) . '$|', $ext2, $filename );
     2125
     2126                        // check for both lower and upper case extension or image sub-sizes may be overwritten
     2127                        while ( file_exists($dir . "/$filename") || file_exists($dir . "/$filename2") ) {
     2128                                $new_number = $number + 1;
     2129                                $filename = str_replace( "$number$ext", "$new_number$ext", $filename );
     2130                                $filename2 = str_replace( "$number$ext2", "$new_number$ext2", $filename2 );
     2131                                $number = $new_number;
     2132                        }
     2133                        return $filename2;
     2134                }
    21232135
    21242136                while ( file_exists( $dir . "/$filename" ) ) {
Note: See TracChangeset for help on using the changeset viewer.