Hi folks,
following problem appeared on PHP 3.0.16 on LINUX
I have a binary file, where I want to replace some letters
I do the following:
$filename = "xyz.sdc";
$fd = fopen( $filename, "r+b" ); // also tried "r"
$x=filesize( $filename );       // this shows the correct filesize 22528 byte
$contents = fread( $fd, $x );
fclose( $fd );
$y=strlen($contents);           // The first mistake $y = 32956 byte    
echo "BEFORE<br>".$contents;
$contents=str_replace("UUUUUU","123456", $contents);
echo "AFTER<br>".$contents;

It seems, that php converts HEX 00 00  to HEX 5C 30 just when it reads the 
data in
memory because at the BEFORE echo the data will be shown as \0 (hex 00 00 ).
The filesize will be correct when I save the str_replaced text and the text 
will be cahnged
correct.
Any idea, where this comes from??

Thanks in advance Oliver


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to