النسخ الاحتياطي واستعادة قاعدة بيانات MySQL في PHP – التمهيد

مرحبًا بالجميع ، أراكم مرة أخرى معي Portgastea ، رجل سوداني وسيم وسيم , هذا البرنامج التعليمي النسخ الاحتياطي واستعادة قاعدة بيانات MySQL في PHP مع عرض Bootstrap.

يوصى بشدة بعمل نسخ احتياطية من قاعدة البيانات الخاصة بنا, سيسمح لنا عمل نسخة احتياطية بإنشاء ملف نسخ احتياطي في حالة تلف قاعدة البيانات الرئيسية. في الكيفية التعليمية النسخ الاحتياطي استعادة قاعدة البيانات MySQL في PHP نحن نتدرب على هذا لعمل نسخة احتياطية وكذلك استعادة الجدول الداخلي قاعدة بيانات MySQL مع عرض التمهيد لجعل النظر إليه أكثر جاذبية.

حسنًا ، لنقم فقط بإنشاء برنامج نصي للاتصال بقاعدة البيانات على النحو التالي

<?بي أتش بي
// تحديد اتصال بقاعدة البيانات
$الخادم = "localhost";
$اسم المستخدم = "root";
$كلمه السر = "12345";
$قاعدة البيانات = "tutorial";
 
// الاتصال وتحديد قاعدة البيانات على الخادم
mysql_connect($الخادم,$اسم المستخدم,$كلمه السر) أو ال("Koneksi gagal");
mysql_select_db($قاعدة البيانات) أو ال("Database tidak bisa dibuka");
?>

نقوم بإنشاء ملف فهرس على النحو التالي :

<!DOCTYPE html>
<أتش تي أم أل لانج="en">
  <رئيس>
    <أحرف التعريف="utf-8">
    <عنوان>مجموعة من أمثلة تطبيق Andeznet</عنوان>
    <اسم ميتا="viewport" المحتوى="width=device-width, المقياس الأولي = 1.0">
    <اسم ميتا="description" المحتوى="">
    <اسم ميتا="author" المحتوى="">
 
    <!-- الأنماط -->
	    <رابط href="assets/css/bootstrap.css" rel="stylesheet" وسائل الإعلام="screen">
        <رابط href="assets/css/bootstrap-responsive.min.css" rel="stylesheet" وسائل الإعلام="screen">
		 <رابط href="assets/css/bootstrap.min.css" rel="stylesheet" وسائل الإعلام="screen">
 
    <أسلوب>
      الجسم {
        حشوة-أعلى: 60مقصف; /* 60بكسل لجعل الحاوية تذهب طوال الطريق إلى أسفل الشريط العلوي */
      }
    </أسلوب>
    <رابط href="assets/css/bootstrap-responsive.css" rel="stylesheet">
 
    <!-- HTML5 shim, إلى عن على IE6-8 دعم عناصر HTML5 -->
    <!--[إذا lt IE 9]>
      <النصي src="../assets/js/html5shiv.js"></النصي>
    <![إنهاء إذا]-->
 
    <!-- مفضل و لمس. اتصال. صلة الرموز -->
    <ارتباط rel="apple-touch-icon-precomposed" الأحجام="144x144" href="assets/ico/apple-touch-icon-144-precomposed.png">
    <ارتباط rel="apple-touch-icon-precomposed" الأحجام="114x114" href="assets/ico/apple-touch-icon-114-precomposed.png">
      <ارتباط rel="apple-touch-icon-precomposed" الأحجام="72x72" href="assets/ico/apple-touch-icon-72-precomposed.png">
                    <ارتباط rel="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-precomposed.png">
                                   <ارتباط rel="shortcut icon" href="assets/ico/logoandeznet.png">
  </رئيس>
 
  <الجسم>
 
   <شعبة صف دراسي="navbar navbar-inverse navbar-fixed-top">
      <شعبة صف دراسي="navbar-inner">
        <شعبة صف دراسي="container">
          <نوع الزر="button" صف دراسي="btn btn-navbar" البيانات-تبديل="collapse" البيانات-استهداف=".nav-collapse">
            <امتداد صف دراسي="icon-bar"></امتداد>
            <امتداد صف دراسي="icon-bar"></امتداد>
            <امتداد صف دراسي="icon-bar"></امتداد>
          </زر>
          <أ صف دراسي="brand" href="http://andeznet.com">AndezNet</أ>
          <شعبة صف دراسي="nav-collapse collapse">
            <ال صف دراسي="nav">
              <في ال صف دراسي="active"><ل زار="media.php">الصفحة الرئيسية</أ></في ال>
 
				<في ال صف دراسي="dropdown">
					<أ صف دراسي="dropdown-toggle" البيانات-تبديل="dropdown" href="#">تطبيق مثال<ب صف دراسي="caret"></ب></أ>
				<ال صف دراسي="dropdown-menu">
				 <في ال>
                 <تابينديكس="-1" href="statistik.php">إحصائيات المسجل</أ>
                </في ال>
				<في ال>
                 <تابينديكس="-1" href="backuprestore.php">اسنرجاع البيانات</أ>
                </في ال>
				<في ال>
				<تابينديكس="-1" href="carialamat.php">بحث العنوان</أ>
				</في ال>
				<في ال>
				<تابينديكس="-1" href="playerbootsrap/index.html">مشغل MP3</أ>
				</في ال>
				</ال>
				</في ال>
 
			  <في ال><ل زار="#">حول</أ></في ال>
 
              <في ال>
				<ل زار="logout.php" هوية شخصية="logout" عند النقر="return confirm('هل أنت واثق?")">
				<أنا صف دراسي="ace-icon fa fa-power-off"></أنا>
				تسجيل خروج
			</أ>
			</في ال>
            </ال>
          </شعبة><!--/.غير صحيح-انهيار -->
        </شعبة>
      </شعبة>
    </شعبة>
 
    <شعبة صف دراسي="container">
 
    </شعبة>
