Click here to Skip to main content
15,890,741 members
Please Sign up or sign in to vote.
4.00/5 (1 vote)
See more:
Hi all,

I'm trying to write a php script for on the fly compression and download.
I have lots of problems trying to get it working on this particular web server.
This is my code:
header('Content-Type: application/octet-stream');
header('Content-disposition: attachment; filename="file.zip"');
set_time_limit(0);
//$fp = proc_open('zip -r9 - foldertocompress', 'w');
//$fp = system('zip -r9 ');
// pick a bufsize that makes you happy (8192 has been suggested).
$bufsize = 8192;
$buff = '';
while( !feof($fp) ) {
   $buff = fread($fp, $bufsize);
   echo $buff;
   flush();
}

I am trying out different commands to see which works, and the amusing thing
is that it starts to download even with the 2 lines assigning to $fp commented out?!
I really don't understand this, where is $fp getting its data from?
Thanks,
Brian
Posted

1 solution

Thanks for viewing.
I found my solution here: http://www.londatiga.net/it/programming/how-to-zip-files-or-folder-on-the-fly-using-php/[^]
The CreateZipFile.inc.php files seems pretty high level for my understanding.
Anybody care to explain a little for just for education's sake?

Brian

As an update, I found that it only allows downloads till the php memory limit size.
Anybody found a solution that works for compressing big file directories? ~250mb??
 
Share this answer
 
v3

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900