Urlencode y file_get_contents

Tenemos una url comohttp://site.s3.amazonaws.com/images/some image @name.jpg dentro$string

Lo que estoy tratando de hacer (sí, hay un espacio en blanco alrededor de la url):

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

Lo que consigo (@ también se reemplaza):

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

Si copia / pegahttp://site.s3.amazonaws.com/images/some image @name.jpg En la barra de direcciones del navegador, la imagen se abrirá.

¿Qué es malo y cómo solucionarlo?

Respuestas a la pregunta(2)

Su respuesta a la pregunta