Opened 10 months ago
Closed 10 months ago
#21244 closed defect (bug) (duplicate)
media_sideload_image() should replace spaces and %20's in URLs to dashes
| Reported by: |
|
Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Media | Version: | |
| Severity: | normal | Keywords: | |
| Cc: |
Description
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]);
becomes
$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)
comment:1
SergeyBiryukov — 10 months ago
- Milestone Awaiting Review deleted
- Resolution set to duplicate
- Status changed from new to closed

#16330, #21116