eifore
عضو بفريق العمل مؤسس
عدد الرسائل : 523 العمر : 32 المزاج : Heureu رقم العضوية : 32 التقييم : الجنس : المهنة : الهواية : مزاجي : نقاط التميز : 780 : تاريخ التسجيل : 02/09/2008
| موضوع: تصدير قاعدة البيانات PHP الأحد سبتمبر 07, 2008 8:41 am | |
| بسم الله الرحمن الرحيم
في هذا الدرس سوف نتعلم برمجة سكريبت يقوم بحفظ قاعدة البيانات في صورة ملف نصي بالامتداد .sql بحيث يتم حفظ قاعدة البيانات في صورة استعلامات يمكن اعادة تركيبها ببساطة في لوحة تحكم اي موقع أو سكريبت PHPmyAdmin
مكونات السكريبت: الملف list.php >> وظيفته طباعة قائمة للجداول الموجودة داخل قاعدة البيانات يمكن الاختيار منها. الملف export.php >> وظيفته حفظ الجداول التي تم اختيارها في الملف السابق في صورة ملف .sql الملف config.php >> فيه يتم حفظ معلومات قاعدة البيانات المطلوب حفظها.
مثال للسكريبت: http://www.montadaphp.net/lessons/db-backup/list.phpالكود: الملف list.php
كود PHP:<? // سكريبت حفظ قاعدة البيانات // جميع الحقوق محفوظة لمبرمج السكريبت coder@montadaphp.net // www.montadaphp.net // رجاء عدم ازالة هذه الحقوق أبدا ?> <html dir="rtl" lang="ar-sa"> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1256" /> <script language="JavaScript"> function checkAll(form){ for (var i = 0; i < form.elements.length; i++){ eval("form.elements[" + i + "].checked = form.elements[0].checked"); } } </script> </head> <body>
<? require("config.php"); $tables = @mysql_query("SHOW TABLE STATUS"); //عرض معلومات عن الجداول الموجودة في قاعدة البيانات ?>
<form name="form1" method="post" action="export.php"/> <table width="80%" cellpadding="5px" border="1" style="border-collapse: collapse" bordercolor="#0B4250"> <tr><td colspan="5">تحميل نسخة احتياطية من قاعدة البيانات</td></tr> <tr><td colspan="5" style="font-size:8pt;">اختر الجداول التي تريد تضمينها في النسخة الاحتياطية ومن ثم اضغط على تحميل</td></tr> <tr><td class="table_sub">الجدول</td><td class="table_sub">المساحة</td><td><input type="checkbox" name="check_all" checked="checked" onClick="checkAll(this.form)"/></td></tr> <? while($table = @mysql_fetch_array($tables)) { $size = round($table['Data_length']/1024, 2); // ايجاد حجم الجدول بالكيلوبايت echo "<tr><td width=\"20%\">$table[Name]</td><td width=\"65%\">$size كيلوبايت</td><td width=\"5%\"><input type=\"checkbox\" name=\"check[]\" value=\"$table[Name]\" checked=\"checked\" /></td></tr>"; } ?> <tr><td colspan="5" class="table_header"><center><input type="submit" class="button" name="submit" value="تحميل" /></center></td></tr> </table></form>
</body> </html> <? // سكريبت حفظ قاعدة البيانات // جميع الحقوق محفوظة لمبرمج السكريبت coder@montadaphp.net // www.montadaphp.net // رجاء عدم ازالة هذه الحقوق أبدا ?> الملف export.php
كود PHP:<? // سكريبت حفظ قاعدة البيانات // جميع الحقوق محفوظة لمبرمج السكريبت coder@montadaphp.net // www.montadaphp.net // رجاء عدم ازالة هذه الحقوق أبداً require("config.php");
$tables = $_POST['check']; $outta = ""; foreach($tables as $table) { $query = @mysql_query("SHOW CREATE TABLE ". $table); //الاستعلام عن كود انشاء الجدول $que = @mysql_fetch_array($query); $outta .= $que['Create Table'] . "\r\n";// طباعة كود انشاء الجدول $query2 = @mysql_query("SELECT * FROM `$que[Table]`");// ايجاد جميع الصفوف في الجدول while($result = @mysql_fetch_array($query2)) { while($res = current($result)) { $fields[] .= "`".key($result)."`"; $values[] .= "'$res'"; next($result); } $fields = join(", ", $fields); $values = join(", ", $values); $q = "INSERT INTO `$que[Table]` ($fields) VALUES ($values);"; $outta .= $q . "\r\n"; unset($fields); unset($values); } } header("Content-length: " . strlen($outta)); header("Content-type: text/plain"); header("Content-Disposition: attachment; filename=$db.sql"); echo $outta; exit; // سكريبت حفظ قاعدة البيانات // جميع الحقوق محفوظة لمبرمج السكريبت coder@montadaphp.net // www.montadaphp.net // رجاء عدم ازالة هذه الحقوق أبداً ?> الملف config.php
كود PHP:<? // سكريبت حفظ قاعدة البيانات // جميع الحقوق محفوظة لمبرمج السكريبت coder@montadaphp.net // www.montadaphp.net // رجاء عدم ازالة هذه الحقوق أبداً
$server = "localhost"; // سيرفر قاعدة البيانات $username = "root"; // اسم المستخدم لقاعدة البيانات $pass = ""; // كلمة المرور لقاعدة البيانات $db = "dbname"; // اسم قاعدة البيانات
// لا تقم بالتعديل تحت هذا السطر @mysql_connect($server, $username, $pass); @mysql_select_db($db);
// سكريبت حفظ قاعدة البيانات // جميع الحقوق محفوظة لمبرمج السكريبت coder@montadaphp.net // www.montadaphp.net // رجاء عدم ازالة هذه الحقوق أبداً ?> أخيراً فيمكنك استخدام السكريبت سواء استخدام شخصي او تجاري او نشره كيفما تريد بشرط واحد وهو الاحتفاظ بالحقوق المكتوبة داخل الكود
| |
|
القناص •-«[ المدير العام ]»-•
عدد الرسائل : 701 رقم العضوية : 1 التقييم : الجنس : المهنة : الهواية : مزاجي : نقاط التميز : 380 : تاريخ التسجيل : 22/06/2008
| موضوع: رد: تصدير قاعدة البيانات PHP الأحد سبتمبر 07, 2008 8:57 am | |
| | |
|