Urlencode e file_get_contents

Nós temos um URL comohttp://site.s3.amazonaws.com/images/some image @name.jpg dentro$string

O que estou tentando fazer (sim, há um espaço em branco ao redor do URL):

$string = urlencode(trim($string));
$string_data = file_get_contents($string);

O que eu recebo (@ também é substituído):

file_get_contents(http%3A%2F%2Fsite.s3.amazonaws.com%2Fimages%[email protected])[function.file-get-contents]: failed to open stream: No such file or directory

Se você copiar / colarhttp://site.s3.amazonaws.com/images/some image @name.jpg na barra de endereços do navegador, a imagem será aberta.

O que é ruim e como consertar isso?

questionAnswers(2)

yourAnswerToTheQuestion