ايمن ميلاد نشر 6 فبراير أرسل تقرير نشر 6 فبراير السلام عليكم لدي كود تالي لعمل نسخ احتياطي لماذا لا يمكن عمل نسخ احتياطي علي localhost <?php include('header.php'); if($_SESSION['rols_user'] != "مدير النظام"){ exit("<div class='alert alert-danger col-md-6 text-center pan1' role='alert' >you don't have permission</div>"); } function backup(){ $db_name = "sys_std"; $db_user = "root"; $password = ""; $filename='database_backup_'.date('Y-m-d-h-i-s').'.sql'; $result = exec('mysqldump '.$db_name.' --password='.$password.' --user='.$db_user.' --single-transaction >'.dirname(__FILE__).'/'.$filename,$output); if($output==''){ echo '<div class="alert alert-danger text-center col-md-6" role="alert">حذث خطأ في النسخ الأحتياطي</div>'; }else { echo '<div class="alert alert-success text-center col-md-6" role="alert"><h3> تم النسخ الأحتياطي بنجاح'; echo '<p><a href="/'.dirname(__FILE__).'/'.$filename.'" target="_blank">اضغط هنا للتحميل ملف النسخ الأحتياطي</a></p></h3>'; echo '</div>'; } } ?> <!--------------------------------------------------------------------------------> <!------------------------------------header--------------------------------------> <!--------------------------------------------------------------------------------> </div> <div class="row"> <div class="col-md-9 pan1"> <div class="panel" style="color:#000;"> <div class="panel-body text-center" style="font-size:14px; padding-left:40px;padding-right:40px;padding-bottom:25px;padding-top:25px;"> <?php $os_name = php_uname('s'); if($os_name == "Linux"){ echo '<p><a href="?backup=now"><h3 style="margin-top: 35px;"> لنسخة احتياطية اضغط هنا </h3></a></p>'; if(isset($_GET['backup'])){ if($_GET['backup'] == "now"){ backup(); } } }else{ echo ' <div style="margin-top:25px;" class="text-center alert alert-danger" role="alert">لا يعمل النسخ الاحتياطي علي الهوست الافتراضي يجب ان يكون استضافة لينكس حقيقية حتي يمكن من تفعيل السكربت النسخ الاحتياطي</div>'; } ?> </div> </div> </div> </div> <!--------------------------------------------------------------------------------> <!------------------------------------Footer--------------------------------------> <!--------------------------------------------------------------------------------> <?php include('footer.php'); ?> 1 اقتباس
0 محمد عاطف17 نشر 6 فبراير أرسل تقرير نشر 6 فبراير اذا كنت تعمل على نظام Linux فى ال localhost سيمكنك القيام بعمل نسخة احتياطية حيث ان الكود المرفق يقوم بالتحقق من نظام التشغيل واذا كان Linux سيقوم بعمل نسخة احتياطية وما دون ذلك لن يقوم بعمل نسخة احتياطية اذا كنت تريد عمل نسخه احتياطية لديك يمكنك ازالة شرط التحقق فى الكود المرفق وهذا هو الشرط بتاريخ 10 دقائق مضت قال gamal_king: if($os_name == "Linux"){ echo '<p><a href="?backup=now"><h3 style="margin-top: 35px;"> لنسخة احتياطية اضغط هنا </h3></a></p>'; if(isset($_GET['backup'])){ if($_GET['backup'] == "now"){ backup(); } } }else{ echo ' <div style="margin-top:25px;" class="text-center alert alert-danger" role="alert">لا يعمل النسخ الاحتياطي علي الهوست الافتراضي يجب ان يكون استضافة لينكس حقيقية حتي يمكن من تفعيل السكربت النسخ الاحتياطي</div>'; } قم بحذفه واستبداله بهذا الكود echo '<p><a href="?backup=now"><h3 style="margin-top: 35px;"> لنسخة احتياطية اضغط هنا </h3></a></p>'; if(isset($_GET['backup'])){ if($_GET['backup'] == "now"){ backup(); } } اقتباس
0 ايمن ميلاد نشر 6 فبراير الكاتب أرسل تقرير نشر 6 فبراير (معدل) بتاريخ 42 دقائق مضت قال محمد عاطف11: اذا كنت تعمل على نظام Linux فى ال localhost سيمكنك القيام بعمل نسخة احتياطية حيث ان الكود المرفق يقوم بالتحقق من نظام التشغيل واذا كان Linux سيقوم بعمل نسخة احتياطية وما دون ذلك لن يقوم بعمل نسخة احتياطية اذا كنت تريد عمل نسخه احتياطية لديك يمكنك ازالة شرط التحقق فى الكود المرفق وهذا هو الشرط قم بحذفه واستبداله بهذا الكود echo '<p><a href="?backup=now"><h3 style="margin-top: 35px;"> لنسخة احتياطية اضغط هنا </h3></a></p>'; if(isset($_GET['backup'])){ if($_GET['backup'] == "now"){ backup(); } } قمت بالغاء شرط if لكن سكربت ينزل فارغ 0 كليو بايت تم التعديل في 6 فبراير بواسطة gamal_king اقتباس
0 محمد عاطف17 نشر 6 فبراير أرسل تقرير نشر 6 فبراير هل يمكنك ان تقوم بفتح موجه الأوامر (cmd) وتقوم بكتابة هذا الامر mysqldump وترسل لى النتيجة . اذا كنت تستخدم mamp او xampp فيجب ان ترسل مرسال ملف mysqldump في هذا السطر بتاريخ 1 ساعة قال gamal_king: $result = exec('mysqldump '.$db_name.' --password='.$password.' --user='.$db_user.' --single-transaction >'.dirname(__FILE__).'/'.$filename,$output); فيصبح الحل كالتالى اذا كنت تسخدم xampp و يوجد على ال c لديك $result = exec('C:\xampp\mysql\bin\mysqldump.exe '.$db_name.' --password='.$password.' --user='.$db_user.' --single-transaction >'.dirname(__FILE__).'/'.$filename,$output); اقتباس
0 ايمن ميلاد نشر 7 فبراير الكاتب أرسل تقرير نشر 7 فبراير بتاريخ 17 ساعة قال محمد عاطف11: هل يمكنك ان تقوم بفتح موجه الأوامر (cmd) وتقوم بكتابة هذا الامر mysqldump وترسل لى النتيجة . اذا كنت تستخدم mamp او xampp فيجب ان ترسل مرسال ملف mysqldump في هذا السطر فيصبح الحل كالتالى اذا كنت تسخدم xampp و يوجد على ال c لديك $result = exec('C:\xampp\mysql\bin\mysqldump.exe '.$db_name.' --password='.$password.' --user='.$db_user.' --single-transaction >'.dirname(__FILE__).'/'.$filename,$output); هذا الذي ظهر اقتباس
0 محمد عاطف17 نشر 7 فبراير أرسل تقرير نشر 7 فبراير حسنا يجب اولا وضع مسار ال mysql فى ال path الخاص بالويندوز . قم بالضغط على زر الويندوز وقم بالبحث عن كلمة en ستظهر لك هذه الايقونة قم بالضغط عليها ستظهر لك هذه النافذه قم بالضغط على Environment Variables ستظهر لك نافذة اخرى قم اولا باختيار ال path ثم اضغط على زر edit ستظهر لك هذه النافذة قم بالضغط اولا على new ثم browse واختار مكان تنصيب ال mysql ثم مجلد bin ثم قم باغلاق موجه الاوامر (cmd) وقم بفتحه مره اخرى واكتب امر mysqldumb يجب ان تظهر لك هذه الرسالة . وبذلك قمنا بوضع ال mysql فى ال path الخاص بالويندوز . واخيرا كما وضحت فى الحل السابق قم بتغير سطر الكود هذا بما لديك حيث ستقوم بوضع مسار تنصيب ال mysql لديك . بتاريخ 19 ساعة قال محمد عاطف11: $result = exec('C:\xampp\mysql\bin\mysqldump.exe '.$db_name.' --password='.$password.' --user='.$db_user.' --single-transaction >'.dirname(__FILE__).'/'.$filename,$output); وسيقوم بالعمل جيدا واخذ نسخ احتياطية لديك على ال localhost . ما قمنا به هنا لانك تعمل على نظام تشغيل ويندوز اما نظام تشغيل linux فان الكود الذى لديك سيعمل جيدا دون الحاجة الى اى من هذه الخطوات اقتباس
0 ايمن ميلاد نشر 8 فبراير الكاتب أرسل تقرير نشر 8 فبراير (معدل) انا ويندوز 11 بالعربي اسمه متغيرات البيئة هل هكدا صحيح اخترت مكان xampp ثم مجلد msqli ثم bin هكدا ظهرت بعد ان طبقت خطوات تم التعديل في 8 فبراير بواسطة gamal_king اقتباس
0 محمد عاطف17 نشر 8 فبراير أرسل تقرير نشر 8 فبراير بتاريخ 28 دقائق مضت قال gamal_king: انا ويندوز 11 بالعربي اسمه متغيرات البيئة هل هكدا صحيح اخترت مكان xampp ثم مجلد msqli ثم bin هكدا ظهرت بعد ان طبقت خطوات نعم الان يعمل بالفعل . تاكد ان قاعدة البيانات تحتوى على اى جداول و بيانات ليتم اخذ نسخة احتياطية منها اقتباس
0 ايمن ميلاد نشر 8 فبراير الكاتب أرسل تقرير نشر 8 فبراير بتاريخ 13 دقائق مضت قال محمد عاطف11: نعم الان يعمل بالفعل . تاكد ان قاعدة البيانات تحتوى على اى جداول و بيانات ليتم اخذ نسخة احتياطية منها الله يرحم والديك اشتغل كود سؤال هل مثلا بعد عملية اضافة بيانات اعمل بعده نسخه احتياطي اجد جملة ادخال كتبت انه تم اضافة سطر وبه بيانات التي اضافته اقتباس
0 محمد عاطف17 نشر 8 فبراير أرسل تقرير نشر 8 فبراير ووالديك اللهم امين. نعم النسخ الاحتياطى يتم على حسب المدة اللتى تريدها وعلى حسب كمية البيانات المدخله . ممكن ان تقوم بعمل النسخ الاحتياطى يوميا مثلا او اسبوعيا او شهريا على حسب كم البيانات لديك . ولكن لا احبذ ان تقوم باخذ نسخه احتياطية كل ما يتم ادخال قيمة واحده او عدة قيم . ونعم النسخ الاحتياطى يقوم اولا بانشاء الجدول ثم انشاء جملة اضافه لجميع البيانات فى هذا الجدول . اما اذا كنت لا تريد ان يقوم بانشاء الجداول وتريد فقط القيم يمكنك اضافة هذه الجملة بعد اسم قاعدة البيانات . --no-create-info 1 اقتباس
0 ايمن ميلاد نشر 8 فبراير الكاتب أرسل تقرير نشر 8 فبراير لكن لماذا بيانات مخزنه في جداول جلب منه نسخه سطر اول فقط لم يجلب باقي بيانات اقتباس
0 محمد عاطف17 نشر 8 فبراير أرسل تقرير نشر 8 فبراير لا هو جلب جميع البيانات ولكن وضعهم فى سطر واحد . حاول ان تشغل هذا الملف فى قاعدة بيانات اخرى ستجد جميع الملفات قد تم استيرادها لديك 1 اقتباس
السؤال
ايمن ميلاد
السلام عليكم لدي كود تالي لعمل نسخ احتياطي لماذا لا يمكن عمل نسخ احتياطي علي localhost
11 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.