العودة   منتديات تصميم > ركن برمجيات المواقع ولغات البرمجه > قسم لغات البرمجه

إضافة رد
 
LinkBack أدوات الموضوع انواع عرض الموضوع
  #1  
قديم 05-06-2010, 10:04 PM
عضو مميز
 
تاريخ التسجيل: May 2010
المشاركات: 405
افتراضي أخذ نسخة احتياطية لقاعدة البيانات ب php


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






الكود:

view source
print?

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.?>






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




view source
print?

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








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




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


http://advphp.com/tuts/files/backup.rar




ساهم معنا فى تحسين المنتدى بالضغط هنا ومشاركة الموضوع على الفيس بوك

رد مع اقتباس
إضافة رد

مواقع النشر (المفضلة)

الكلمات الدلالية (Tags)
أخذ نسخة احتياطية, لقاعدة البيانات ب php

أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة
Trackbacks are معطلة
Pingbacks are معطلة
Refbacks are متاحة



الساعة الآن 06:54 PM بتوقيت مسقط


Powered by vBulletin® Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
دعم - لينكات : Search Engine Optimization by vBSEO 3.3.0 Designed & TranZ By Almuhajir

اضغط هنا وادخل ايميلك حتى يصلك جديدنا

القسم العام - اخبار التقنيه - العاب كمبيوتر - برامج - دروس التصميم - مسجات - برامج و العاب  جوال - لغات برمجه - تطوير منتديات - جوجل google - قوالب واستايلات - SEO و XML و RSS - هاكات - تطوير مواقع - نطاقات - استضافه - تبادل اعلانى - دروس فوتوشوب -  - ملحقات فوتوشوب - فلاش - سويش ماكس - تصميم استايلات - العاب  - مواقع عالميه  - دروس فرونت بيج - دريم ويفر

 

منتدى بناتى شرح تكوين روابط الباك لينك فى الفرونت بيج بالصور - privacy-policy- Le monde de la médecine - pes 2012 - مجلة فتافيت عدد رمضان 2011 كاملة مصوره