StreamWriter::writeFromReader()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 13

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 13
rs 9.8333
c 0
b 0
f 0
cc 2
nc 2
nop 2
1
<?php
2
3
namespace Alchemy\Zippy\Resource\Writer;
4
5
use Alchemy\Zippy\Resource\ResourceReader;
6
use Alchemy\Zippy\Resource\ResourceWriter;
7
8
class StreamWriter implements ResourceWriter
9
{
10
    /**
11
     * @param ResourceReader $reader
12
     * @param string $target
13
     */
14
    public function writeFromReader(ResourceReader $reader, $target)
15
    {
16
        $directory = dirname($target);
17
        if (!is_dir($directory)) {
18
            mkdir($directory, 0777, true);
19
        }
20
21
        $targetResource = fopen($target, 'w+');
22
        $sourceResource = $reader->getContentsAsStream();
23
24
        stream_copy_to_stream($sourceResource, $targetResource);
25
        fclose($targetResource);
26
    }
27
}
28