Nasıl PHP iki dosya yapılarını karşılaştırmak için?

1 Cevap php

Bana n-seviyesine kadar eksiksiz dosya yapısını veren bir işlevi var,

function getDirectory($path = '.', $ignore = '') {
    $dirTree = array ();
    $dirTreeTemp = array ();
    $ignore[] = '.';
    $ignore[] = '..';

    $dh = @opendir($path);

    while (false !== ($file = readdir($dh))) {

        if (!in_array($file, $ignore)) {
            if (!is_dir("$path/$file")) {
//display of file and directory name with their modification time

                            $stat = stat("$path/$file");
                $statdir = stat("$path");


                   $dirTree["$path"][] = $file. " === ". 
                     date('Y-m-d H:i:s', $stat['mtime']) . " Directory == 
                   ".$path."===". date('Y-m-d H:i:s', $statdir['mtime']) ;

            } else {

                $dirTreeTemp = getDirectory("$path/$file", $ignore);
                if (is_array($dirTreeTemp))$dirTree = 
                               array_merge($dirTree, $dirTreeTemp);
            }
        }
    }
    closedir($dh);

    return $dirTree;
}

$ignore = array('.htaccess', 'error_log', 'cgi-bin', 'php.ini', '.ftpquota');
//function call
$dirTree = getDirectory('.', $ignore);
//file structure array print
print_r($dirTree);

Şimdi burada benim gereksinimi iki site var, bir

  • The Development/Test Site- where i do testing of all the changes
  • The Production Site- where I finally post all the changes as per test in development site

Şimdi, örneğin, ben Geliştirme / test sitesinde bir resim yükleme test ettik, ve ben uygun sonra ben tamamen Üretim DB Geliştirme / Test DB detay transfer olacak, ama şimdi karşılaştırmak istiyorum Üretim sitede yayınlama bulundu dosyaları yapısı yanı sıra üretim klasörüne ilgili görüntü dosyasını aktarmak için.

Ben görüntüyü düzenleyerek görüntüyü güncellemek ve şimdi bu durumda görüntü dosyası, "file_exist" mantığın kullanımını kısıtlamak, hangi orada zaten mevcut olacağını, aynı adla upload zaman durum var olabilir bu yüzden bu tip için durumlar .... HOW CAN I COMPARE THE TWO FILE STRUCTURE TO GET THE SYNCHRONIZATION DONE AS PER REQUIREMENT??

EDITED

gereksinimi Ben bir joomla bileşeni işlevsellik olarak ihtiyacımız gidiyorum bir komut dosyası, olmak zorunda .. bu başı olarak yanıtlayın.

1 Cevap

Bunun için rsync kullanarak öneririm.