ID: 9366
Updated by: sniper
Reported By: [EMAIL PROTECTED]
Old-Status: Feedback
Status: Closed
Bug Type: *Function Specific
Assigned To: 
Comments:

No feedback. If this happens also with soon to be released PHP 4.0.5, reopen this bug 
report.

--Jani


Previous Comments:
---------------------------------------------------------------------------

[2001-02-27 08:00:38] [EMAIL PROTECTED]
As you see, I wrote this comment on Feb. 22th, so please try
more recent version.

---------------------------------------------------------------------------

[2001-02-27 07:52:14] [EMAIL PROTECTED]
I've tryed the 4.0.5-dev from www.php4win.de released on 20 febr. and I've got the 
same result; I'll work on compiling the latest CVS..

---------------------------------------------------------------------------

[2001-02-22 05:39:04] [EMAIL PROTECTED]
Please see if current CVS snapshot fixes the problem.

---------------------------------------------------------------------------

[2001-02-21 07:33:16] [EMAIL PROTECTED]
I've just found that the "reconstrunction" not ever works; only the rewrite/reread 
technique does;

bye again

---------------------------------------------------------------------------

[2001-02-21 06:59:31] [EMAIL PROTECTED]
it seems an unpredictable problem, I couldn't reproduce it with a string as input: 
I've attached a base64_encoded file containg the suitable binary data (I'm sorry it 
there was a simpler way);

I'm still not completely sure if it is due to bin2hex() or strstr(), but this latter 
is very unlikely;

this is the script:
just change the fopen() with the filename you want;

<?php

 $f1 = fopen( 'c:\temp\--->filename.bin','rb');
 //open the attached file

 $s = fread( $f1, 500000 );
 //read it all


 fclose($f1);

 $s2= bin2hex($s);

 echo "lung s2=".strlen($s2)."<br><br>";
 // displays correctly filesize()*2, that is 4412 * 2


 echo "s2=<<<$s2>>><br><br>";

 /*
 M$'IE5 displays not writeble characters:
 tryign to select the end of the string, I get evermore of it (just while I'm 
selecting !)
 but this should be a M$'bug; Netscape 4.03 works properly;
 */


 $ris= strstr( $s2, "0d0a0d0a") ;
 // I'm looking for the first occurrence of that string; I know it is on position 
x0176



 // -----> here's the problem:

 echo "lung ris= ".strlen($ris). "<br><br>";
 // I get variable results, between 8077 and 8083

 echo "ris=$ris<br><br>";
 /*
 I get again not writeble or "invisible" characters in IE5;
 on Netscape I get (eg) "04ffd9R" at the end of the string;
 */



?>



and this is the file (base64_encoded):


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




some ways to work around the problem are:
rewriting and re-reading the output of bin2hex;

or reconstructing the string piece by piece, with something like [$s2 is bin2hex' 
output] :

 for ($i=0; $i < strlen($s2); $i=$i+100 )
    {
    $ricostr = $ricostr.substr($s2,$i, 100);
    }

in both cases, the next step of the script (that looks for "0d0a0d0a") works right;

I've looked into the string.c but it seems fine, I don't know what to think;


thank you for any help, 
contact me if you need more infos,

bye,
Giuse









 

---------------------------------------------------------------------------

The remainder of the comments for this report are too long.  To view the rest of the 
comments, please view the bug report online.


ATTENTION! Do NOT reply to this email!
To reply, use the web interface found at http://bugs.php.net/?id=9366&edit=2


-- 
PHP Development 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