Media: Improve handling of extensionless filenames.
This ensures files retain a filename after sanitization. Fixes 37111. Built from https://develop.svn.wordpress.org/trunk@37756 git-svn-id: http://core.svn.wordpress.org/trunk@37721 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
f1dddc6bfb
commit
2bdc11781d
|
@ -1725,7 +1725,8 @@ function remove_accents( $string ) {
|
|||
* operating systems and special characters requiring special escaping
|
||||
* to manipulate at the command line. Replaces spaces and consecutive
|
||||
* dashes with a single dash. Trims period, dash and underscore from beginning
|
||||
* and end of filename.
|
||||
* and end of filename. It is not guaranteed that this function will return a
|
||||
* filename that is allowed to be uploaded.
|
||||
*
|
||||
* @since 2.1.0
|
||||
*
|
||||
|
@ -1750,6 +1751,14 @@ function sanitize_file_name( $filename ) {
|
|||
$filename = preg_replace( '/[\r\n\t -]+/', '-', $filename );
|
||||
$filename = trim( $filename, '.-_' );
|
||||
|
||||
if ( false === strpos( $filename, '.' ) ) {
|
||||
$mime_types = wp_get_mime_types();
|
||||
$filetype = wp_check_filetype( 'test.' . $filename, $mime_types );
|
||||
if ( $filetype['ext'] === $filename ) {
|
||||
$filename = 'unnamed-file.' . $filetype['ext'];
|
||||
}
|
||||
}
|
||||
|
||||
// Split the filename into a base and extension[s]
|
||||
$parts = explode('.', $filename);
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
*
|
||||
* @global string $wp_version
|
||||
*/
|
||||
$wp_version = '4.6-alpha-37755';
|
||||
$wp_version = '4.6-alpha-37756';
|
||||
|
||||
/**
|
||||
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
||||
|
|
Loading…
Reference in New Issue