File tree Expand file tree Collapse file tree 2 files changed +25
-5
lines changed
Expand file tree Collapse file tree 2 files changed +25
-5
lines changed Original file line number Diff line number Diff line change @@ -273,19 +273,37 @@ private function getNewName($file)
273273 $ new_file_name = $ this ->helper
274274 ->translateFromUtf8 (trim (pathinfo ($ file ->getClientOriginalName (), PATHINFO_FILENAME )));
275275
276+ $ extension = $ file ->getClientOriginalExtension ();
277+
278+
276279 if (config ('lfm.rename_file ' ) === true ) {
277280 $ new_file_name = uniqid ();
278281 } elseif (config ('lfm.alphanumeric_filename ' ) === true ) {
279282 $ new_file_name = preg_replace ('/[^A-Za-z0-9\- \']/ ' , '_ ' , $ new_file_name );
280283 }
281-
282- $ extension = $ file ->getClientOriginalExtension ();
283-
284284 if ($ extension ) {
285- $ new_file_name .= '. ' . $ extension ;
285+ $ new_file_name_with_extention = $ new_file_name . '. ' . $ extension ;
286+ }
287+ if (config ('lfm.rename_duplicates ' ) === true ) {
288+ $ counter = 1 ;
289+ $ file_name_without_extentions = $ new_file_name ;
290+ while ($ this ->setName (($ extension ) ? $ new_file_name_with_extention : $ new_file_name )->exists ()) {
291+
292+ if (config ('lfm.alphanumeric_filename ' ) === true ) {
293+ $ suffix = '_ ' .$ counter ;
294+ } else {
295+ $ suffix = " ( {$ counter }) " ;
296+ }
297+ $ new_file_name = $ file_name_without_extentions .$ suffix ;
298+
299+ if ($ extension ) {
300+ $ new_file_name_with_extention = $ new_file_name . '. ' . $ extension ;
301+ }
302+ $ counter ++;
303+ }
286304 }
287305
288- return $ new_file_name ;
306+ return ( $ extension ) ? $ new_file_name_with_extention : $ new_file_name ;
289307 }
290308
291309 private function saveFile ($ file , $ new_file_name )
Original file line number Diff line number Diff line change 9494
9595 'rename_file ' => false ,
9696
97+ 'rename_duplicates ' => false ,
98+
9799 'alphanumeric_filename ' => false ,
98100
99101 'alphanumeric_directory ' => false ,
You can’t perform that action at this time.
0 commit comments