/ Published in: PHP
Копирование бд через 80 порт
Expand |
Embed | Plain Text
<?php require_once("../core.php"); require_once(BASEDIR."getpage.php"); $parse = "////\n"; function structuredb(){ include("backup_cnt.php"); $struct_db = "structure_".$backup_dbname.".dat"; // файл структуры БД for ($i = 0; $i < $count_fields; $i++){ // перебор полей $name_fields = mysql_field_name($fields, $i); // создание массива с именами полей для дальнейшей выборки из бд } // END FOR #1 } // END WHILE #1 $content = "<b>Save structure db $backup_dbname - complite.</b>"; $content .= "<H3>Структура БД: $backup_dbname</H3><BR /><BR />"; $content .= $data; $content .= "<hr> <form method=\"post\" action='".$_SERVER['PHP_SELF']."'> <input type=\"submit\" name=\"nextstep\" value=\"Туче\"> </form>"; return $content; //"Function Structure DB"; } function copydb($parse,$start){ include("backup_cnt.php"); $content = ""; $dirdata = "database"; $name_fields = ""; for ($i = 0; $i < $count_fields; $i++){ // перебор полей $name_fields[] .= mysql_field_name($fields, $i); // создание массива с именами полей для дальнейшей выборки из бд } // END FOR #2 $max_count = 5000; if ($count_str > $max_count){ $file = $backup_table[$i_table].".dat"; } if ($count_str >= $start + $max_count){ $sql = mysql_query("SELECT * FROM ".$backup_table[$i_table]." LIMIT $start, $max_count"); // выборка $i = 0; for ($y = 0; $y < $count_fields; $y++){ $name_field_db = $name_fields[$y]; $dstr = $data_field."\n"; } // END FOR #2 $i++; } // END WHILE #2 $start = $start + $max_count; print "<meta http-equiv=\"refresh\" content=\"2;url=http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."?s=$start\">"; break; // END IF $count_str > $start + $max_count } elseif ($count_str > $start){ // копируем остаток таблицы $count = $count_str - $start; $i = 0; for ($y = 0; $y < $count_fields; $y++){ $name_field_db = $name_fields[$y]; $dstr = $data_field."\n"; } // END FOR #2 $i++; } // END WHILE #2 } if ($j == $i_table) $backup_table[$j] = "#".$backup_table[$j]; } if ($j == $i_table) $backup_table[$j] = "#".$backup_table[$j]; $content .= "Table <b>".$backup_table[$i_table]."</b> ($count_str) - complite.<br>"; } else { $file = $backup_table[$i_table].".dat"; $i = 0; for ($y = 0; $y < $count_fields; $y++){ $name_field_db = $name_fields[$y]; $dstr = $data_field."\n"; } // END FOR #2 $i++; } // END WHILE #2 if ($j == $i_table) $backup_table[$j] = "#".$backup_table[$j]; } if ($j == $i_table) $backup_table[$j] = "#".$backup_table[$j]; $content .= "Table <b>".$backup_table[$i_table]."</b> ($i) - complite.<br>"; } // if > 5000 } } // END FOR #1 $content .= sendmail(); } return $content; } function sendmail(){ "; "; "; $headers .= "X-Mailer: Jonel\n"; $headers .= "MIME-Version: 1.0 "; $headers .= "Content-Type: multipart/mixed; boundary=\"$boundary\" "; $kod = 'windows-1251'; // utf-8 $multipart .= "--$boundary\n"; $multipart .= "Content-Type: text/html; charset=$kod\n"; $multipart .= "Content-Transfer-Encoding: Quot-Printed\n\n"; $multipart .= "Backup\n\n"; global $backup_dbname; $path = "structure_".$backup_dbname.".dat"; if ($fp){ $message_part = ""; $message_part .= "Content-Type: application/octet-stream"; $message_part .= "; name = \"$path\"\n"; $message_part .= "Content-Transfer-Encoding: base64\n"; $message_part .= "Content-Disposition: attachment; filename = \"".$path."\"\n\n"; $multipart .= "--$boundary\n".$message_part; } } $path = "database/".$filename; if ($fp){ $message_part = "Content-Type: application/octet-stream"; $message_part .= "; name = \"$filename\"\n"; $message_part .= "Content-Transfer-Encoding: base64\n"; $message_part .= "Content-Disposition: attachment; filename = \"".$path."\"\n\n"; $multipart .= "--$boundary\n".$message_part; } // END IF #2 } } // END WHILE $multipart .= "--$boundary--\n"; return "Message sent."; else return "Error sending."; } $content = " <div class=\"logStyle\"> <h2>Backup</h2>"; //&& isset($_GET['t']) && !empty($_GET['t']) //$table = htmlspecialchars($_GET['t'], ENT_QUOTES); $content .= copydb($parse,$start); $backup_lp = $_POST['user_db']."\n".$_POST['pass_db']; // Подключение к серверу и выбор базы для копирования $backup_servername = $backup_data[0]; $backup_login = $backup_data[1]; $backup_password = $backup_data[2]; if (!$backup_conn){ // Если неверный логин/пароль - то удаляем их из файла, тем самым попадаем на их ввод. die("Could not connect: <b>Неверный логин или пароль.</b> <i>Страница перезагрузится автоматически через 5 секунд.</i>"); } else { $content .= " <form method=\"post\" action='".$_SERVER['PHP_SELF']."'> <h4>База данный для копирования:</h4> <div><select name=\"name_db\"> <option>--</option>"; $content .= " <option value='".$backup_db_name->Database."'"; if(isset($backup_dbname) && $backup_db_name->Database == $backup_dbname) $content .= " selected"; $content .= ">".$backup_db_name->Database."</option>"; } $content .= " </select> <input type=\"checkbox\" name=\"copy_struct\" value=\"1\"><i>Копировать структуру базы.</i></div><br /> <input type=\"submit\" name=\"step_3\" value=\"Ñîõðàíèòü\"> </form>"; } // $backup_servername = $backup_str[0]; $backup_login = $backup_str[1]; $backup_password = $backup_str[2]; $backup_dbname = $backup_str[3]; $backup_write = '<?php'."\n".'$backup_servername = "'.$backup_servername.'";'."\n".'$backup_login = "'.$backup_login.'";'."\n".'$backup_password = "'.$backup_password.'";'."\n".'$backup_dbname = "'.$backup_dbname.'";'."\n".'?>'; include("backup_cnt.php"); // } else $content .= copydb($parse,""); } else { if ($backup_count_str == 1){ // Переменные $backup_login/$backup_password получаются из существующего конфиг-файла (если он существует). $content .= " <form method=\"post\" action='".$_SERVER['PHP_SELF']."'> <h4>Login:</h4><input type=\"text\" name=\"user_db\" value=\"".$backup_login."\"> <h4>Password:</h4><input type=\"text\" name=\"pass_db\" value=\"".$backup_password."\"> <input type=\"submit\" name=\"step_2\" value=\"Save\"> </form>"; } else { } } // После копирования структуры бд $content .= copydb($parse,""); // Удаление найденного конфига } else { $content .= "<h4>Найдет файл конфигурации:</h4>"; $content .= "<b>Server Name: </b>".$backup_servername."<br>"; $content .= "<b>Login: </b>".$backup_login."<br>"; $content .= "<b>Password: </b>".$backup_password."<br>"; $content .= "<b>DB Name: </b>".$backup_dbname."<br>"; $content .= "<hr><form method=\"post\" action='".$_SERVER['PHP_SELF']."'><input type=\"submit\" name=\"deleteconfig\" value=\"Delete\"></form>"; } $content .= " <form method=\"post\" action='".$_SERVER['PHP_SELF']."'> <h4>Name server:</h4><input type=\"text\" name=\"servername\" value=\"$backup_servername\"> <input type=\"submit\" name=\"step_1\" value=\"Next\"> </form>"; } $content .= "</div>"; getPage($content,""); ?>
You need to login to post a comment.
