PHP Development
 
Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
User Name:
Password:
Remember me

The Shed is going Social! Join us on FaceBook and Twitter and chime in on the conversation.

Go Back   Dev Shed ForumsProgramming LanguagesPHP Development

Reply
Add This Thread To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
Thread Tools Search this Thread Rate Thread Display Modes
 
Unread Dev Shed Forums Sponsor:
  #1  
Old September 9th, 2010, 02:51 AM
srisa srisa is offline
Contributing User
Dev Shed Beginner (1000 - 1499 posts)
 
Join Date: May 2006
Location: I'm sneaking up behind you.
Posts: 1,490 srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level) 
Time spent in forums: 3 Weeks 3 Days 19 h 21 m 45 sec
Reputation Power: 831
PHP5 - Create zip files - archive only, do not compress

Hello,

I have to send a collection of some files (number can range from 20-100) to users. PHP has the zip file functions for the purpose; well and good.

Problem is, most of those files will be jpeg's (which is a compressed format). As i see it, it doesn't make sense in compressing a compressed file which results in no-compression or negligible-compression; it is a waste of time and resources.

So, is there any way to disable the compression part? Just create the archive by grouping all the files but do not compress.

Thank you.
__________________
Why do we always seek someone, something or some thought? Are we afraid of ourselves?

Reply With Quote
  #2  
Old September 9th, 2010, 03:13 AM
PradeepKr PradeepKr is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Aug 2010
Posts: 82 PradeepKr User rank is Sergeant Major (2000 - 5000 Reputation Level)PradeepKr User rank is Sergeant Major (2000 - 5000 Reputation Level)PradeepKr User rank is Sergeant Major (2000 - 5000 Reputation Level)PradeepKr User rank is Sergeant Major (2000 - 5000 Reputation Level)PradeepKr User rank is Sergeant Major (2000 - 5000 Reputation Level)PradeepKr User rank is Sergeant Major (2000 - 5000 Reputation Level) 
Time spent in forums: 20 h 33 m 29 sec
Reputation Power: 42
explore apache settings

Code:
<IfModule mod_deflate.c>
    SetOutputFilter DEFLATE
    # file-types indicated will not be compressed
    SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|rar|zip|pdf)$ no-gzip dont-vary
    <IfModule mod_headers.c>
        Header append Vary User-Agent
    </IfModule>
</IfModule> 

Reply With Quote
  #3  
Old September 9th, 2010, 04:15 AM
srisa srisa is offline
Contributing User
Dev Shed Beginner (1000 - 1499 posts)
 
Join Date: May 2006
Location: I'm sneaking up behind you.
Posts: 1,490 srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level) 
Time spent in forums: 3 Weeks 3 Days 19 h 21 m 45 sec
Reputation Power: 831
Quote:
Originally Posted by PradeepKr
explore apache settings

Code:
<IfModule mod_deflate.c>
    SetOutputFilter DEFLATE
    # file-types indicated will not be compressed
    SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|rar|zip|pdf)$ no-gzip dont-vary
    <IfModule mod_headers.c>
        Header append Vary User-Agent
    </IfModule>
</IfModule> 
That, i assume will be helpful when i am delivering the zip files. I want to disable compression while "creating" the files using the ZipArchive() class of php.

Reply With Quote
  #4  
Old September 10th, 2010, 07:40 AM
srisa srisa is offline
Contributing User
Dev Shed Beginner (1000 - 1499 posts)
 
Join Date: May 2006
Location: I'm sneaking up behind you.
Posts: 1,490 srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level)srisa User rank is Lieutenant General (80000 - 90000 Reputation Level) 
Time spent in forums: 3 Weeks 3 Days 19 h 21 m 45 sec
Reputation Power: 831
There is a constant, ZIPARCHIVE::CM_STORE. It is read only as of now; useful for determining the compression method of an existing zip file. It is not possible to use it while creating a zip file.

Here is the source link, http://bugs.php.net/bug.php?id=41243

Reply With Quote
  #5  
Old February 14th, 2013, 06:46 AM
VictoriaDarlene VictoriaDarlene is offline
Registered User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Feb 2013
Posts: 10 VictoriaDarlene User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 1 h 46 m 20 sec
Reputation Power: 0
I use B1 archiver for that. Just when choosing compression mode I opt for "Store" mode. In that case files do not get actually compressed but only stored together.

