$filename = '{site_url}/images/logo.gif';
That won't work!!!! I can't make it any clearer...you can't evaluate template variables inside of a php statement.
You need to give the full system level path to the image. For example:
$filename='/var/www/html/geeklog/public_html/layout/Yahoo/images/logo.gif';
You will need to customize the above for each theme you have on your Geeklog site.
In a world without walls and fences, who needs Windows and Gates?