+ }
+
+ // Use the basename of the given file without the extension as the name for the temporary directory
+ $temp_filename = basename( $filename );
+ $temp_filename = preg_replace( '|\.[^.]*$|', '', $temp_filename );
+
+ // If the folder is falsey, use its parent directory name instead.
+ if ( ! $temp_filename ) {
+ return wp_tempnam( dirname( $filename ), $dir );
+ }
+
+ // Suffix some random data to avoid filename conflicts
+ $temp_filename .= '-' . wp_generate_password( 6, false );
+ $temp_filename .= '.tmp';
+ $temp_filename = $dir . wp_unique_filename( $dir, $temp_filename );