Reply With Quote
  #6  
Old February 14th, 2013, 10:37 AM
kicken's Avatar
kicken kicken is offline
Wiser? Not exactly.
Dev Shed God 1st Plane (5500 - 5999 posts)
 
Join Date: May 2001
Location: Bonita Springs, FL
Posts: 5,654 kicken User rank is General 37th Grade (Above 100000 Reputation Level)kicken User rank is General 37th Grade (Above 100000 Reputation Level)kicken User rank is General 37th Grade (Above 100000 Reputation Level)kicken User rank is General 37th Grade (Above 100000 Reputation Level)kicken User rank is General 37th Grade (Above 100000 Reputation Level)kicken User rank is General 37th Grade (Above 100000 Reputation Level)kicken User rank is General 37th Grade (Above 100000 Reputation Level)kicken User rank is General 37th Grade (Above 100000 Reputation Level)kicken User rank is General 37th Grade (Above 100000 Reputation Level)kicken User rank is General 37th Grade (Above 100000 Reputation Level)kicken User rank is General 37th Grade (Above 100000 Reputation Level)kicken User rank is General 37th Grade (Above 100000 Reputation Level)kicken User rank is General 37th Grade (Above 100000 Reputation Level)kicken User rank is General 37th Grade (Above 100000 Reputation Level)kicken User rank is General 37th Grade (Above 100000 Reputation Level)kicken User rank is General 37th Grade (Above 100000 Reputation Level)  Folding Points: 2670569 Folding Title: Super Ultimate Folder - Level 6Folding Points: 2670569 Folding Title: Super Ultimate Folder - Level 6Folding Points: 2670569 Folding Title: Super Ultimate Folder - Level 6Folding Points: 2670569 Folding Title: Super Ultimate Folder - Level 6Folding Points: 2670569 Folding Title: Super Ultimate Folder - Level 6Folding Points: 2670569 Folding Title: Super Ultimate Folder - Level 6Folding Points: 2670569 Folding Title: Super Ultimate Folder - Level 6Folding Points: 2670569 Folding Title: Super Ultimate Folder - Level 6Folding Points: 2670569 Folding Title: Super Ultimate Folder - Level 6Folding Points: 2670569 Folding Title: Super Ultimate Folder - Level 6
Time spent in forums: 2 Months 2 Weeks 2 Days 5 h 1 m 44 sec
Reputation Power: 3436
Use an external CLI tool to generate the zip file, such 7zip or zip. You can build up a command line and then use exec() to run it.

Code:
//generate an array of files to compress, $files
$files = array_map('escapeshellarg', $files);
$output = tempnam(); //get temporary file name
$cmd = 'zip -0 '.escapeshellarg($output).' '.implode(' ', $files);
exec($cmd, $output, $ret);
if ($ret==0){
   //success
   //do whatever you need with $output
   unlink($output); //cleanup

}
else {
  //fail
   unlink($output); //cleanup
}
__________________
Recycle your old CD's, don't just trash them


Spidermonkey Tutorial;

If I helped out out, show some love with some reputation, or tip with Bitcoins to 1N645HfYf63UbcvxajLKiSKpYHAq2Zxud

Reply With Quote
  #7  
Old February 14th, 2013, 10:39 AM
Jacques1's Avatar
Jacques1 Jacques1 is online now
pollyanna
Click here for more information.
 
Join Date: Jul 2012
Location: Germany
Posts: 1,875 Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level) 
Time spent in forums: 1 Month 2 Weeks 2 Days 3 h 47 m 15 sec
Reputation Power: 813
Has anyone noticed this thread is 2 1/2 years old?
Comments on this post
ptr2void agrees: I suspect another SEO. "She" has gone around either posting in SEO discussions or bumping old
topics.

Reply With Quote
Reply

Viewing: Dev Shed ForumsProgramming LanguagesPHP Development > PHP5 - Create zip files - archive only, do not compress

Developer Shed Advertisers and Affiliates



Thread Tools  Search this Thread 
Search this Thread:

Advanced Search
Display Modes  Rate This Thread 
Rate This Thread:


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
View Your Warnings | New Posts | Latest News | Latest Threads | Shoutbox
Forum Jump

Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
  
 


Powered by: vBulletin Version 3.0.5
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.

© 2003-2013 by Developer Shed. All rights reserved. DS Cluster - Follow our Sitemap