kendi sorumu yine kendim cevaplayım.
Zip backup almak ZipArchive extention class ı her php sürümünde olmadığından pek genel geçer olmuyor. Fakat ziplemeden tek dosya backup almak genel bir çözüm ve yine zip gibi açılıyor bu backup. Zip dosyasındaki dosya ayrımlarını ekleyip ve dosyaları sıkıştırmadan bir dosyaya yazarak yapılmış bir wordpress plugin varmış.
http://wordpress.org/extend/plugins/efiles-backup/
adresinden plugin ve class kütüphanesine ulaşabilirsiniz.
Recursive tarama yapmak içinde aşağıdaki fonksiyon kullanılabilir.
list_dir(@opendir($_SERVER[DOCUMENT_ROOT]),$_SERVER[DOCUMENT_ROOT]) ;
function list_dir($dir_handle,$path) {
while (false !== ($file = readdir($dir_handle))) {
$dir =$path.'/'.$file;
if(is_dir($dir) && $file != '.' && $file !='..' )
{
$handle = @opendir($dir);
echo "$path/$file\n";
list_dir($handle, $dir);
}
elseif($file != '.' && $file !='..')
echo "$path/$file\n";
}
closedir($dir_handle);
}