ID: 13860
User updated by: [EMAIL PROTECTED]
Reported By: [EMAIL PROTECTED]
Status: Open
Bug Type: Bzip2 Related
Operating System: Windows 98 SE
PHP Version: 4.0.6
New Comment:

bzdecompress($ecd_cont,1);

I'm used it without the 1 parameter, i'm just tryed uot what happen if i use it...

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

[2001-10-28 15:34:18] [EMAIL PROTECTED]

I made a little decompresser script:

<?php
$efilename = "d:/pic.bz2"; //A compressed jpg image ( original size: 388kbyte, packed 
size: 388kbyte)
$ufilename2 = "d:/pic.jpg";

$fp = fopen($efilename, "rb");
$ecd_cont = fread($fp, filesize($efilename)); //read the compressed data from file
fclose($fp);

$fp = fopen($ufilename2,"wb");
$ecd_cont = bzdecompress($ecd_cont,1); //decompress the readed compressed data
fwrite($fp, $ecd_cont); //write the decompressed data into file
fclose($fp);

echo "<img src=\"file://d:\\pic.jpg\">"; 
?>

Ok, this is work... But it is WERY WERY slow!!! It's take 60sec to display the 
decompressed image, why??



I made the decompression befor with an other method:

<?php
$efilename = "d:/pic.bz2";
$ufilename2 = "d:/pic.jpg";

$bz = bzopen($efilename, "rb");
$ecd_cont = bzread($bz, 400000); // See below
bzlose($bz);

$fp = fopen($ufilename2,"wb");
fwrite($fp, $ecd_cont);
fclose($fp);

echo "<img src=\"file://d:\\pic.jpg\">";
?>

Ok this is working (And this is fast! The decompressed picture appears immediately), 
but there is a little problem:

In the PHP manual I read this about the bzread() function:

"If the optional parameter length is not
specified, bzread() will read 1024 (uncompressed) bytes at a time."

Ok, so it will read 1024 uncompressed bytes from my compressed file, if I not give the 
lenght parameter (as I did in the example). But there is a problem: if I want to be 
precise then I must give the lenght of the original file, but how??? I only have the 
compressed file, which is not equal with the original (ok, in my example it is, but 
only because the original jpg-compressed file), so I cant use the filesize() function, 
because it gave only the compressed filesize, neither the strlen() because I havnt got 
a string yet :)

And I think you agree with me if I dont want to write 400Mbyte to parameter... this is 
not a correct solution. I think the correct solution if the bzread() function is read 
the entire file if I dont give the lenght parameter.



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



Edit this bug report at http://bugs.php.net/?id=13860&edit=1


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