Version 1
[yaffs-website] / vendor / alchemy / zippy / src / Resource / Reader / Stream / StreamReader.php
diff --git a/vendor/alchemy/zippy/src/Resource/Reader/Stream/StreamReader.php b/vendor/alchemy/zippy/src/Resource/Reader/Stream/StreamReader.php
new file mode 100644 (file)
index 0000000..c07062b
--- /dev/null
@@ -0,0 +1,41 @@
+<?php
+
+namespace Alchemy\Zippy\Resource\Reader\Stream;
+
+use Alchemy\Zippy\Resource\Resource as ZippyResource;
+use Alchemy\Zippy\Resource\ResourceReader;
+
+class StreamReader implements ResourceReader
+{
+    /**
+     * @var ZippyResource
+     */
+    private $resource;
+
+    /**
+     * @param ZippyResource $resource
+     */
+    public function __construct(ZippyResource $resource)
+    {
+        $this->resource = $resource;
+    }
+
+    /**
+     * @return string
+     */
+    public function getContents()
+    {
+        return file_get_contents($this->resource->getOriginal());
+    }
+
+    /**
+     * @return resource
+     */
+    public function getContentsAsStream()
+    {
+        $stream = is_resource($this->resource->getOriginal()) ?
+            $this->resource->getOriginal() : @fopen($this->resource->getOriginal(), 'rb');
+
+        return $stream;
+    }
+}