Dizin Kopyalama, Yedekleme, Eşitleme

İki farklı klasörü karşılaştırarak birinci klasörde olmayan dosyaları ikinci klasörden alıp birinci klasöre kopyalar.Sonuç olarak birinci ve ikinci klasörler eşitlenmiş olur.

index.php

<?php
class yedekleDizin {
	public $yedekDizin ;
	public $asilDizin ;
	public $dizin ;
	public $dosya ;
	public $eksikSayac = 0 ;
	public $sayac = 0 ;
	function yedekleDizin($yedekDizin , $asilDizin){
		$this->yedekDizin = $yedekDizin ;
		$this->asilDizin = $asilDizin ;
		$this->dizin = opendir($this->asilDizin);	
	}
	function yedekle(){
		while($this->dosya = readdir($this->dizin)){
			if(is_file($this->asilDizin.$this->dosya)){	
				if (!file_exists($this->yedekDizin.$this->dosya)){
					echo $this->dosya.' Mevcut Değil';
					echo "<br>";
					$f3 = fopen("yedekleme.txt",'a+') ;
					fwrite($f3,$this->dosya."<br>");
					$this->eksikSayac++;
					fclose($f3);
					if (copy($this->asilDizin.$this->dosya , $this->yedekDizin.$this->dosya)){
						echo "Kopyalandı <br>";
					}else{
						echo "Kopyalanamadı <br>";
					}
				}else{
					echo $this->dosya.' Mevcut';
					echo "<br>";
				}
				$this->sayac++ ;
			}
		}
		closedir($this->dizin);
		echo $this->sayac .'  Toplam Dosya <br>'  ;
		echo $this->eksikSayac .'  Yedeklenmemiş Dosya <br>'  ;
	}
}
$bosKlasor = "bos/";
$doluKlasor = "dolu/";
$y=new yedekleDizin($bosKlasor , $doluKlasor);
$y->yedekle();
?>

bos ve dolu isminde 2 klasör açtık.dolu klasörün içine a.txt b.txt c.txt isimli 3 dosya oluşturduk.

1.Çıktı

index.php

a.txt Mevcut Değil
Kopyalandı 
b.txt Mevcut Değil
Kopyalandı 
c.txt Mevcut Değil
Kopyalandı 
3 Toplam Dosya 
3 Yedeklenmemiş Dosya

yedekleme.txt

a.txt<br>b.txt<br>c.txt<br>

2.Çıktı

index.php

a.txt Mevcut
b.txt Mevcut
c.txt Mevcut
3 Toplam Dosya 
0 Yedeklenmemiş Dosya

Sonuc olarak bos klasorunde ve dolu klasorunde aynı isimli 3 er kopya dosya elde etmiş olduk.