Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: PHP scripting script
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 7-May-11 9:14am

1 solution

Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

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??
  Permalink  
v3

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

  Print Answers RSS
0 OriginalGriff 277
1 Maciej Los 210
2 BillWoodruff 205
3 Jochen Arndt 180
4 DamithSL 165
0 OriginalGriff 5,130
1 DamithSL 4,157
2 Maciej Los 3,670
3 Kornfeld Eliyahu Peter 3,470
4 Sergey Alexandrovich Kryukov 2,821


Advertise | Privacy | Mobile
Web03 | 2.8.141216.1 | Last Updated 7 May 2011
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100