mirror of
				https://github.com/Chouchen/Shikiryu_Backup.git
				synced 2021-06-30 16:02:14 +02:00 
			
		
		
		
	
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
namespace Shikiryu\Backup\Transport;
 | 
						|
 | 
						|
use Shikiryu\Backup\Backup\BackupAbstract;
 | 
						|
 | 
						|
class Folder extends TransportAbstract
 | 
						|
{
 | 
						|
    /**
 | 
						|
    * Folder to backup
 | 
						|
    *
 | 
						|
    * @var string
 | 
						|
    */
 | 
						|
    protected $folder;
 | 
						|
 | 
						|
    public function __construct(BackupAbstract $backup, array $config = array())
 | 
						|
    {
 | 
						|
        parent::__construct($backup, $config);
 | 
						|
 | 
						|
        if (!empty($this->folder)) {
 | 
						|
            $this->folder = sprintf('%s/', rtrim($this->folder, '/'));
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
    * @return bool
 | 
						|
    *
 | 
						|
    * @throws \Exception
 | 
						|
    */
 | 
						|
    public function send()
 | 
						|
    {
 | 
						|
        foreach ($this->backup->getFilesToBackup() as $file => $name) {
 | 
						|
            if (copy($file, $this->folder . $name) === false) {
 | 
						|
                throw new \Exception(sprintf('Copy of %s in %s failed', $name, $this->folder));
 | 
						|
            };
 | 
						|
        }
 | 
						|
        foreach ($this->backup->getStreamsToBackup() as $name => $file) {
 | 
						|
            if (substr_count($name, '.') + 1 < 2) {
 | 
						|
                $name = 'backup' . $name . '.txt';
 | 
						|
            }
 | 
						|
            if (file_put_contents($this->folder . $name, $file) === false) {
 | 
						|
                throw new \Exception(sprintf('Saving of %s in %s failed', $name, $this->folder));
 | 
						|
            }
 | 
						|
        }
 | 
						|
        return true;
 | 
						|
    }
 | 
						|
}
 |