Ваш пример не работает, потому что вы заменяете 'logo1.jpg' на 'logo2.jpg' в строке 'footer.php'. Результатом замены по-прежнему является «footer.php», и вы просто включаете файл с именем, совпадающим с вашей строкой.
Если вам действительно нужно заменить строку в php-файле и выполнить ее впоследствии, вы можете сделать что-то вроде этого:
$file = file_get_contents('footer.php');
$file = str_replace('logo1.jpg', 'logo2.jpg', $file);
eval($file);
Но есть лучшие способы добиться того, чего вы хотите (см., Например, ответ Джонатана Фингланда).