本文整理汇总了PHP中Zip::statIndex方法的典型用法代码示例。如果您正苦于以下问题:PHP Zip::statIndex方法的具体用法?PHP Zip::statIndex怎么用?PHP Zip::statIndex使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zip
的用法示例。
在下文中一共展示了Zip::statIndex方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: admin_update
/**
* Обновление движка и шестерёнок
*/
public function admin_update()
{
$major = 0;
$show_main = TRUE;
switch ($this->input->get('action')) {
case 'check':
$check_url = 'https://github.com/codemotion/cogear2/tags';
$data = file_get_contents($check_url);
preg_match_all('#/codemotion/cogear2/archive/v(.+?)\\.zip#', $data, $matches);
for ($i = 0; $i < sizeof($matches[0]); $i++) {
if (version_compare($matches[1][$i], $major) == 1) {
$major = $matches[1][$i];
}
}
$this->set('admin.update.lastcheck', time());
$this->set('admin.update.repo.major', $major);
break;
case 'update_core':
$version = config('admin.update.repo.major');
if (version_compare($version, COGEAR) == 1) {
$link = 'https://github.com/codemotion/cogear2/archive/v' . $version . '.zip';
echo t('Загружаю архив с новой версией по адресу <i>%s</i>…', $link) . '<br/>';
if ($source = file_get_contents($link)) {
$archive = TEMP . DS . 'v' . $version . '.zip';
file_put_contents($archive, $source);
echo t('Архив загружен. Распаковываю…') . '<br/>';
$zip = new Zip($archive);
$folder_index = $zip->statIndex(0);
$folder = $folder_index['name'];
$zip->extract(TEMP . DS);
echo t('Архив распакован. Обновляю сайт…') . '<br/>';
$update_root = TEMP . DS . $folder;
$this->update_files($update_root, ROOT);
$show_main = FALSE;
} else {
echo t('Не удалось загрузить архив с системой!');
}
} else {
echo t('Версия системы в репозитории не превышает версию установленной системы.');
}
echo '<p><a href="' . l('/admin/update') . '" class="btn">' . icon('arrow-left') . ' ' . t('Вернуться') . '</a>';
break;
}
$show_main && template('Admin/templates/update/main')->show();
}