Phrozn\Runner\CommandLine\Callback\Init::copy PHP Method

copy() private method

Copy a file, or recursively copy a folder and its contents
private copy ( string $source, string $dest, $callback ) : boolean
$source string Source path
$dest string Destination path
return boolean Returns TRUE on success, FALSE on failure
    private function copy($source, $dest, $callback)
    {
        // Check for symlinks
        if (is_link($source)) {
            return symlink(readlink($source), $dest);
        }
        // Simple copy for a file
        if (is_file($source)) {
            $result = @copy($source, $dest);
            $callback($this, $dest, $result);
            return $result;
        }
        // Make destination directory
        if (!is_dir($dest)) {
            mkdir($dest);
        }
        // Loop through the folder
        $dir = dir($source);
        while (false !== ($entry = $dir->read())) {
            if ($entry == '.' || $entry == '..') {
                continue;
            }
            $this->copy("{$source}/{$entry}", "{$dest}/{$entry}", $callback);
        }
        // Clean up
        $dir->close();
        return true;
    }