maskman, я так понимаю, не до или после, а вместо
т.е. логика такова
* ты начинаешь буферизацию
последней строкой в head.php: ob_start();
* инклудишь body.php
*
первой строкой в bottom.php: $access ? ob_end_flush() : ob_end_clean(); ты либо пишешь буфер в поток, если доступ дан (ob_end_flush), либо просто очищаешь буфер (ob_end_clean) - при этом твой body.php просто игнорируется
условие if в данном случае просто не нужно (его роль играет ?:; оператор)