Make WordPress Core

Opened 11 years ago

Closed 3 years ago

#24824 closed defect (bug) (wontfix)

get_attached_file() treats fully qualified URLs as relative

Reported by: tobiaskochsonlinenet's profile tobiaskochsonlinenet Owned by:
Milestone: Priority: normal
Severity: normal Version: 2.7
Component: Media Keywords: dev-feedback has-patch has-unit-tests
Focuses: Cc:


If you call the function get_attached_file() of wp-include/post.php with a fully qualified URL (like "") it will prepend the upload directory.

Checking the file's URI for :// would prevent this.

!preg_match('|^://|', $file)

Attachments (2)

24824.diff (755 bytes) - added by stevenlinx 7 years ago.
tck24824.2.diff (1.7 KB) - added by stevenlinx 6 years ago.
added unit test

Download all attachments as: .zip

Change History (11)

#1 @tobiaskochsonlinenet
11 years ago

Oops, actually the regular expression should read:

!preg_match('|://|', $file)

#2 @SergeyBiryukov
11 years ago

  • Version changed from trunk to 2.7

Related: [8796], [9242].

#3 @chriscct7
9 years ago

  • Keywords dev-feedback added

#4 @stevenlinx
7 years ago

  • Keywords has-patch removed

7 years ago

#5 @stevenlinx
7 years ago

  • Keywords has-patch added

Related: 36308 patch fixes Windows paths and also makes the expression more compact.

This patch, which adds on top of the patch above, also fixes URL paths by prevent an URL from going into the relative path conditional.

6 years ago

added unit test

#6 @stevenlinx
6 years ago

  • Keywords has-unit-tests added

This ticket was mentioned in Slack in #core-media by antpb. View the logs.

3 years ago

This ticket was mentioned in Slack in #core-media by antpb. View the logs.

3 years ago

#9 @antpb
3 years ago

  • Milestone Awaiting Review deleted
  • Resolution set to wontfix
  • Status changed from new to closed

It's currently possible to use the get_attached_file filter to modify the function to use full URLs. With that consideration it was agreed in a recent Media bug scrub through older issues that this is best fit for a plugin (as one of the attendees actually had an example plugin using the filter for this reason.)

Marking this wontfix to keep our open ticket list accurate to component goals.

Note: See TracTickets for help on using tickets.