1) Identify the missing files.
2) Count the missing files from source location and update it to destination.
3) If it is exist compare the file sizes and update un-match files.
4) All the details are saved in text file.
// | File : matchdir.php
// | Created by : Lahiru Manchanayake
// | Created Date : 20/06/2009
// | Modified :
class matchDir {
public $pathDir1 ;
public $pathDir2 ;
public $f2 ;
public $file2 ;
public $missingCounter = 0 ;
public $counter = 0 ;
function matchDir($pathDir1 , $pathDir2)
{
$this -> pathDir1 = $pathDir1 ;
$this -> pathDir2 = $pathDir2 ;
$this -> f2 = opendir($this -> pathDir2);
}
function match()
{
while($this -> file2 = readdir($this -> f2))
{
if(is_file($this -> pathDir2.$this -> file2))
{
if (!file_exists($this -> pathDir1.$this -> file2))
{
echo $this -> file2.'Not Exists';
$f3 = fopen("lahiru.txt",'a+') ;
fwrite($f3,$this -> file2);
$this -> missingCounter++;
fclose($f3);
if (copy($this -> pathDir2.$this -> file2 , $this -> pathDir1.$this -> file2))
{
echo "Copied";
}else{
echo "Faile to copy";
}
} else{
echo $this -> file2.' Exists ';
if (filesize($this -> pathDir2.$this -> file2) > filesize($this -> pathDir1.$this -> file2))
{
copy($this -> pathDir2.$this -> file2 , $this -> pathDir1.$this -> file2);
echo "Updated";
}else{
echo "Faile to update";
}
}
}
$this -> counter++ ;
}
closedir($this -> f2);
echo $this -> counter .' Total Files' ;
echo $this -> missingCounter .' Missing Total Files' ;
}
}
// distination
$pathDir1 = "folder2/";
// source
$pathDir2 = "folder1/";
$obj =new matchDir($pathDir1 , $pathDir2);
$obj -> match();

No comments:
Post a Comment