Hola,
 
Todo fichero tiene una estructura, que necesitas conocer para poder manejarlo. 
Repecto a si PHP puede manejar (leer, escribir) ficheros finarios, la respuesta es si. Tambien te pueden servir las funciones pack() (
www.php.net/pack) y unpack() (
www.php.net/unpack) para pasar de una cadena binaria a un array de valores. 
Saludos.