Zip a folder on the server with php

I have a spent a day today figuring how to zip a client's web site folder on a Godaddy shared Linux hosting today (they made sure users don't have SSH access on those) in order to transfer it to another server. Apparently, given the limitations of the account setup the best way was to write a php script by executing which i would zip the given folder contents, so that then i could copy just one file and unzip it on the target server.
And it can't be easier than that - if you have a folder, which contains a number of other folders and files in them the script below lets you add to the zip file quickly and easily:
<? // increase script timeout value ini_set("max_execution_time", 300); // create object $zip = new ZipArchive(); // open archive if ($zip->open("my-archive.zip", ZIPARCHIVE::CREATE) !== TRUE) { die ("Could not open archive"); } // initialize an iterator // pass it the directory to be processed $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator("app/")); // iterate over the directory // add each file found to the archive foreach ($iterator as $key=>$value) { $zip->addFile(realpath($key), $key) or die ("ERROR: Could not add file: $key"); } // close and save archive $zip->close(); echo "Archive created successfully."; ?>
Proudly taken from the zend.com.
You might also like
| Intermedia hosting outsources technical support to Russia It has come as a surprise, when instead of an Indian person a girl with a russian accent answered my... | Apache vs. Nginx – testing performance under heavy load It has come to my attention, when a client of mine recently experienced unexpected traffic spike, that... | Thoughts about cloud hosting for Grails applications A few years ago nobody probably heard about "cloud computing" term. Except maybe for engineers building... | Riding River Line Light Rail Along with visit to Princeton today i took a ride on a River Line, a New Jersey Light Rail. More photos... |
4 Comments to Zip a folder on the server with php
Leave a comment
About
Advertisment
Latest tweets
- New post: Ichi Umi - awesome sushi buffet in Midtown New York City http://bit.ly/cQ1Wch #buffet #midtown #nyc 3 days ago
- New post: Hulu Plus for PS3 and Samsung TV - a sad review http://bit.ly/9PmZd2 #hulu #huluplus #ps3 6 days ago
- New post: How to rent a cheap apartment in New York City http://bit.ly/aX98yP #craigslist #nyc #rent 2 weeks ago
- New post: Killing inner creativity with full time job http://bit.ly/bj6Ht3 #freelance #job 2 weeks ago
- I actually know a few ppl who were quite inspired to spin their own biz after working for a year or two at Apple... I wonder why #apple #job 3 weeks ago
Recent works / current clients
- BellatAuto Inc - New York / New Jersey used car auto dealer: design and coding.
- Colette Maison Lumiere - multimedia artist: design and coding for the CMS.
- Complete Body & Spa - New York City personal training and gym management company: Wordpress template coding.
- DaleStyle Blog Dale Sudakoff’s fashion blog: Wordpress template coding.
- DoctorKalitenko.COM - Sergey Kalitenko : antiaging hollistic doctor performing bioidentical replacement therapy. CMS coding and design.
- Great Jones Spa - premiere New York City Day Spa: coded and designed website and storefront





Great Job, I have made some modification (see below); do you think it will work:
< ?php open('myZip.zip', ZIPARCHIVE::CREATE) !== TRUE) { die ("Could not open archive"); } // initialize an iterator // pass it the directory to be processed $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator("$dir/")); // iterate over the directory // add each file found to the archive foreach ($iterator as $key=>$value) { $zip->addFile(realpath($key), $key) or die ("ERROR: Could not add file: $key"); } // close and save archive $zip->close(); echo "Archive created successfully. click to download"; ?>Nice! Have to test it though…
Nice Script..
It’s really help me.
this is a good script. but i find one problem in this script it does not include int empty folders in the archive. but i need those empty folders also. anyone can help me.