Make WordPress Core

Opened 3 years ago

Closed 3 years ago

#21244 closed defect (bug) (duplicate)

media_sideload_image() should replace spaces and %20's in URLs to dashes

Reported by: kingkool68 Owned by:
Milestone: Priority: normal
Severity: normal Version:
Component: Media Keywords:
Focuses: Cc:


I wrote a script to import content by scraping the HTML from a site. Yuck! Some of the image file names have spaces in them. DOUBLE YUCK!

I needed to use media_sideload_image() to import them into WordPress' media library. But the only way to successfully download the image is to first replace the space characters with %20. Then WordPress saves the new filename with %20's in them and WordPress multisite's .htaccess rules despise filenames with %20 in them.

Here is how I fixed it:

$file_array['name'] = basename($matches[0]);


$file_array['name'] = preg_replace('/\s|%20/', '-', basename($matches[0]));

Need an image with a space in the filename? Use this http://www.pewforum.org/uploadedImages/Topics/Issues/Social_Welfare/John%20DiIulio2.jpg

Change History (1)

#1 @SergeyBiryukov
3 years ago

  • Milestone Awaiting Review deleted
  • Resolution set to duplicate
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.