Если register_globals = Off, то нужно везде ставить не $file, $HTTP_GET_VARS[\'file\'].
(если ты конечно не учел это в остальном коде)
А если сервер работает под виндой, то в этой строке:$fd = fopen ($file, "r"); вторым аргументом нужно поставить "rb", а не просто "r".
b означает отрыть файл в бинарном режиме.