Browzer Posted February 27, 2007 Share Posted February 27, 2007 Hello, first poster here. I have to read bytes from a binary file. Often, I'm only reading 1 or 2 bytes at a time. The problem is that what I'm reading is being displayed as garbage. For example: $fh = fopen($filepath, 'rb') or exit("Can't open file"); $byte = fread($fh, 2) or exit("Can't read file"); printf("Byte = %u", $byte); The output is "Version = 0" (if I treat $byte as a string, the output is "Bytes = ?"). That is not correct. Here is the equivelant Java code reading from the same file: File f = new File(filepath); FileInputStream fis = new FileInputStream(f); DataInputStream dis = new DataInputStream(fis); short version = dis.readShort(); System.out.println("Version = " + version); The output is "Version = 2", which is correct. Any ideas? Thanks. Link to comment https://forums.phpfreaks.com/topic/40338-problem-reading-binary-file/ Share on other sites More sharing options...
Orio Posted February 27, 2007 Share Posted February 27, 2007 Why are you using printf()? Try using echo instead: <?php $fh = fopen($filepath, 'rb') or exit("Can't open file"); $byte = fread($fh, 2) or exit("Can't read file"); echo "Byte = ".$byte; ?> Orio. Link to comment https://forums.phpfreaks.com/topic/40338-problem-reading-binary-file/#findComment-195176 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.