public function compareDirectory($directory_shablon, $directory2) { $directory1 = $directory_shablon; /* array( name = str files = array path = array ) */ $Compare = new Compare(); $name = $Compare->String($directory1['name'], $directory2['name']); if ($name >= 99.0) { $files = $Compare->Array_percent($directory1['files'], $directory2['files']); print_r($files); echo ' ->'; if ($files >= 85.0) { $level = $Compare->comparePath($directory1['path'], $directory2['path']); if (!empty($level)) { $path1 = array_reverse($directory1['path']); $path2 = array_reverse($directory2['path']); $slice = $Compare->compareArraySlice($path1, $path2); $this->CMS_base = $slice[1]; $this->CMS_level = $level; return true; } else { return false; } } else { return false; } } else { return false; } }
$path1 = array_reverse($path_shablon); $path2 = array_reverse($path2); $result = 0; foreach ($path2 as $k => $v) { if ($this->String($v, $path1[$k]) == 100) { $result++; } else { break; } } if (count($path1) == $result) { return $result; } else { return false; } /* сравнивать необходимо по отдельным папкам, до последней директории в шаблоне системы, структура системы должна полностью совпадать! Совпадением считается соответстствие структуре шаблона!!! */ //бля! } } $Compare = new Compare(); $array1 = array(0 => 'rur', 1 => 'er', 2 => 'qwerty', 3 => 'qwerty', 4 => 'ffr'); $array2 = array(0 => 'rur', 1 => 'fgrf', 2 => 'er', 3 => 'qwerty', 4 => 'df'); echo $Compare->Array_percent($array1, $array2) . ' <br>'; $arr1 = array('published', 'SC', 'html', 'scripts'); $arr2 = array('published', 'SC', 'html', 'scripts', 'functions', 'core_functions'); print_r($Compare->compareArraySlice($arr1, $arr2));