Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

All other Modules

Discuss all other Modules here.

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba, simon_w

Upload Zip and Extract?


Reply

4 Posts   1437 Views

Avatar
James K

8 April 2009 at 4:22am (Last edited: 8 April 2009 6:18am), Community Member, 2 Posts

Hey everyone.

I was just wondering if anyone had any input on this. I am building a content management site, and for one of the accounts, they send me all of their documentation in the form of a zipped website. Is there a way I can upload the zipped file through DataObjectManager, then have it extract into the database, allowing a link on the account page to go to their index.htm file?

any help would be appreciated.

Thanks.

James

Update:

Found this script to unzip files. I am just not sure how to implement it in the process.

<?php
$zip = zip_open("zip.zip");
if ($zip) {
while ($zip_entry = zip_read($zip)) {
$fp = fopen("zip/".zip_entry_name($zip_entry), "w");
if (zip_entry_open($zip, $zip_entry, "r")) {
$buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
fwrite($fp,"$buf");
zip_entry_close($zip_entry);
fclose($fp);
}
}
zip_close($zip);
}
?>

Avatar
James K

14 April 2009 at 3:19am Community Member, 2 Posts

Any ideas?

Avatar
robinp

5 May 2009 at 10:00am Community Member, 33 Posts

Hi James,

Did you get anywhere with this ? I have exactly the same need.

I'm actually thinking the easier way to do this you some sort php based file browser, instead of getting silverstrip to do it.

Cheers

Robin

Avatar
BenWu

15 May 2012 at 9:16pm Community Member, 90 Posts

Here is what I do:

Class MyFile extends File {

public function onAfterWrite(){
//do your expand
}

public function onBeforeDelete(){
//remove your zip folder
}
}

class Project extends DataObject {

static $has_one = array('myFile' =>'MyFile');

}

//you can then use DataObjectManager or ModelAdmin to manage project class
works well for me