[wp-trac] [WordPress Trac] #42437: Thumbnails can overwrite other uploads if filename matches
WordPress Trac
noreply at wordpress.org
Wed Dec 4 22:21:20 UTC 2019
#42437: Thumbnails can overwrite other uploads if filename matches
--------------------------+-----------------------
Reporter: Viper007Bond | Owner: pbiron
Type: defect (bug) | Status: assigned
Priority: normal | Milestone: 5.3.1
Component: Upload | Version: 4.8.3
Severity: normal | Resolution:
Keywords: needs-patch | Focuses:
--------------------------+-----------------------
Comment (by pbiron):
Replying to [comment:36 azaozz]:
> Replying to [comment:35 pbiron]:
>
> > The revised patch:
> >
> > 1. Adds a number to any file that could cause a collision with sub-
sizes.
> > 2. Then, it does the same collision detection that has always existed.
> > 3. An finally, it checks collisions with existing files (e.g., sub-
size files uploaded before the patch was applied). That last check
addresses [https://core.trac.wordpress.org/ticket/42437#comment:18
@blobfolio]'s comment.
>
> Sounds good. I'm still a bit unsure about 1, but it seems like a good
"preventive" mechanism. It means that when an image like `picture-
scaled.jpg` is uploaded, it will be renamed to `picture-scaled-1.jpg`.
Then when generating the sub-sizes there will be `picture-
scaled-1-scaled.jpg`, `picture-scaled-1-300x200.jpg`, `picture-
scaled-1-1024x768.jpg`, etc.
1 was your idea :-)
> Also perhaps replace uses of `array_filter()` with a callback with a
simple `foreach`? The difference is `array_filter()` will run through the
whole array no matter what, then return the filtered array. A callback can
return as soon as a match is found. Will try to test this with different
array lengths to see which is better/faster.
Not sure what you mean by "callback" in this context. But, yes, could
probably be sped up...especially when `get_option(
'uploads_use_yearmonth_folders' )` returns false.
--
Ticket URL: <https://core.trac.wordpress.org/ticket/42437#comment:37>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list