Seditio Source
Root |
./othercms/croogo-4.0.7/vendor/league/flysystem/src/Adapter/Polyfill/StreamedCopyTrait.php
<?php

namespace League\Flysystem\Adapter\Polyfill;

use
League\Flysystem\Config;

trait
StreamedCopyTrait
{
   
/**
     * Copy a file.
     *
     * @param string $path
     * @param string $newpath
     *
     * @return bool
     */
   
public function copy($path, $newpath)
    {
       
$response = $this->readStream($path);

        if (
$response === false || ! is_resource($response['stream'])) {
            return
false;
        }

       
$result = $this->writeStream($newpath, $response['stream'], new Config());

        if (
$result !== false && is_resource($response['stream'])) {
           
fclose($response['stream']);
        }

        return
$result !== false;
    }

   
// Required abstract method

    /**
     * @param string $path
     *
     * @return resource
     */
   
abstract public function readStream($path);

   
/**
     * @param string   $path
     * @param resource $resource
     * @param Config   $config
     *
     * @return resource
     */
   
abstract public function writeStream($path, $resource, Config $config);
}