Как сделать резервную копию всего сайта с одного клика?

dron4ik

Новичок
Как сделать резервную копию всего сайта с одного клика?

Здрасьте!
Есть задача: делать резервную копию всего сайта с одного клика.

Как я это вижу:
1. прочитать дерево каталогов, сделать дамп базы
2. заархивировать
3. отдать пользователю.

1. Часть.

PHP:
$dir=".";

function read_folder($dir){
	$arr=array();
	if ($handle = opendir($dir)) {
   		while (false !== ($file = readdir($handle))) { 
       		if ($file != "." && $file != "..") { 
				if (is_dir($dir."/".$file)==FALSE){
					$arr[]=$dir."/".$file;
					//echo $dir."/".$file."<br>";
				}
				else{
					read_folder($dir."/".$file);
				}
			}
		}
		closedir($handle);
		return $arr;
	}
}

echo "<pre>";
print_r (read_folder($dir));
echo "</pre>";
если раскомментировать
PHP:
echo $dir."/".$file."<br>";
то показывает все файлы на сервере, а вот в $arr[] не получается все файлы вбить, покажите пожалйста в каком месте у меня руки кривые.

со втрой и третей часть, проблем вроде нет.
2. часть. zip.lib.php взят готовый класс с www.phpclasses.org. В качестве аргумента для добавления файлов в архив и нужен этот массив описаный выше.
 

Гравицапа

elbirret elcno
$array в локальной видимости функции находится, и при каждом вызове функции он заново инициализируется.
 

dron4ik

Новичок
я так и знал :)
но что-же делать?
неужели придётся эхом скидывать файлом и отуда считывать в массив?
хотелось покрасивее сделать.

Ведь тут можно доработать, но из-за пробелов в программирование вообще и в php в частности, у меня просто логики не хватает как это сделать тут.
 

Фанат

oncle terrible
Команда форума
сделать то, что тебе написали предыдущим постом.
 
Сверху