Необходимо создать парсер на пхп под достаточно редкий формат файла.. есть немного инфы о формате.. PHP: DWORD mesh_count :FOREACH( mesh_count ) ZSTR path :ENDFOR DWORD material_count :FOREACH( material_count ) ZSTR path WORD rotation WORD alpha_enabled WORD two_sided WORD alpha_test_enabled WORD alpha_ref_enabled WORD z_write_enabled WORD z_test_enabled WORD blending_mode WORD specular_enabled FLOAT alpha WORD glow_type FLOAT red FLOAT green FLOAT blue :ENDFOR DWORD effect_count :FOREACH( effect_count ) ZSTR path :ENDFOR DWORD object_count :FOREACH( object_count ) DWORD unk1 DWORD unk2 DWORD unk3 DWORD mesh_count :IF( mesh_count > 0 ) :FOREACH( mesh_count ) DWORD mesh_id DWORD material_id :WHILE( true ) BYTE flag_id :IF( flag_id == 0 ) BREAK //Leave the WHILE(true) loop BYTE flag_size BYTE[flag_size] data :WEND :ENDFOR WORD object2_count :FOREACH( object2_count ) DWORD mesh_id DWORD material_id :WHILE( true ) BYTE flag_id :IF( flag_id == 0 ) BREAK //Leave the WHILE(true) loop BYTE flag_size BYTE[flag_size] data :WEND :ENDFOR //These are for Bounding Box FLOAT minX FLOAT minY FLOAT minZ FLOAT maxX FLOAT maxY FLOAT maxZ :ENDIF :ENDFOR возможно есть ошибки.. это сейчас не критично. когда начал писать парсер столкнулся с проблемой.. как можно реализовать на пхп ZSTR? с DWORD и WORD проблем у меня не возникло.. PHP: function getWord($file) { $ret = unpack("S", fread($file, 2)); return $ret[1]; } function getDword($file) { $ret = unpack("L", fread($file, 4)); return $ret[1]; } а вот как сделать ZSTR (читать строку до пустого байта) PS:ранее мне не когда не приходилось сталкиваться с подобной работой.. по этому опыта мало,вот и прошу помощи =)