İ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.