login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > PHP > Database tools > Backup Depot: exporteer sql

Backup Depot: exporteer sql

Auteur: De_Koffie - 25 augustus 2004 - 21:53 - Gekeurd door: Dennisvb - Hits: 5303 - Aantal punten: 2.63 (4 stemmen)



Dit is een script waarmee je gegevens uit een bepaalde tabel (uit een bepaalde database) kan halen.
Dit script zal al de gegevens uit de aangewezen tabel halen en wegschrijven in een sql statement (een INSERT INTO .. statement dus).
Dat bestand wordt dan naar je doorgestuurd zodat je het kan opslaan.

Op die manier heb je een (uiterst) eenvoudige en vrij snelle manier om je gegevens te kunne opslaan.

Ik ben bezig aan een importeer pagina, maar als die der is zal ik ze meteen posten.
Je kan natuurlijk ook altijd als je bv. zoiets als phpMyAdmin gebruikt, de opgeslagen backup uitvoeren als een sql query via phpMyAdmin.

Hopelijk leer je er iets van er staan toch wel enkele handige dingetjes in, ik zelf heb ook wel wat truukjes bijgeleerd tijdens dit te schrijven 

Have fun!

Code:
/*---------- export.php ------------ */
  1. <?php
  2. /****************************************************************
  3.   MYSQL INFORMATIE :
  4. *****************************************************************/
  5.  
  6. $mysql_host = "localhost"; # server met mysql
  7. $mysql_user = "dekoffie"; # gebruikersnaam voor mysql
  8. $mysql_paswoord = "paswoordje"; # paswoord voor mysql
  9.  
  10. $schrijfbare_map = "h:/webserver/wwwroot/sitemasters.be/scripts/"; # een map waarin het script toegang heeft om files neer te schrijven en te deleten
  11.  
  12. /****************************************************************
  13.   HIER begint het eigenlijke script:
  14. *****************************************************************/
  15.  
  16. mysql_connect($mysql_host,$mysql_user,$mysql_paswoord);
  17.  
  18. if($_POST['action'] == "maak_backup") {
  19. $database = $_POST['database'];
  20. $bestandsnaam = $_POST['bestandsnaam'];
  21.  
  22. mysql_select_db($database) or die(mysql_error());
  23.  
  24. ini_set("max_execution_time",3600); // script mag maximaal een uur processen.
  25.  
  26. foreach($_POST as $key => $value) {
  27. if($value == "invoegen") {
  28. $fields = mysql_list_fields($_POST['database'], $key) or die(mysql_error());
  29. $columns = mysql_num_fields($fields);
  30.  
  31. for ($i = 0; $i < $columns; $i++) {
  32. if($i > 0) { $fieldstr .= "," . mysql_field_name($fields, $i); }
  33. else { $fieldstr = mysql_field_name($fields, $i); }
  34. // echo mysql_field_name($fields, $i) . "<br>\n";
  35. }
  36.  
  37. $query = mysql_query("SELECT " . $fieldstr . " FROM $key") or die(mysql_error());
  38. $valuestr .= "\r\nDELETE FROM $key;\r\n";
  39. while($var = mysql_fetch_object($query)) {
  40. // $valuestr .= "INSERT INTO $key ($fieldstr) VALUES ";
  41. $valuestr .= "INSERT INTO $key VALUES ";
  42. for ($i = 0; $i < $columns; $i++) {
  43. $column = mysql_field_name($fields, $i);
  44.  
  45. $columnvalue = str_replace("\r\n","\\r\\n",$var->$column);
  46. $columnvalue = mysql_escape_string($columnvalue);
  47.  
  48. if($i > 0) { $valuestr .= ",'" . $columnvalue . "'"; }
  49. else { $valuestr .= "('" . $columnvalue . "'"; }
  50. }
  51. //$valuestr = str_replace("<","&lt;",$valuestr);
  52. //$valuestr = str_replace(">","&gt;",$valuestr);
  53. //$valuestr = str_replace("\r\n","\\r\\n",$valuestr);
  54. $valuestr .= ");\r\n";
  55. }
  56. }
  57. }
  58. $backfile = $schrijfbare_map . $bestandsnaam;
  59.  
  60. $fp = fopen($backfile,"w+");
  61. fwrite($fp,$valuestr);
  62. fclose($fp);
  63.  
  64. $f = fopen($backfile, "r");
  65. $contents = fread($f, filesize($backfile));
  66. fclose($f);
  67. unlink($backfile);
  68.  
  69. header("Content-type: application/force-download");
  70. header("Content-Disposition: inline; filename=" . $bestandsnaam);
  71. header("Pragma: no-cache");
  72. header("Expires: 0");
  73.  
  74. echo($contents);
  75. exit;
  76. // echo str_replace(");\n",");<br>",$valuestr);
  77. }
  78. ?>
  79.  
  80. <HTML>
  81. <HEAD>
  82. <TITLE>>>Backup Depot <<</TITLE>
  83. </HEAD>
  84.  
  85. <script language = "Javascript">
  86. var form='postform'
  87.  
  88. function SelecteerAlles() {
  89. if (document.postform.check_all.checked==1) {
  90. val=1;
  91. } else {
  92. val=0;
  93. }
  94. dml=document.forms[form];
  95. len = dml.elements.length;
  96. var i=0;
  97. for( i=0 ; i<len ; i++) {
  98. if (dml.elements[i].value=='invoegen') {
  99. dml.elements[i].checked=val;
  100. }
  101. }
  102. }
  103. </script>
  104.  
  105. <BODY BGCOLOR="#CCCCCC">
  106.  
  107. <center>
  108.  
  109. <?php
  110.  
  111. if($_POST['action'] == "db_tabellen") {
  112. mysql_select_db($_POST['database']);
  113. $database = $_POST['database'];
  114. ?>
  115.  
  116. <form action="<?php echo $PHP_SELF; ?>" name="postform" method="POST">
  117. <input type="hidden" value="maak_backup" name="action">
  118. <input type="hidden" value="<?php echo $database; ?>" name="database">
  119. <TABLE border="1" width="40%">
  120. <TR><TD colspan="5"><b><center><font color=red>Backuping</font></center></b></TD></TR>
  121.  
  122. <TR>
  123. <TD colspan="2"><center><b>Bestandsnaam van de backup</b></center></TD>
  124. </TR>
  125.  
  126. <TR bgcolor="#E8E8E8">
  127. <TD><center>Naam:</center></TD>
  128. <TD width="5%"><center><input type="text" value="<?php echo $database; ?>_backup.dko" name="bestandsnaam"></TD>
  129. </TR>
  130.  
  131. <TR>
  132. <TD><center><b>Tabel</b></center></TD>
  133. <TD width="5%"><center><b>Invoegen?</b></center></TD>
  134. </TR>
  135.  
  136. <?php
  137. $query = mysql_list_tables($database);
  138.  
  139. while (list($tabel) = mysql_fetch_row($query)) {
  140. ?>
  141.  
  142. <TR bgcolor="#E8E8E8">
  143. <TD><center><?php echo $tabel; ?></center></TD>
  144. <TD width="5%"><center><input type="checkbox" value="invoegen" name="<?php echo $tabel; ?>"></TD>
  145. </TR>
  146.  
  147. <?php
  148. }
  149. ?>
  150.  
  151. <TR bgcolor="#CCCCCC"><TD COLSPAN="5"><center>
  152. <input type="checkbox" name="check_all" value="checkall" onClick="javascript:SelecteerAlles()"> Alle items selecteren.
  153. </center>
  154. <TR><TD bgcolor="#CCCCCC" colspan="5"><center><input type="submit" value="Maak Backup File!" name="save"></center></TD></TR>
  155. </TD></TR>
  156.  
  157. </TABLE>
  158.  
  159. </form>
  160. <p>
  161. Gemaakt door <a href="mailto:dekoffie@kfplan.be">dekoffie</a>.
  162. <?php
  163. } else {
  164. ?>
  165.  
  166. <form action="<?php echo $PHP_SELF; ?>" name="postform" method="POST">
  167. <input type="hidden" value="db_tabellen" name="action">
  168. <TABLE border="1" width="40%">
  169. <TR><TD colspan="5"><b><center><font color=red>Backuping</font></center></b></TD></TR>
  170.  
  171. <TR>
  172. <TD><center><b>Databases</b></center></TD>
  173. </TR>
  174.  
  175. <TR bgcolor="#E8E8E8">
  176. <TD><center>
  177.  
  178. <select name="database">
  179. <?php
  180. $query = mysql_query("SHOW DATABASES") or die(mysql_error());
  181. while($var = mysql_fetch_object($query)) {
  182. echo "<option value=\"" . $var->Database . "\">" . $var->Database . "</option>\n";
  183. }
  184. ?>
  185. </select>
  186.  
  187. </center>
  188. </TD>
  189. </TR>
  190.  
  191. <TR bgcolor="#CCCCCC"><TD bgcolor="#CCCCCC"><center><input type="submit" value="Laat Tabellen zien!" name="tabelzien"></center></TD></TR>
  192.  
  193.  
  194. </TABLE>
  195.  
  196. </form>
  197. <p>
  198. Gemaakt door <a href="mailto:dekoffie@kfplan.be">dekoffie</a>.
  199.  
  200. <?php
  201. }
  202. ?>
  203.  
  204. </center>
  205. </HTML>
Download code! Download code (.txt)

 Stemmen
Niet ingelogd.

 Reacties
Post een reactie
Lees de reacties (1)
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.036s