/** * 生成最新版本号 */ private static function genLatestRevision() { $cmd = 'cd ' . C('SRC.SRC_PATH') . ' && ' . C('SVN') . ' info --xml'; $info = shell_exec_ensure($cmd, false); if (!$info['status']) { $info = $info['output']; $info = simplexml_load_string($info); $revision = $info->entry->commit->attributes()->revision; self::$revision = (int) $revision; } }
/** * 获取合图改变列表,并生成新的md5数据 * @return array */ private static function getChangeMergeImage() { static $ret = null; if (!is_null($ret)) { return $ret; } $ret = array(self::MODIFY => array(), self::ADD => array(), self::DELETE => array()); $file = C('INCRE.PATH') . '/' . C('INCRE.MD5_FILENAME'); $nData = IncreMap::getMd5Map(); if (file_exists($file)) { $oData = (include $file); } if (isset($oData)) { foreach ($nData as $key => $value) { $action = null; if (isset($oData[$key])) { // 同一张图,md5不同,则表示已修改 if ($oData[$key] !== $value) { $action = self::MODIFY; } // 从oData中删除,最后oData中剩下的值即为已删除的图片 unset($oData[$key]); } else { // 不存在,则表示是新增 $action = self::ADD; } if (!is_null($action)) { array_push($ret[$action], $key); } } $ret[self::DELETE] = array_map('basename', array_keys($oData)); } return $ret; }