محمد السعيد10 نشر السبت في 17:38 أرسل تقرير نشر السبت في 17:38 السلام عليكم ورحمه الله وبركاته محتاج كود php لعمل نسخه احتياطيه من قاعده البيانات وكذلك كود لرفع هذه النسخه علي قاعده البيانات مع شرح الكود اذا تكرمتم ولكم خالص التحيه والتقدير 1 اقتباس
0 محمد عاطف17 نشر السبت في 18:23 أرسل تقرير نشر السبت في 18:23 وعليكم السلام ورحمة الله وبركاته. أولا تحتاج أن تتعلم كيفية إستخدام إستعلام mysqldump في mysql لأخذ نسخة إحتياطية من قاعدة البيانات . حيث هذا هو الإستعلام الذي ستقوم به وكتابته في كود php ويمكنك تعلم المزيد حول كيفية إستيراد وتصدير قاعدة بيانات mysql من خلال المقال التالي : وإليك الكود التالي لفعل ذلك من خلال php : <?php // بيانات الاتصال بقاعدة البيانات $host = 'localhost'; // خادم myqsl $user = 'root'; // اسم المستخدم $pass = ''; // كلمة المرور $dbname = 'database_name'; // اسم قاعدة البيانات // تحديد اسم الملف الذي سيتم حفظ النسخة الاحتياطية فيه $backupFile = 'backup_' . $dbname . '_' . date('Y-m-d_H-i-s') . '.sql'; // إستعلام mysql الخاص بأخذ نسخة إحتياطية $command = "mysqldump --host=$host --user=$user --password=$pass $dbname > $backupFile"; // تنفيذ الأمر system($command, $output); // التأكد من أن النسخة الاحتياطية تم إنشاؤها if ($output === 0) { echo "تم إنشاء النسخة الاحتياطية بنجاح!"; } else { echo "حدث خطأ أثناء إنشاء النسخة الاحتياطية."; } ?> وإليك الإجابة التالية بتفصيل كيف تقوم بأخذ نسخة إحتياطية وحل المشكال التي من الممكن أن تواجهك : أما إذا أردت إستعادة النسخة الاحتياطية وإستيرادها إلى قاعدة بيانات لديك فيمكنك استخدام الكود التالي: <?php // بيانات الاتصال بقاعدة البيانات $host = 'localhost'; // خادم mysql $user = 'root'; // اسم المستخدم $pass = ''; // كلمة المرور $dbname = 'database_name'; // اسم قاعدة البيانات // إسم ملف النسحة الإحتياطية التي تريد إستيراده $backupFile = 'backup_2025-02-15_12-00-00.sql'; // التأكد من أن الملف موجود if (file_exists($backupFile)) { // إستعلام mysql الخاص بإستيراد النسخة الإحتياطية $command = "mysql --host=$host --user=$user --password=$pass $dbname < $backupFile"; // تنفيذ الأمر system($command, $output); // التأكد من نجاح الاستعادة if ($output === 0) { echo "تم استعادة النسخة الاحتياطية بنجاح!"; } else { echo "حدث خطأ أثناء استعادة النسخة الاحتياطية."; } } else { echo "الملف غير موجود."; } ?> 1 اقتباس
0 محمد السعيد10 نشر الأحد في 20:02 الكاتب أرسل تقرير نشر الأحد في 20:02 بتاريخ On 15/2/2025 at 21:23 قال محمد عاطف17: <?php // بيانات الاتصال بقاعدة البيانات $host = 'localhost'; // خادم myqsl $user = 'root'; // اسم المستخدم $pass = ''; // كلمة المرور $dbname = 'database_name'; // اسم قاعدة البيانات // تحديد اسم الملف الذي سيتم حفظ النسخة الاحتياطية فيه $backupFile = 'backup_' . $dbname . '_' . date('Y-m-d_H-i-s') . '.sql'; // إستعلام mysql الخاص بأخذ نسخة إحتياطية $command = "mysqldump --host=$host --user=$user --password=$pass $dbname > $backupFile"; // تنفيذ الأمر system($command, $output); // التأكد من أن النسخة الاحتياطية تم إنشاؤها if ($output === 0) { echo "تم إنشاء النسخة الاحتياطية بنجاح!"; } else { echo "حدث خطأ أثناء إنشاء النسخة الاحتياطية."; } ?> <?php ob_start(); session_start(); if (isset($_SESSION['adminname'])) { include "initjr.php"; include $tpl . "header.php"; include $tpl . "withoutpreloader.php"; include $tpl . "sidebar.php"; include $tpl . "navbar.php"; ?> <div class="content"> <div class="container"> <div class="row justify-content-md-center"> <div class="col-lg-12 col-md-6"> <?php $dsn = 'mysql:host=localhost;dbname=rr'; $user = 'tt'; $pass = '1235'; // تحديد اسم الملف الذي سيتم حفظ النسخة الاحتياطية فيه $backupFile = 'backup_' . 'll' . '_' . date('Y-m-d_H-i-s') . '.sql'; // إستعلام mysql الخاص بأخذ نسخة إحتياطية $command = "mysqldump --host=$dsn --user=$user --password=$pass $dsn > $backupFile"; // تنفيذ الأمر system($command, $output); // التأكد من أن النسخة الاحتياطية تم إنشاؤها if ($output === 0) { $themsg = '<div class="alert alert-success text-center" role="alert">تم اخذ نسخه احتياطيه من قاعده البيانات بنجاح</div>'; redirect($themsg, 'seven'); } else { header('location:eror.php'); } } else { header('location:eror.php'); } ?> </div> </div> </div> </div> <?php include $tpl . "footer.php"; ob_end_flush(); ?> بتاريخ 3 دقائق مضت قال محمد السعيد10: <?php ob_start(); session_start(); if (isset($_SESSION['adminname'])) { include "initjr.php"; include $tpl . "header.php"; include $tpl . "withoutpreloader.php"; include $tpl . "sidebar.php"; include $tpl . "navbar.php"; ?> <div class="content"> <div class="container"> <div class="row justify-content-md-center"> <div class="col-lg-12 col-md-6"> <?php $dsn = 'mysql:host=localhost;dbname=rr'; $user = 'tt'; $pass = '1235'; // تحديد اسم الملف الذي سيتم حفظ النسخة الاحتياطية فيه $backupFile = 'backup_' . 'll' . '_' . date('Y-m-d_H-i-s') . '.sql'; // إستعلام mysql الخاص بأخذ نسخة إحتياطية $command = "mysqldump --host=$dsn --user=$user --password=$pass $dsn > $backupFile"; // تنفيذ الأمر system($command, $output); // التأكد من أن النسخة الاحتياطية تم إنشاؤها if ($output === 0) { $themsg = '<div class="alert alert-success text-center" role="alert">تم اخذ نسخه احتياطيه من قاعده البيانات بنجاح</div>'; redirect($themsg, 'seven'); } else { header('location:eror.php'); } } else { header('location:eror.php'); } ?> </div> </div> </div> </div> <?php include $tpl . "footer.php"; ob_end_flush(); ?> استاذ محمد ممكن تشيك علي الكود ده لانه ما بيعمل اي شى لا بينزل شي اقتباس
0 محمد السعيد10 نشر الاثنين في 18:08 الكاتب أرسل تقرير نشر الاثنين في 18:08 بتاريخ On 15/2/2025 at 21:23 قال محمد عاطف17: وعليكم السلام ورحمة الله وبركاته. أولا تحتاج أن تتعلم كيفية إستخدام إستعلام mysqldump في mysql لأخذ نسخة إحتياطية من قاعدة البيانات . حيث هذا هو الإستعلام الذي ستقوم به وكتابته في كود php ويمكنك تعلم المزيد حول كيفية إستيراد وتصدير قاعدة بيانات mysql من خلال المقال التالي : وإليك الكود التالي لفعل ذلك من خلال php : <?php // بيانات الاتصال بقاعدة البيانات $host = 'localhost'; // خادم myqsl $user = 'root'; // اسم المستخدم $pass = ''; // كلمة المرور $dbname = 'database_name'; // اسم قاعدة البيانات // تحديد اسم الملف الذي سيتم حفظ النسخة الاحتياطية فيه $backupFile = 'backup_' . $dbname . '_' . date('Y-m-d_H-i-s') . '.sql'; // إستعلام mysql الخاص بأخذ نسخة إحتياطية $command = "mysqldump --host=$host --user=$user --password=$pass $dbname > $backupFile"; // تنفيذ الأمر system($command, $output); // التأكد من أن النسخة الاحتياطية تم إنشاؤها if ($output === 0) { echo "تم إنشاء النسخة الاحتياطية بنجاح!"; } else { echo "حدث خطأ أثناء إنشاء النسخة الاحتياطية."; } ?> وإليك الإجابة التالية بتفصيل كيف تقوم بأخذ نسخة إحتياطية وحل المشكال التي من الممكن أن تواجهك : أما إذا أردت إستعادة النسخة الاحتياطية وإستيرادها إلى قاعدة بيانات لديك فيمكنك استخدام الكود التالي: <?php // بيانات الاتصال بقاعدة البيانات $host = 'localhost'; // خادم mysql $user = 'root'; // اسم المستخدم $pass = ''; // كلمة المرور $dbname = 'database_name'; // اسم قاعدة البيانات // إسم ملف النسحة الإحتياطية التي تريد إستيراده $backupFile = 'backup_2025-02-15_12-00-00.sql'; // التأكد من أن الملف موجود if (file_exists($backupFile)) { // إستعلام mysql الخاص بإستيراد النسخة الإحتياطية $command = "mysql --host=$host --user=$user --password=$pass $dbname < $backupFile"; // تنفيذ الأمر system($command, $output); // التأكد من نجاح الاستعادة if ($output === 0) { echo "تم استعادة النسخة الاحتياطية بنجاح!"; } else { echo "حدث خطأ أثناء استعادة النسخة الاحتياطية."; } } else { echo "الملف غير موجود."; } ?> رجاء استاذ محمد عاطف تشوف الكود في اخر ساله لانه لا يعمل معي بشكل جيد ولا يعطي اي نتائج ولك كامل الشكر والاحترام اقتباس
0 محمد عاطف17 نشر الاثنين في 21:19 أرسل تقرير نشر الاثنين في 21:19 بتاريخ 3 ساعة قال محمد السعيد10: رجاء استاذ محمد عاطف تشوف الكود في اخر ساله لانه لا يعمل معي بشكل جيد ولا يعطي اي نتائج ولك كامل الشكر والاحترام يرجى محاولة إستبدال الدالة system بالدالة exec هكذا : exec($command, $output) // بدلا من system($command, $output) إذا ظهرت مشكلة لديك يرجى إرفاقها هنا . إذا لم تظهر يرجى قراءة الإجابة التي أرفقتها لك سابقا جيدا وإتباع ما تم ذكره فيها فمن الممكن المشكلة لديك في متغيرات البيئة . وهذه هي الإجابة يرجى مراجعتها جيدا : 1 اقتباس
0 محمد السعيد10 نشر الاثنين في 22:07 الكاتب أرسل تقرير نشر الاثنين في 22:07 بتاريخ 44 دقائق مضت قال محمد عاطف17: يرجى محاولة إستبدال الدالة system بالدالة exec هكذا : exec($command, $output) // بدلا من system($command, $output) إذا ظهرت مشكلة لديك يرجى إرفاقها هنا . إذا لم تظهر يرجى قراءة الإجابة التي أرفقتها لك سابقا جيدا وإتباع ما تم ذكره فيها فمن الممكن المشكلة لديك في متغيرات البيئة . وهذه هي الإجابة يرجى مراجعتها جيدا : system($command, $output) هذه الداله اشتغلت ولكن ياتي لي هذه الكتابه Usage: mysqldump [OPTIONS] database [tables] OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...] OR mysqldump [OPTIONS] --all-databases [OPTIONS] For more options, use mysqldump --help وايضا لا يتم حفظ النسخه الاحتياطيه علي جهاز الكمبيوتر ولكن يتم حفظا في الاستضافه وجد النسخه محفوظه علي الاستضافه مع ملفات الموقع اقتباس
0 محمد عاطف17 نشر الاثنين في 22:11 أرسل تقرير نشر الاثنين في 22:11 بتاريخ 4 دقائق مضت قال محمد السعيد10: system($command, $output) هذه الداله اشتغلت ولكن ياتي لي هذه الكتابه Usage: mysqldump [OPTIONS] database [tables] OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...] OR mysqldump [OPTIONS] --all-databases [OPTIONS] For more options, use mysqldump --help وايضا لا يتم حفظ النسخه الاحتياطيه علي جهاز الكمبيوتر ولكن يتم حفظا في الاستضافه وجد النسخه محفوظه علي الاستضافه مع ملفات الموقع نعم بالفعل سيتم حفظها على الاستضافة بجوار ملف php الذي به هذا الكود . يمكنك بعد انشاء النسخة اعادة التوجيه الى اسم الملف مع المسار الموجود به وسيتم تحميل الملف على جهازك 1 اقتباس
0 محمد السعيد10 نشر الاثنين في 22:20 الكاتب أرسل تقرير نشر الاثنين في 22:20 بتاريخ 8 دقائق مضت قال محمد عاطف17: نعم بالفعل سيتم حفظها على الاستضافة بجوار ملف php الذي به هذا الكود . يمكنك بعد انشاء النسخة اعادة التوجيه الى اسم الملف مع المسار الموجود به وسيتم تحميل الملف على جهازك ممكن تعطيني كود لذلك 1 اقتباس
0 Mustafa Suleiman نشر الثلاثاء في 17:19 أرسل تقرير نشر الثلاثاء في 17:19 بتاريخ 17 ساعة قال محمد السعيد10: ممكن تعطيني كود لذلك ستحتاج إلى رأس Content-Disposition لفرض التحميل، وإرسال محتوى الملف مباشرةً إلى المتصفح ثم حذف الملف من الخادم بعد التحميل لو أردت وذلك اختياري. <?php $host = 'localhost'; $user = 'root'; $pass = ''; $dbname = 'database_name'; // اسم الملف المؤقت على الخادم $backupFile = 'backup_' . $dbname . '_' . date('Y-m-d_H-i-s') . '.sql'; $command = "mysqldump -h $host -u $user"; if (!empty($pass)) { $command .= " -p$pass"; } $command .= " $dbname > $backupFile"; $returnValue = system($command, $output, $returnCode); if ($returnCode === 0 && file_exists($backupFile)) { header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="' . basename($backupFile) . '"'); header('Content-Length: ' . filesize($backupFile)); readfile($backupFile); unlink($backupFile); exit; } else { echo "<b>حدث خطأ أثناء عمل النسخة الاحتياطية:</b><br><br>"; echo "<b>قيمة الخروج من الأمر (Return Code):</b> " . $returnCode . "<br><br>"; if (!empty($output)) { echo "<b>رسائل الخطأ (إن وجدت):</b><pre>"; foreach ($output as $line) { echo htmlspecialchars($line) . "<br>"; } echo "</pre>"; } else { echo "<b>لم يتم الحصول على أي رسائل خطأ تفصيلية من الأمر.</b><br>"; } } ?> unlink($backupFile) لحذف الملف المؤقت $backupFile من الخادم، وكما أشرت إجراء اختياري، ومن الأفضل فعل ذلك حيث لا داعي للاحتفاظ بنسخة احتياطية على الخادم بعد تحميلها للحفاظ على أمن قاعدة البيانات. اقتباس
السؤال
محمد السعيد10
السلام عليكم ورحمه الله وبركاته
محتاج كود php
لعمل نسخه احتياطيه من قاعده البيانات وكذلك كود لرفع هذه النسخه علي قاعده البيانات
مع شرح الكود اذا تكرمتم ولكم خالص التحيه والتقدير
8 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.