简体   繁体   中英

Codeigniter Zip Library how to zip existent file

Im moving un-zipped files to a server directory /zip/file.unzipped.png

now i need to take that file and zip it.

Is it possible to do that or a need the zip archive as codeigniter guide says?

How can i do that?

Is what you're looking for just a straight download, and not saving the archive on disk before download?

If this is the case you can do what @zer02 suggested, but remove the archive step.

$name = 'mydata1.txt';

$data = 'A Data String!';

$this->zip->add_data($name, $data);

// Write the zip file to a folder on your server. Name it "my_backup.zip"

$this->zip->archive('/path/to/directory/my_backup.zip');

// Download the file to your desktop. Name it "my_backup.zip"

$this->zip->download('my_backup.zip');

The zip library should gather up all the data you've added to the zip cache in memory, and create a file to download dynamically.

Please read the user manual: http://codeigniter.com/user_guide/libraries/zip.html

There are two functions that jump out me for your use case:

$this->zip->read_file()

Permits you to compress a file that already exists somewhere on your server. Supply a file path and the zip class will read it and add it to the archive:

$this->zip->read_dir()

Permits you to compress a folder (and its contents) that already exists somewhere on your server. Supply a file path to the directory and the zip class will recursively read it and recreate it as a Zip archive. All files contained within the supplied path will be encoded, as will any sub-folders contained within it.

$name = 'mydata1.txt';

$data = 'A Data String!';

$this->zip->add_data($name, $data);

// Write the zip file to a folder on your server. Name it "my_backup.zip"

$this->zip->archive('/path/to/directory/my_backup.zip'); 

// Download the file to your desktop. Name it "my_backup.zip"

$this->zip->download('my_backup.zip');

Zip Lib CI

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM