Assuming your "save function" is called emcgfx_save_file()
...
<?php
$file = file_get_contents('http://domain.com/file?b=M%5ea11239b8576126bcb5038dfdb92fasf21&u=http%3A%2F%2Fdomain.com%2Ffile.php%3Fdate%3D09102010');
emcgfx_save_file( $file );
is functionally identical to
<?php
$string = 'http://domain.com/file?b=M%5ea11239b8576126bcb5038dfdb92fasf21&u=http%3A%2F%2Fdomain.com%2Ffile.php%3Fdate%3D09102010';
$file = file_get_contents($string);
unset( $string );
emcgfx_save_file( $file );
If one works, and the other does not, then there's something strange going on. If you try this, and it doesn't solve your problem, try to give us some more info -- for example, when it "doesn't work" what error are you receiving?