jubi (15.09.2011/16:43)
а что такое бекап?
Резервная копия файлов и базы сайта, иногда еще всяких почтовых доменов и т.д. Короче всего сайта
а чем автору pclzip не подходит?
Blade (15.09.2011/17:18)
а чем автору pclzip не подходит?
Я о таком и не слышал.... Дай ссылку...
ищи скрипт pclzip.lib.php в четверке в папке \incfiles\lib\
как работает, спроси у гоголя
<?php
define('_IN_JOHNCMS', 1);
$rootpath = '';
function file_size($f){
//if(!is_dir($f) || !is_readable($f)){return;}
$d[] = $f;
$sz = 0;
do{
$dir = array_shift($d);
$h = opendir($dir);
while($f = readdir($h)){
if($f[0]!='.' && is_readable($dir.'/'.$f)){
if(is_dir($dir.'/'.$f)){
$d[] = $dir.'/'.$f;
}
else{
++$all;
}
$sz += filesize($dir.'/'.$f);
}
}
closedir($h);
}
while(sizeof($d) > 0);
if($sz >= 1048576){
return (int)$all.' / '.round($sz/1048576,1).' mb';
}
else{
return (int)$all.' / '.round($sz/1024,1).' kb';
}
}
require_once("incfiles/core.php");
if ( $dostsadm != 1 )
{
header("Location: ./?err");
exit;
}
$textl = 'Резервное копирование';
require_once("incfiles/head.php");
echo '<div class="phdr">Выбор файлов</div>';
if ( !empty($_POST['create']) )
{
foreach ( $_POST['file_zip'] as $file )
{
$arr[] = $file;
}
$name = preg_replace("[^a-Z0-9_\.\-]", "", $_POST['name']);
if ( empty($name) )
{
$name = 'Backup';
}
if ( is_file("backups/$name.zip") and empty($_POST['delcopy']) )
{
echo 'Архив '. $name .'.zip уже есть!<br/><a href="backup.php">Повторить</a>';
require_once("incfiles/end.php");
exit;
} elseif ( is_file("backups/$name.zip") )
{
echo 'Архив '. $name .'.zip заменен<br/>';
}
require_once ('incfiles/pclzip.php');
$create = new PclZip($arr);
$create -> PclZip("backups/$name.zip");
if ( $create -> create($arr) == 0 )
{
echo $create -> errorInfo(true);
} else
{
echo 'Архив создан!';
}
echo '<br/><a href="backup.php">Еще...</a>';
} else
{
echo '<form action="backup.php?" method="post">';
echo '<input type="text" name="name" value="Backup"/><br/>';
$dir = opendir(".");
$div = true;
while ( $file = readdir( $dir ) )
{
if ( $file != "." && $file != ".." )
{
echo ( $div ) ? '<div class="b">' : '<div class="c">';
$div = !$div;
echo '<input type="checkbox" name="file_zip[]" value="'. $file .'"/>'. ( is_dir($file) ? $file . ' ('. file_size($file) .')' : $file . ' ('. formatsize(filesize($file)) .')' );
echo '</div>';
}
}
echo '<hr/><input type="checkbox" name="delcopy" value="1"/> Заменить при совпадении имен<br/>';
echo '<input type="submit" name="create" value="Архивировать" /></form>';
}
require_once ("incfiles/end.php");
?>
Это ^, еще под 2.4,не помню кто,но выкладывали тут на форуме.
Если кто сможет,под 3.2.2 переделайте.
http://annimon.com/code/?act=view&id=724 с тела писал, на работу не проверил пока. Если что потом поправлю
Koenig (16.09.2011/07:23)
http://annimon.com/code/?act=view&id=724 с тела писал, на работу не проверил пока. Если что потом поправлю
Кто может этот код воткнуть в файл пхп. И запаковать в зип?
Koenig, я конечно все понимаю, но писать каждый раз ссылку на сторонний ресурс.... пахнет рекламой.
З.Ы. Можно же просто код писать здесь, на форуме, думаю с копированием проблем не будет