[wp-trac] [WordPress Trac] #16330: media_sideload_image() broken with URLs containing spaces
WordPress Trac
wp-trac at lists.automattic.com
Mon Feb 28 14:11:45 UTC 2011
#16330: media_sideload_image() broken with URLs containing spaces
--------------------------+-----------------------
Reporter: Coolkevman | Owner:
Type: defect (bug) | Status: reopened
Priority: normal | Milestone:
Component: HTTP | Version: 3.1
Severity: normal | Resolution:
Keywords: |
--------------------------+-----------------------
Changes (by Coolkevman):
* keywords: reporter-feedback =>
* status: closed => reopened
* resolution: invalid =>
Comment:
Replying to [comment:5 hakre]:
> As sivel wrote, URLs containing spaces are considered invalid. That's by
the standards, so not a wordpress issue.
Thanks for this clarification. From now on I'll assume URLs with spaces
are invalid and should be expressed with percent encoding.
> However as you wrote you might still have a related problem.
>
> To further test, please replace the spaces inside the URL with %20
(that's the proper way how to write a space inside a URL) and try to fetch
that file.
Yes, that's exactly what I've done as a second test in my original bug
report. That's the part when I use these PHP statements:
{{{
$img_url = str_replace(' ', '%20', html_entity_decode($img_url));
$new_tag = media_sideload_image($img_url, $post_id);
}}}
I just retried this test with the latest WordPress 3.1 (the final release,
not the RCs) and it still have the same behaviour (look at my screenshots:
http://twitpic.com/3s0ets and http://twitpic.com/3s0hup ).
> If this does not work, you need to find out which error it is returning
and you need to find out which transport you're using. To reduce noise,
you can install a plugin like
[http://core.trac.wordpress.org/attachment/ticket/11499/11499-curlforce.php
11499-curlforce.php] that will enforce the use of curl for debugging
purposes, so the curl based transport will be always used.
I just tried to use this plugin. It complained of missing Curl. So I just
installed the {{{curl}}} and {{{php5-curl}}} package (I'm using kubuntu
10.10) and restarted my Apache to have it work.
Then I've redone my tests (the one replacing spaces by {{{%20}}}) and I
still have the exact same error.
Now I think the problem lies somewhere in remote downloading code of
WordPress, when it first download the remote file to a temporary location
before moving it to the {{{uploads}}} folder. That's just a guess, I still
have to find hard evidences in the code...
--
Ticket URL: <http://core.trac.wordpress.org/ticket/16330#comment:7>
WordPress Trac <http://core.trac.wordpress.org/>
WordPress blogging software
More information about the wp-trac
mailing list