già rùi lú lẫn rùi, viết đã rùi giờ éo hiểu nó ra sao giờ đầu óc lú lẫn cả rồi
PHP
function addZip($FileList, $domain_id, $uid){ $i=0; $zip=new ZipArchive(); $newArchive='backup_'.$domain_id.'_'.time().'.zip'; @mysql_query("INSERT INTO `backup` SET `uid`='{$uid}', `name`='{$newArchive}', `time`='".time()."', `domain_id`='{$domain_id}'"); if($zip->open(dirname(__FILE__).'/../backup_archive/'.$newArchive, ZipArchive::CREATE)==TRUE){ foreach($FileList as $rows){ $i++; if($rows['name']!=''){ $zip->addFile(dirname(__FILE__)."/../serverFolder/space_data/[id_{$rows['id']}][fid_{$rows['move']}][name_{$rows['name']}][domain_id_{$rows['domain_id']}].txt", $rows['zipdir']); echo '['.$i.'] : '.$rows['zipdir'].' ('.value_size(file_get_contents(dirname(__FILE__)."/../serverFolder/space_data/[id_{$rows['id']}][fid_{$rows['move']}][name_{$rows['name']}][domain_id_{$rows['domain_id']}].txt")).' Kb)<br>'; } } } } function list_rep($FileList){ $list=''; foreach($FileList as $rows){ if($rows['name']!=''){ $list.='{"id":"'.$rows['id'].'","move":"'.$rows['move'].'","name":"'.$rows['name'].'","zipdir":"'.$rows['zipdir'].'","type":"'.$rows['type'].'","domain_id":"'.$rows['domain_id'].'"},'; }else{ $list.=list_rep($rows); } } return $list; } function get($domain_id, $folder, $dir){ $get=@mysql_query("SELECT * FROM `manager` WHERE `fid`='{$folder}' and `domain_id`='{$domain_id}'"); $list=array(); if($folder!=0){ $myDir=@mysql_fetch_array(@mysql_query("SELECT * FROM `manager` WHERE `id`='{$folder}' and `domain_id`='{$domain_id}'")); $dir.=$myDir['name'].'/'; } if(@mysql_num_rows($get)>0){ while($rows=@mysql_fetch_array($get)){ if($rows['type']!='folder'){ $list[]=array( 'id'=>$rows['id'], 'move'=>$rows['fid'], 'name'=>$rows['name'], 'zipdir'=>$dir.$rows['name'], 'type'=>$rows['type'], 'domain_id'=>$rows['domain_id'] ); }else{ $list[]=get($domain_id, $rows['id'], $dir); } } }else{ $select=@mysql_fetch_array(@mysql_query("SELECT * FROM `manager` WHERE `id`='{$folder}' and `domain_id`='{$domain_id}'")); } return $list; } function ZipBackup($domain_id, $uid){ return addZip(json_decode('['.list_rep(get($domain_id,0,'')).'{}]', true), $domain_id, $uid); }