summaryrefslogtreecommitdiff
path: root/examples/04-add.php
diff options
context:
space:
mode:
Diffstat (limited to 'examples/04-add.php')
-rw-r--r--examples/04-add.php44
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();