</شعبة>
 
 
 
<!-- جافا سكريبت
    =================================================== -->
    <!-- توضع في النهاية من المستند بحيث يتم تحميل الصفحات بشكل أسرع -->
    <النصي src="assets/js/jquery.js"></النصي>
    <النصي src="assets/js/bootstrap.min.js"></النصي>
 
 
  </الجسم>
</لغة البرمجة>

الآن نقوم بإنشاء برنامج PHP للنسخ الاحتياطي & استعادة

<?بي أتش بي
 
                //تنزيل نسخة احتياطية للملف =============================================
                إذا(ايسيت($_احصل على['اسم الملف']))
                {
                    $ملف = $back_dir.$_احصل على['اسم الملف'];
 
                    إذا (الملف موجود($ملف))
                    {
                        رأس('وصف المحتوى: نقل الملف ');
                        رأس('نوع المحتوى: التطبيق / الثماني تيار ');
                        رأس(ترتيب المحتوى: المرفق; اسم الملف = '.الاسم الأساسي($ملف));
                        رأس(ترميز نقل المحتوى: الثنائية');
                        رأس(تنتهي: 0");
                        رأس(التحكم في ذاكرة التخزين المؤقت: نشر');
                        رأس(براغما: نشر');
                        رأس('طول المحتوى: " . حجم الملف($ملف));
                        ob_clean();
                        دافق();
                        إقرا الملف($ملف);
                        خروج;
 
                    }
                    آخر
                    {
                        صدى صوت "file {$_احصل على['اسم الملف']} بالفعل غير متوفر.";
                    }
 
                }
 
                //قاعدة بيانات النسخ الاحتياطي ================================================= =
                إذا(ايسيت($_بريد['دعم']))
                {
                    دعم($ملف);
 
					صدى صوت تم الانتهاء من النسخ الاحتياطي لقاعدة البيانات <a style="cursor:المؤشر" href="'.$ملف."" title="Download">تحميل قاعدة بيانات الملف</أ>";
 
                    صدى صوت "<قبل>";
                    print_r($إرجاع);
                    صدى صوت "</قبل>";
                }
                آخر
                {
                    غير محدد($_بريد['دعم']);
                }
 
                //استعادة قاعدة البيانات =================================================
                إذا(ايسيت($_بريد["استعادة"]))
                {
                    استعادة($_FILES['ملف البيانات']);
 
                    صدى صوت "<قبل>";
                    print_r($خطوط);
                    صدى صوت "</قبل>";
                }
                آخر
                {
                    غير محدد($_بريد["استعادة"]);
                }
 
                ?>
 
 
            <?بي أتش بي
 
            وظيفة استعادة($ملف) {
                عالمي $بقية;
 
                $اسم الملف	= $ملف['اسم'];
                $ukrn_file	= $ملف['بحجم'];
                $tmp_file	= $ملف['tmp_name'];
 
                إذا ($اسم الملف == "")
                {
                    صدى صوت "Fatal Error";
                }
                آخر
                {
                    $عنوانالملف	= $بقية.$اسم الملف;
                    $تمبلن	= مجموعة مصفوفة();
 
                    إذا (move_uploaded_file($tmp_file , $عنوانالملف))
                    {
 
                        $تمبلن	= ";
                        $خطوط		= ملف($عنوانالملف);
 
                        foreach ($خطوط مثل $خط)
                        {
                            إذا (الجزء الفرعي($خط, 0, 2) == "-" || $خط == ")
                                استمر;
 
                            $تمبلن .= $خط;
 
                            إذا (الجزء الفرعي(تقليم($خط), -1, 1) == ";")
                            {
                                mysql_query($تمبلن) أو طباعة('Query gagal \'<قوي>" . $تمبلن . '\': " . الخلية خطأ() . "<ر /><ر />");
 
                                $تمبلن = ";
                            }
                        }
                        صدى صوت "<مركز>تمت استعادة قاعدة البيانات بنجاح, يرجى المراجعة.</مركز>";
 
                    }آخر{
                        صدى صوت "Proses upload gagal, خطأ في الكود = " . $ملف['خطأ'];
                    }
                }
 
            }
 
            وظيفة دعم($اسم الملف,$الجداول = ")
            {
                عالمي $إرجاع, $الجداول, $back_dir, $قاعدة البيانات ;
 
                إذا($الجداول == ")
                {
                    $الجداول = مجموعة مصفوفة();
                    $نتيجة = @mysql_list_tables($قاعدة البيانات);
                    في حين($صف = @mysql_fetch_row($نتيجة))
                    {
                        $الجداول[] = $صف[0];
                    }
                }آخر{
                    $الجداول = is_array($الجداول) ? $الجداول : ينفجر(",",$الجداول);
                }
 
                $إرجاع	= ";
 
                foreach($الجداول مثل $الطاولة)
                {
                    $نتيجة	 = @mysql_query('تحديد * من عند '.$الطاولة);
                    $عدد_حقول = @mysql_num_fields($نتيجة);
 
                    //أدخل استعلام جدول منسدل لحذف الجدول القديم لاحقًا
                    $إرجاع	.= "DROP TABLE IF EXISTS ".$الطاولة.";";
                    $صف 2	 = @mysql_fetch_row(mysql_query("عرض إنشاء الجدول".$الطاولة));
                    $إرجاع	.= "".$صف 2[1].";";
 
                    إلى عن على ($أنا = 0; $أنا < $عدد_حقول; $أنا++)
                    {
                        في حين($صف = @mysql_fetch_row($نتيجة))
                        {
                            $إرجاع.= 'ادخل في '.$الطاولة.' القيم(";
 
                            إلى عن على(=0; <$عدد_حقول; ++)
                            {
                                $صف[] = @مائل($صف[]);
                                $صف[] = @ereg_replace("","\\ن",$صف[]);
                                إذا (ايسيت($صف[])) { $إرجاع.= '"'.$صف[].'"' ; } آخر { $إرجاع.= '""'; }
                                إذا (<($عدد_حقول-1)) { $إرجاع.= ","; }
                            }
                            $إرجاع.= ");";
                        }
                    }
                    $إرجاع.="";
                }
 
                $اسم الملف;
 
                $مقبض = fopen($back_dir.$اسم الملف,"w +");
                fwrite($مقبض, $إرجاع);
                fclose($مقبض);
            }
            ?>

أدخل سكربت php أعلاه في ملف index.php بعد ذلك <فئة div =”حاوية”> بعد ذلك نقوم بتشغيله على المضيف المحلي http://المضيف المحلي / البرنامج التعليمي , إذا كانت صحيحة ستظهر مثل الصورة أدناه .

دعم

لاستعادته مثل هذا

استعادة مع php bootstrap

حسنًا ، انتهى البرنامج التعليمي هذه المرة,لتنزيل SourceCode ، يمكنك تنزيل تطبيق KSC Ver.1.0.0 مباشرةً, يوجد بالداخل نموذج تسجيل الدخول, تسجيل,دعم,استعادة & مجموعة من soucecode من دروس AndezNET.com التي أشاركها مجانًا.

تحميل

ربما يعجبك أيضا...

6 استجابات

  1. روبن يقول:

    اسأل عندما أستعيد الحجم كبير جدًا ، كيف يمكنني أن أجعله ناجحًا في استعادة قاعدة بيانات gt..

    • بورتغاستيا يقول:

      إن شاء الله مهما كان حجم قاعدة البيانات يمكن استعادتها, قد يستغرق الأمر بعض الوقت للاستعادة بحجم كبير

  2. ارول يقول:

    شكرا لتقاسم النسخ الاحتياطي ديسيبل, لكني أحاول أن أواجه مشكلة عندما لا يعمل تنزيل ملف sql, tidak langsung download file .sql melainkan ke tab baru.

اترك رد

لن يتم نشر عنوان بريدك الإلكتروني. الحقول المطلوبة محددة *