PDA

View Full Version : Cần Scripts Backup Source



Giàu Nhờ Gà
13-07-2011, 08:34
mình sử dụng host free 000webhost giờ muốn chuyển web sang host khác mà k có chức năng backup source thành file zip để download về
bạn nào có code hay Scripts nào làm việc này chỉ mình với

Giàu Nhờ Gà
21-07-2011, 16:51
ko bác nào giúp nhỉ chán ghê

okmen22
31-08-2011, 13:06
có code zip host bản lên goole mà seach !
http://blog.vnnclub.com/2010/10/share-code-zip-file-tren-host.html
nếu ko dc pm yahoo okmen22 bàn tiếp :D

hoangduchuu
09-09-2011, 22:42
mysqldumer
xdumper
phpmyadmin:|
v.v...

ko lẽ cái nào dcah bạn

viptrongpro
14-09-2011, 02:10
Bạn vào Cpanel nén tất cả các file trong pulic_html lại sau đó upload sang host mới và giải nén ra là xong !
Cpanel hiện chưa hỗ trợ Full Backup, bạn cần phải nhập từng phần Từ CSDL rồi đến các bản ghi CNAME , MX,.. files

Nếu đơn thuần chỉ là code nén file thì bạn lưu file này thành tên bất kì(.php) rồi upload lên host nhé ! Nó có thể nén cả thư mục và file !



<?
/*================================================= =====================*\
|| ################################################## ################## ||
|| # ---:|| Module: Trong Ziper - Ver 1.0
|| # ---:|| wWw.Trong.Tk
|| ################################################## ################## ||
\*================================================ ======================*/
@set_time_limit(3600);
$conf['dir'] = "zipfiles";
if ((isset($_GET['step']))&&(!empty($_GET['step']))) $step=$_GET['step'];
else $step=0;
if ((isset($_GET['dirname']))&&(!empty($_GET['dirname']))) $dirname=$_GET['dirname'];
else $dirname=".";
$dirname = str_replace("../","",$dirname);
class zipfile
{
var $datasec = array();
var $ctrl_dir = array();
var $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00";
var $old_offset = 0;
function unix2DosTime($unixtime = 0) {
$timearray = ($unixtime == 0) ? getdate() : getdate($unixtime);

if ($timearray['year'] < 1980) {
$timearray['year'] = 1980;
$timearray['mon'] = 1;
$timearray['mday'] = 1;
$timearray['hours'] = 0;
$timearray['minutes'] = 0;
$timearray['seconds'] = 0;
} // end if

return (($timearray['year'] - 1980) << 25) | ($timearray['mon'] << 21) | ($timearray['mday'] << 16) |
($timearray['hours'] << 11) | ($timearray['minutes'] << 5) | ($timearray['seconds'] >> 1);
} // end of the 'unix2DosTime()' method

function addFile($data, $name, $time = 0)
{
$name = str_replace('\\', '/', $name);

$dtime = dechex($this->unix2DosTime($time));
$hexdtime = '\x' . $dtime[6] . $dtime[7]
. '\x' . $dtime[4] . $dtime[5]
. '\x' . $dtime[2] . $dtime[3]
. '\x' . $dtime[0] . $dtime[1];
eval('$hexdtime = "' . $hexdtime . '";');

$fr = "\x50\x4b\x03\x04";
$fr .= "\x14\x00"; // ver needed to extract
$fr .= "\x00\x00"; // gen purpose bit flag
$fr .= "\x08\x00"; // compression method
$fr .= $hexdtime; // last mod time and date

// "local file header" segment
$unc_len = strlen($data);
$crc = crc32($data);
$zdata = gzcompress($data);
$zdata = substr(substr($zdata, 0, strlen($zdata) - 4), 2); // fix crc bug
$c_len = strlen($zdata);
$fr .= pack('V', $crc); // crc32
$fr .= pack('V', $c_len); // compressed filesize
$fr .= pack('V', $unc_len); // uncompressed filesize
$fr .= pack('v', strlen($name)); // length of filename
$fr .= pack('v', 0); // extra field length
$fr .= $name;

// "file data" segment
$fr .= $zdata;

// "data descriptor" segment (optional but necessary if archive is not
// served as file)
$fr .= pack('V', $crc); // crc32
$fr .= pack('V', $c_len); // compressed filesize
$fr .= pack('V', $unc_len); // uncompressed filesize

// add this entry to array
$this -> datasec[] = $fr;

// now add to central directory record
$cdrec = "\x50\x4b\x01\x02";
$cdrec .= "\x00\x00"; // version made by
$cdrec .= "\x14\x00"; // version needed to extract
$cdrec .= "\x00\x00"; // gen purpose bit flag
$cdrec .= "\x08\x00"; // compression method
$cdrec .= $hexdtime; // last mod time & date
$cdrec .= pack('V', $crc); // crc32
$cdrec .= pack('V', $c_len); // compressed filesize
$cdrec .= pack('V', $unc_len); // uncompressed filesize
$cdrec .= pack('v', strlen($name) ); // length of filename
$cdrec .= pack('v', 0 ); // extra field length
$cdrec .= pack('v', 0 ); // file comment length
$cdrec .= pack('v', 0 ); // disk number start
$cdrec .= pack('v', 0 ); // internal file attributes
$cdrec .= pack('V', 32 ); // external file attributes - 'archive' bit set

$cdrec .= pack('V', $this -> old_offset ); // relative offset of local header
$this -> old_offset += strlen($fr);

$cdrec .= $name;

// optional extra field, file comment goes here
// save to central directory
$this -> ctrl_dir[] = $cdrec;
} // end of the 'addFile()' method

function file()
{
$data = implode('', $this -> datasec);
$ctrldir = implode('', $this -> ctrl_dir);

return
$data .
$ctrldir .
$this -> eof_ctrl_dir .
pack('v', sizeof($this -> ctrl_dir)) . // total # of entries "on this disk"
pack('V', strlen($ctrldir)) . // size of central dir
pack('v', sizeof($this -> ctrl_dir)) . // total # of entries overall
pack('V', strlen($data)) . // offset to start of central dir
"\x00\x00"; // .zip file comment length
} // end of the 'file()' method

function addFiles($files /*Only Pass Array*/)
{
foreach($files as $file) {
if (is_file($file)) //directory check
{
$data = implode("",file($file));
$this->addFile($data,$file);
} else {
// $data = implode("",file("trongziper.txt"));
// $this->addFile($data,$file."/trongziper.txt");
}
}
}

function output($file)
{
$fp=fopen($file,"w");
fwrite($fp,$this->file());
fclose($fp);
}

} // end class
//===================================
function getdir($path=".") {
global $dirarray,$conf,$dirsize;
if ($dir = opendir($path)) {
while (false !== ($entry = @readdir($dir))) {
if (($entry!=".")&&($entry!="..")) {
$lastdot = strrpos($entry,".");
$ext = chop(strtolower(substr($entry,$lastdot+1)));
$fname = substr($entry,0,$lastdot);
if ($path!=".") $newpath = $path."/".$entry;
else $newpath = $entry;
$newpath = str_replace("//","/",$newpath);

if (($entry!="trongziper.php")&&($entry!="trongziper.txt")&&($entry!=$conf['dir'])) {
$dirarray[] = $newpath;
if ($fsize=@filesize($newpath)) $dirsize+=$fsize;
if (is_dir($newpath)) getdir($newpath);
}
}
}
}
}// end func
//===================================
function getcurrentdir($path=".") {
global $conf;
$dirarr = array();
if ($dir = opendir($path)) {
while (false !== ($entry = @readdir($dir))) {
if (($entry!=".")&&($entry!="..")) {
$lastdot = strrpos($entry,".");
$ext = chop(strtolower(substr($entry,$lastdot+1)));
$fname = substr($entry,0,$lastdot);
if ($path!=".") $newpath = $path."/".$entry;
else $newpath = $entry;
$newpath = str_replace("//","/",$newpath);

if (($entry!="trongziper.php")&&($entry!="trongziper.txt")&&($entry!=$conf['dir'])) {
$dirarr[] = $newpath;
}
}
}
}
return $dirarr;
}// end func
//=========================
function size_format($bytes="") {
$retval = "";
if ($bytes >= 1048576) {
$retval = round($bytes / 1048576 * 100 ) / 100 . " MB";
} else if ($bytes >= 1024) {
$retval = round($bytes / 1024 * 100 ) / 100 . " KB";
} else {
$retval = $bytes . " bytes";
}
return $retval;
}
//=============================
$currentdir = getcurrentdir($dirname);
sort($currentdir);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<HTML xmlns="http://www.w3.org/1999/xhtml">
<Title> -:[ Trong Ziper - Trong.Tk ]:- </Title>
<Meta name="Author" content="(-_-*).»_†rOng_«.(+_+')" />
<Meta http-equiv="Cache-Control" content="No-Cache" />
<Meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<Style type="text/css">
<!--
html
{overflow-x: auto; scrollbar-face-color: #CECECE; scrollbar-shadow-color: #6B6B6B; scrollbar-highlight-color: #F8F8F8; scrollbar-3dlight-color: #8A8A8A; scrollbar-darkshadow-color: #8A8A8A; scrollbar-track-color: #8A8A8A; scrollbar-arrow-color: #215A8C; }
body,td,th
{font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; color: #061D36; }
body
{margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; background-color:#DCDCDC; }
a:link
{color: #FF8400; text-decoration: none; }
a:visited
{text-decoration: none; color: #FF8400; }
a:hover
{text-decoration: none; color: #FF6600; }
a:active
{text-decoration: none; color: #FF8400; }
img
{ border : 0px; }
.bdr
{border: 1px solid #344559; }
.ctittle
{font-size: 14px; font-weight: bold; color: #FFFFFF; text-decoration: none; background-color:#0063B0; }
.mtittle
{font-size: 16px; font-weight: bold; color: #FFFFFF; text-decoration: none; background-color:#2B6082; height:40px; }
.ftittle
{font-size: 12px; font-weight: bold; color: #FFFFFF; text-decoration: none; background-color:#3A74AB; height:25px; }
.tittle
{font-size: 12px; color: #FFFFFF; text-decoration: none; background-color:#3F668A; }
.br_sp
{border-top-width: 1px; border-top-style: dotted; border-top-color: #003366; color: #003333; text-decoration: none; font-size: 11px; }
.btitle
{color: #FFFFFF; font-weight: bold; padding:5px; }
.rowdir
{background-color:#EEEEEE; color:#003333; font-weight:bold; }
.rowfile
{background-color:#FFFFFF; }
.rowbut
{background-color:#FFFFCC; }
//-->
</Style>
</Head>
<Body>
<Script language="javascript">
/*================================================= =====================*\
|| ################################################## ################## ||
|| # ---:|| Trong Javascript
|| ################################################## ################## ||
\*================================================ ======================*/
var ie45,ns6,ns4,dom;
if (navigator.appName=="Microsoft Internet Explorer") ie45=parseInt(navigator.appVersion)>=4;
else if (navigator.appName=="Netscape"){ ns6=parseInt(navigator.appVersion)>=5; ns4=parseInt(navigator.appVersion)<5;}
dom=ie45 || ns6;

function getobj(id) {
el = document.all ? document.all[id] : dom ? document.getElementById(id) : document.layers[id];
return el;
}

function checkall()
{
for ( i=0;i < document.finfo.elements.length ; i++ ){
if ( document.finfo.all.checked==true ){
document.finfo.elements[i].checked = true;
}
else
{
document.finfo.elements[i].checked = false;
}
}
}
</Script>
<table width="100%" bgcolor="#1E476A" align=center border=0 cellspacing=1 cellpadding=1>
<tr>
<td align=center class="mtittle" valign="middle"><b>Trong Ziper - Ver 1.0</b></td>
<td align=center class="ftittle">Coded by <a href="mailto:support@trong.tk">Trong</a> &copy; 2010 </td>
</tr>
</Table>
<br />
<? if ($step!=0) { ?>
<br />
<table width="70%" border="0" cellspacing="2" cellpadding="3" align="center" style="border:1px #666666 solid">
<tr>
<td align="center" bgcolor="#FFFFFF" height="100"><span id="status">
<p><img src="http://www.trong.tk/images/wait.gif" width="32" height="32" /> <img src="http://www.trong.tk/images/wait1.gif" width="32" height="32" /><img src="http://www.trong.tk/images/wait2.gif" width="32" height="32" /></p>
<p>Processing Zip Folders & Files selected .</p></span>
</td>
</tr>
</Table>
<br />
<? } else { ?>
<Form action="?step=1" id="finfo" name="finfo" method="post">
<table width="60%" border="0" cellspacing="1" cellpadding="3" align="center" style="border:1px #999999 solid">
<tr>
<td style="background-color:#2B6082; color:#FFFFFF; padding:5px;" align="left"><b>Current directory : [<?=$dirname?>]&nbsp;-&nbsp;<a href="?dirname=.">[.]</a>&nbsp;-&nbsp;<a href="?dirname=..">[..]</a>
<?
if ((!empty($dirname))&&($dirname!=".")) {
$lpath = explode("/",$dirname);
if (count($lpath)>1) echo "- <a href='?dirname={$lpath[0]}'>{$lpath[0]}</a>";
}
?></b></td>
</tr>
<?
for ($i=0;$i<count($currentdir);$i++) {
$entry = $currentdir[$i];
if (!is_dir($entry)) {
$class="rowfile";
$name = $entry;
} else {
$class="rowdir";
$name = "<a href='?dirname={$entry}'>{$entry}</a>";
// $name = $entry;
}
?>
<tr>
<td align="left" class="<?=$class?>"><Input type="checkbox" name="zdir[]" value="<?=$entry?>" /> <?=$name?></td>
</tr>
<? } ?>
<tr>
<td align="left" style="background-color:#2B6082; color:#FFFFFF"><Input type="checkbox" name="all"onclick="javascript:checkall();" /> Select all</td>
</tr>
</Table>
<br />
<table width="60%" border="0" cellspacing="1" cellpadding="3" align="center" bgcolor="#FFFFFF" style="border:1px #999999 solid">
<tr>
<td>File name : zipfiles/<Input type="text" name="filename" value="TrongZiper" size="40" />.zip</td>
<td align="right"><Input type="submit" name="submit" value=" Start " /></td>
</tr>
</Table>
</Form>
<? } ?>
<br />
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="200" align="center" bgcolor="#3A74AB"><a href="TrongZiper.php" class="btitle">Main</a></td>
<td align="center" bgcolor="#2B6082" class="btitle">Copyright &copy; ™† (¯`·_°»•&nbsp;Ðào&nbsp;V***259;n&nbsp;Trong&nbsp;•«°_·´ ) †™".</td>
</tr>
</Table>
<br />
</Body>
</HTML>
<?
if ($step==1) {
$zdir = $_POST['zdir'];
if (count($zdir)>0) {
$dirarray=array();
$dirsize=0;
$zdirsize=0;
for ($i=0;$i<count($zdir);$i++) {
$ffile = $zdir[$i];
if (is_dir($ffile)) {
getdir($ffile);
} else {
if ($fsize=@filesize($ffile)) $zdirsize+=$fsize;
}
}
$zdirsize+=$dirsize;
for ($i=0;$i<count($dirarray);$i++) {
$zdir[] = $dirarray[$i];
}
if (!@is_dir($conf['dir'])) {
$res = @mkdir($conf['dir'],0777);
if (!$res) $txtout = "Cannot create dir !<br />";
} else @chmod($conf['dir'],0777);

$zipname = $_POST['filename'];
$zipname=str_replace("/","",$zipname);
if (empty($zipname)) $zipname="TrongZiper";
$zipname.=".zip";

$ziper = new zipfile();
$ziper->addFiles($zdir);
$ziper->output("{$conf['dir']}/{$zipname}");

if ($fsize=@filesize("{$conf['dir']}/{$zipname}")) $zipsize=$fsize;
else $zipsize=0;

$zdirsize = size_format($zdirsize);
$zipsize = size_format($zipsize);
?>
<Script language="javascript">getobj('status').innerHTML="<p><b>Zip successful !</b></p><p>Download : <a href='<?=$conf['dir']?>/<?=$zipname?>'><?=$zipname?></a></p><p>Original size : <?=$zdirsize?> Zip size : <?=$zipsize?></p>";</Script>
<?
} else {
?><Script language="javascript">getobj('status').innerHTML="No file or folder selected !";</Script><?
}
}
?>