From 49d95f21c1e58b836c132f75b18f172b8a6fa542 Mon Sep 17 00:00:00 2001 From: Ryan Boren Date: Tue, 18 Dec 2007 03:32:43 +0000 Subject: [PATCH] unique filename fixes from tellyworth. fixes #5482 git-svn-id: https://develop.svn.wordpress.org/trunk@6401 602fd350-edb4-49c9-b593-d223f7449a82 --- wp-admin/includes/file.php | 2 +- wp-includes/functions.php | 13 +++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/wp-admin/includes/file.php b/wp-admin/includes/file.php index 2a2908b899..cc09c7503c 100644 --- a/wp-admin/includes/file.php +++ b/wp-admin/includes/file.php @@ -147,7 +147,7 @@ function wp_handle_upload( &$file, $overrides = false ) { if ( ! ( ( $uploads = wp_upload_dir() ) && false === $uploads['error'] ) ) return $upload_error_handler( $file, $uploads['error'] ); - $filename = wp_unique_filename( $uploads['path'], $file['name'], $ext, $unique_filename_callback ); + $filename = wp_unique_filename( $uploads['path'], $file['name'], $unique_filename_callback ); // Move the file to the uploads dir $new_file = $uploads['path'] . "/$filename"; diff --git a/wp-includes/functions.php b/wp-includes/functions.php index 74d10c90bb..29bffda90b 100644 --- a/wp-includes/functions.php +++ b/wp-includes/functions.php @@ -1064,7 +1064,12 @@ function wp_upload_dir( $time = NULL ) { } // return a filename that is sanitized and unique for the given directory -function wp_unique_filename( $dir, $name, $ext, $unique_filename_callback = NULL ) { +function wp_unique_filename( $dir, $filename, $unique_filename_callback = NULL ) { + + // separate the filename into a name and extension + $info = pathinfo($filename); + $ext = $info['extension']; + $name = basename($filename, ".{$ext}"); // Increment the file number until we have a unique file to save in $dir. Use $override['unique_filename_callback'] if supplied. if ( $unique_filename_callback && function_exists( $unique_filename_callback ) ) { @@ -1103,12 +1108,8 @@ function wp_upload_bits( $name, $deprecated, $bits, $time = NULL ) { if ( $upload['error'] !== false ) return $upload; - - $filename = $name; - $path_parts = pathinfo( $filename ); - $ext = $path_parts['extension']; - $filename = wp_unique_filename( $upload['path'], $path_parts['basename'], $ext ); + $filename = wp_unique_filename( $upload['path'], $name ); $new_file = $upload['path'] . "/$filename"; if ( ! wp_mkdir_p( dirname( $new_file ) ) ) {