مدونة ومنتديات صهيب هكر فلسطين


 
الرئيسيةبحـثالتسجيلدخول
دخول
اسم العضو:
كلمة السر:
ادخلني بشكل آلي عند زيارتي مرة اخرى: 
:: لقد نسيت كلمة السر
خدمات اقدمها لكم
  • طريقة اخفاء الاي بي
  • المواضيع الأخيرة
    أفضل 10 أعضاء في هذا المنتدى
    sohaib hack
     
    مسترر زيرو
     
    Ab-oood
     
    هہٰہٰتلہٰرالمغربي
     
    فلسطيني حر
     
    hero01
     
    سمو المتمرد
     
    mohamed120
     

    شاطر | 
     

     أخذ نسخة احتياطية لقاعدة البيانات ب php

    استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل 
    كاتب الموضوعرسالة
    sohaib hack
    Admin
    Admin
    avatar

    عدد المساهمات : 121
    نقاط : 323
    تاريخ التسجيل : 20/09/2012

    مُساهمةموضوع: أخذ نسخة احتياطية لقاعدة البيانات ب php   الأربعاء أكتوبر 24, 2012 11:29 pm

    مع هذه الكلاس الرائعة ستتمكن بكل سهولة ويسر ان تقوم بأخذ نسخة احتياطية لاى قاعدة بيانات

    ويمكنك اضافة هذه الخاصية فى لوحة تحكم اسكربتك حتى يقوم المستخدم بأخذ نسخة احتياطية لقاعدة البياانات الاسكربت


    الكود:



    001.
    <?php
    002.
    /*
    003.
    MySQL database backup class, version 1.0.0
    004.
    Written by Vagharshak Tozalakyan <vagh#armdex.com>
    005.
    Released under GNU Public license
    006.
    */
    007.
    define('MSB_VERSION', '1.0.0');
    008.
    define('MSB_NL', "\r\n");
    009.
    define('MSB_STRING', 0);
    010.
    define('MSB_DOWNLOAD', 1);
    011.
    define('MSB_SAVE', 2);
    012.
    class MySQL_Backup
    013.
    {
    014.
    var $server = 'localhost';
    015.
    var $port = 3306;
    016.
    var $username = 'root';
    017.
    var $password = '';
    018.
    var $database = '';
    019.
    var $link_id = -1;
    020.
    var $connected = false;
    021.
    var $tables = array();
    022.
    var $drop_tables = true;
    023.
    var $struct_only = false;
    024.
    var $comments = true;
    025.
    var $backup_dir = '';
    026.
    var $fname_format = 'd_m_y__H_i_s';
    027.
    var $error = '';
    028.
    function Execute($task = MSB_STRING, $fname = '', $compress = false)
    029.
    {
    030.
    if (!($sql = $this->_Retrieve()))
    031.
    {
    032.
    return false;
    033.
    }
    034.
    if ($task == MSB_SAVE)
    035.
    {
    036.
    if (empty($fname))
    037.
    {
    038.
    $fname = $this->backup_dir;
    039.
    $fname .= date($this->fname_format);
    040.
    $fname .= ($compress ? '.sql.gz' : '.sql');
    041.
    }
    042.
    return $this->_SaveToFile($fname, $sql, $compress);
    043.
    }
    044.
    elseif ($task == MSB_DOWNLOAD)
    045.
    {
    046.
    if (empty($fname))
    047.
    {
    048.
    $fname = date($this->fname_format);
    049.
    $fname .= ($compress ? '.sql.gz' : '.sql');
    050.
    }
    051.
    return $this->_DownloadFile($fname, $sql, $compress);
    052.
    }
    053.
    else
    054.
    {
    055.
    return $sql;
    056.
    }
    057.
    }
    058.
    function _Connect()
    059.
    {
    060.
    $value = false;
    061.
    if (!$this->connected)
    062.
    {
    063.
    $host = $this->server . ':' . $this->port;
    064.
    $this->link_id = mysql_connect($host, $this->username, $this->password);
    065.
    }
    066.
    if ($this->link_id)
    067.
    {
    068.
    if (empty($this->database))
    069.
    {
    070.
    $value = true;
    071.
    }
    072.
    elseif ($this->link_id !== -1)
    073.
    {
    074.
    $value = mysql_select_db($this->database, $this->link_id);
    075.
    }
    076.
    else
    077.
    {
    078.
    $value = mysql_select_db($this->database);
    079.
    }
    080.
    }
    081.
    if (!$value)
    082.
    {
    083.
    $this->error = mysql_error();
    084.
    }
    085.
    return $value;
    086.
    }
    087.
    function _Query($sql)
    088.
    {
    089.
    if ($this->link_id !== -1)
    090.
    {
    091.
    $result = mysql_query($sql, $this->link_id);
    092.
    }
    093.
    else
    094.
    {
    095.
    $result = mysql_query($sql);
    096.
    }
    097.
    if (!$result)
    098.
    {
    099.
    $this->error = mysql_error();
    100.
    }
    101.
    return $result;
    102.
    }
    103.
    function _GetTables()
    104.
    {
    105.
    $value = array();
    106.
    if (!($result = $this->_Query('SHOW TABLES')))
    107.
    {
    108.
    return false;
    109.
    }
    110.
    while ($row = mysql_fetch_row($result))
    111.
    {
    112.
    if (empty($this->tables) || in_array($row[0], $this->tables))
    113.
    {
    114.
    $value[] = $row[0];
    115.
    }
    116.
    }
    117.
    if (!sizeof($value))
    118.
    {
    119.
    $this->error = 'No tables found in database.';
    120.
    return false;
    121.
    }
    122.
    return $value;
    123.
    }
    124.
    function _DumpTable($table)
    125.
    {
    126.
    $value = '';
    127.
    $this->_Query('LOCK TABLES ' . $table . ' WRITE');
    128.
    if ($this->comments)
    129.
    {
    130.
    $value .= '#' . MSB_NL;
    131.
    $value .= '# Table structure for table `' . $table . '`' . MSB_NL;
    132.
    $value .= '#' . MSB_NL . MSB_NL;
    133.
    }
    134.
    if ($this->drop_tables)
    135.
    {
    136.
    $value .= 'DROP TABLE IF EXISTS `' . $table . '`;' . MSB_NL;
    137.
    }
    138.
    if (!($result = $this->_Query('SHOW CREATE TABLE ' . $table)))
    139.
    {
    140.
    return false;
    141.
    }
    142.
    $row = mysql_fetch_assoc($result);
    143.
    $value .= str_replace("\n", MSB_NL, $row['Create Table']) . ';';
    144.
    $value .= MSB_NL . MSB_NL;
    145.
    if (!$this->struct_only)
    146.
    {
    147.
    if ($this->comments)
    148.
    {
    149.
    $value .= '#' . MSB_NL;
    150.
    $value .= '# Dumping data for table `' . $table . '`' . MSB_NL;
    151.
    $value .= '#' . MSB_NL . MSB_NL;
    152.
    }
    153.
    $value .= $this->_GetInserts($table);
    154.
    }
    155.
    $value .= MSB_NL . MSB_NL;
    156.
    $this->_Query('UNLOCK TABLES');
    157.
    return $value;
    158.
    }
    159.
    function _GetInserts($table)
    160.
    {
    161.
    $value = '';
    162.
    if (!($result = $this->_Query('SELECT * FROM ' . $table)))
    163.
    {
    164.
    return false;
    165.
    }
    166.
    while ($row = mysql_fetch_row($result))
    167.
    {
    168.
    $values = '';
    169.
    foreach ($row as $data)
    170.
    {
    171.
    $values .= '\'' . addslashes($data) . '\', ';
    172.
    }
    173.
    $values = substr($values, 0, -2);
    174.
    $value .= 'INSERT INTO ' . $table . ' VALUES (' . $values . ');' . MSB_NL;
    175.
    }
    176.
    return $value;
    177.
    }
    178.
    function _Retrieve()
    179.
    {
    180.
    $value = '';
    181.
    if (!$this->_Connect())
    182.
    {
    183.
    return false;
    184.
    }
    185.
    if ($this->comments)
    186.
    {
    187.
    $value .= '#' . MSB_NL;
    188.
    $value .= '# MySQL database dump' . MSB_NL;
    189.
    $value .= '# Created by MySQL_Backup class, ver. ' . MSB_VERSION . MSB_NL;
    190.
    $value .= '#' . MSB_NL;
    191.
    $value .= '# Host: ' . $this->server . MSB_NL;
    192.
    $value .= '# Generated: ' . date('M j, Y') . ' at ' . date('H:i') . MSB_NL;
    193.
    $value .= '# MySQL version: ' . mysql_get_server_info() . MSB_NL;
    194.
    $value .= '# PHP version: ' . phpversion() . MSB_NL;
    195.
    if (!empty($this->database))
    196.
    {
    197.
    $value .= '#' . MSB_NL;
    198.
    $value .= '# Database: `' . $this->database . '`' . MSB_NL;
    199.
    }
    200.
    $value .= '#' . MSB_NL . MSB_NL . MSB_NL;
    201.
    }
    202.
    if (!($tables = $this->_GetTables()))
    203.
    {
    204.
    return false;
    205.
    }
    206.
    foreach ($tables as $table)
    207.
    {
    208.
    if (!($table_dump = $this->_DumpTable($table)))
    209.
    {
    210.
    $this->error = mysql_error();
    211.
    return false;
    212.
    }
    213.
    $value .= $table_dump;
    214.
    }
    215.
    return $value;
    216.
    }
    217.
    function _SaveToFile($fname, $sql, $compress)
    218.
    {
    219.
    if ($compress)
    220.
    {
    221.
    if (!($zf = gzopen($fname, 'w9')))
    222.
    {
    223.
    $this->error = 'Can\'t create the output file.';
    224.
    return false;
    225.
    }
    226.
    gzwrite($zf, $sql);
    227.
    gzclose($zf);
    228.
    }
    229.
    else
    230.
    {
    231.
    if (!($f = fopen($fname, 'w')))
    232.
    {
    233.
    $this->error = 'Can\'t create the output file.';
    234.
    return false;
    235.
    }
    236.
    fwrite($f, $sql);
    237.
    fclose($f);
    238.
    }
    239.
    return true;
    240.
    }
    241.
    function _DownloadFile($fname, $sql, $compress)
    242.
    {
    243.
    header('Content-disposition: filename=' . $fname);
    244.
    header('Content-type: application/octetstream');
    245.
    header('Pragma: no-cache');
    246.
    header('Expires: 0');
    247.
    echo ($compress ? gzencode($sql) : $sql);
    248.
    return true;
    249.
    }
    250.
    }
    251.
    ?>


    طريقة الاستخدام : أسهل مما تتخيل

    فقط قم باضافة بيانات الاتصال بقاعدة البيانات المراد أخذ باك اب لها

    الكود:

    1.
    var $server = 'localhost';
    2.
    var $port = 3306;
    3.
    var $username = 'root';
    4.
    var $password = '';
    5.
    var $database = '';
    6.
     


    ودع الباقى على الكلاس

    لتحميل الملف من هــــــــــــــــــنا

    cheers cheers cheers cheers cheers
    cheers cheers cheers cheers
    cheers cheers cheers
    cheers cheers
    cheers
    الرجوع الى أعلى الصفحة اذهب الى الأسفل
    معاينة صفحة البيانات الشخصي للعضو http://sohaib-hack.lolbb.com
     
    أخذ نسخة احتياطية لقاعدة البيانات ب php
    استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة 
    صفحة 1 من اصل 1

    صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
    مدونة ومنتديات صهيب هكر فلسطين :: لغات البرمجه وانشاء الاكواد :: لغة php-
    انتقل الى: