diff options
author | Paul Duncan <pabs@pablotron.org> | 2018-09-02 13:16:16 -0400 |
---|---|---|
committer | Paul Duncan <pabs@pablotron.org> | 2018-09-03 09:54:38 -0400 |
commit | b520b6459d7b5a3dfb31c1b3febf02887bb07505 (patch) | |
tree | c16e7f3c264280f90de2120b7f6ea7d5a914256d /examples/04-add.php | |
parent | ca87bd7c79c17af6cdf804bc24f58fb20c41ad76 (diff) | |
download | zipstream-php-b520b6459d7b5a3dfb31c1b3febf02887bb07505.tar.bz2 zipstream-php-b520b6459d7b5a3dfb31c1b3febf02887bb07505.zip |
add examples
Diffstat (limited to 'examples/04-add.php')
-rw-r--r-- | examples/04-add.php | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/examples/04-add.php b/examples/04-add.php new file mode 100644 index 0000000..3843086 --- /dev/null +++ b/examples/04-add.php @@ -0,0 +1,44 @@ +<?php + +require_once __DIR__ . '/../src/ZipStream.php'; + +# import zipstream class +use Pablotron\ZipStream\ZipStream; + +# set source path of local file +$files = [ + 'summary-01.txt' => '01-simple.php', + 'summary-04.txt' => '04-add.php', +]; + +# create the output archive named "example.zip" +$zip = new ZipStream('example.zip'); + +foreach ($files as $dst_path => $src_path) { + $zip->add($dst_path, function(&$e) use ($src_path) { + # build absolute path to source file + $abs_src_path = __DIR__ . "/$src_path"; + + # read file contents and get md5 hash + $data = file_get_contents($abs_src_path); + + # build arguments + $args = [ + 'source' => $src_path, + 'md5' => md5($data), + 'sha1' => sha1($data), + ]; + + # write lines to output archive + foreach ($args as $key => $val) { + # build line + $line = "$key: $val\n"; + + # write line to output file + $e->write($line); + } + }); +} + +# finalize the output stream +$zip->close(); |