Advertisement
Guest User

Untitled

a guest
Jun 19th, 2013
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.67 KB | None | 0 0
  1. <?php
  2. //Adatbázis megnyítása
  3.  
  4. mysql_connect("host", "root", "passw");
  5. mysql_select_db("adatbazisom");
  6.  
  7. function tep_not_null($value) {
  8.      if (is_array($value)) {
  9.       if (sizeof($value) > 0) {
  10.         return true;
  11.       } else {
  12.         return false;
  13.       }
  14.     } else {
  15.       if ( (is_string($value) || is_int($value)) && ($value != '') && ($value != 'NULL') && (strlen(trim($value)) > 0)) {
  16.         return true;
  17.       } else {
  18.         return false;
  19.       }
  20.     }
  21.   }
  22.  
  23. function db_mentese(){
  24.  $backup_file = 'product_database.sql';
  25.  $fp = fopen($backup_file, 'w+');
  26.                   $alap = "# Products";
  27.        fputs($fp, $alap);
  28. //Itt felsrolsz annyi táblát amennyi kell. Vagy beolvastatod az összes táblád nevét.
  29.  $pro = array("tablam");
  30.  //Táblák kiíratása
  31.  for($k=0; $k < count($pro); $k++){
  32.  $tabla=$pro["$k"];
  33.  $oszlopok='drop table if exists ' . $tabla . ';' . "\n" .
  34.                                         "create table ".$tabla . " (\n";
  35.  
  36.  
  37.  
  38.  //Oszlopok kiíratása
  39.  $oszlop_lista = array();
  40.  $tabla_oszlop = mysql_query("show fields from ".$tabla." ");
  41.  for($i=1; $i <= mysql_num_rows($tabla_oszlop); $i++){
  42.  $tabla_oszlop_nevek["$i"] = mysql_fetch_assoc($tabla_oszlop);
  43.  $oszlop_lista[]=$tabla_oszlop_nevek["$i"]["Field"];
  44.  
  45.  $oszlopok.="  ".$tabla_oszlop_nevek["$i"]["Field"]." ".$tabla_oszlop_nevek["$i"]["Type"];
  46.           if (strlen($tabla_oszlop_nevek["$i"]['Default']) > 0){
  47.            $oszlopok.= ' default \'' . $tabla_oszlop_nevek["$i"]['Default'] . '\'';
  48.          }
  49.           if($tabla_oszlop_nevek["$i"]['Null'] != "YES"){
  50.           $oszlopok.=" not null";
  51.                 }
  52.          
  53.  $oszlopok.=" ".        $tabla_oszlop_nevek["$i"]["Extra"].",\n";
  54.  }
  55.  
  56.  //Levágjuk az utolsó ",\n" jelet.
  57.  $utolso=strrpos($oszlopok,",");
  58.   $oszlopok=substr($oszlopok,0,($utolso));
  59.  //Kulcs hozzáadása
  60.   $index = array();
  61.           $keys_query = mysql_query("show keys from ". $tabla." ");
  62.           while ($keys = mysql_fetch_array($keys_query)) {
  63.             $kname = $keys['Key_name'];
  64.  
  65.             if (!isset($index[$kname])) {
  66.               $index[$kname] = array('unique' => !$keys['Non_unique'],
  67.                                      'columns' => array());
  68.             }
  69.  
  70.             $index[$kname]['columns'][] = $keys['Column_name'];
  71.           }
  72.  
  73.           while (list($kname, $info) = each($index)) {
  74.  
  75.             $columns = implode($info['columns'], ', ');
  76.  
  77.             if ($kname == 'PRIMARY') {
  78.                          
  79.               $oszlopok.= ', PRIMARY KEY (' . $columns . ')';
  80.             } elseif ($info['unique']) {
  81.               $oszlopok.= ', UNIQUE ' . $kname . ' (' . $columns . ')';
  82.             } else {
  83.              $oszlopok.= ', KEY ' . $kname . ' (' . $columns . ')';
  84.             }
  85.           }
  86.  
  87.           $oszlopok.= "\n" . ');' . "\n\n";
  88.           fputs($fp, $oszlopok);
  89.                    
  90.          
  91.  //Tábla tartalmának kiolvasása.
  92.  $sql="SELECT ".implode(', ', $oszlop_lista) ." FROM ".$tabla;
  93.  $soro=mysql_query($sql);
  94.   while ($sorok = mysql_fetch_array($soro)) {
  95.             $insert = 'insert into ' . $tabla . ' (' . implode(', ', $oszlop_lista) . ') values (';
  96.            for($i=0; $i < count($oszlop_lista);$i++){
  97.                    $aktualis_mezo=$oszlop_lista["$i"];
  98.                    
  99.               if (!isset($sorok["$aktualis_mezo"])) {
  100.                           $insert.= 'NULL, ';
  101.               } elseif (tep_not_null($sorok["$aktualis_mezo"])) {
  102.                 $sor = addslashes($sorok["$aktualis_mezo"]);
  103.                 $sor = ereg_replace("\n#", "\n".'\#', $sor);
  104.  
  105.                 $insert .= '\'' . $sor . '\', ';
  106.               } else {
  107.                            
  108.                 $insert .= '\'\', ';
  109.               }
  110.             }
  111.  
  112.             $insert = ereg_replace(', $', '', $insert) . ');' . "\n";
  113.                         fputs($fp, $insert);
  114.           }
  115.          
  116.  
  117.        
  118.                 }
  119.                  fclose($fp);
  120. }
  121.  
  122. db_mentese();
  123. print("Ready!");
  124. ?>
  125. <?php                    
  126. $ftp_server = "...";
  127. $ftp_user = "...";
  128. $ftp_pass = "...";
  129. $file = 'product_database.sql';
  130. $remote_file = 'product_database.sql';
  131.  
  132. // set up a connection or die
  133. $conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");
  134.  
  135. // try to login
  136. if (@ftp_login($conn_id, $ftp_user, $ftp_pass)) {
  137.     echo "Connected as $ftp_user@$ftp_server\n";
  138. } else {
  139.     echo "Couldn't connect as $ftp_user\n";
  140. }
  141.  
  142. // upload a file
  143. if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) {
  144.  echo "successfully uploaded $file\n";
  145. } else {
  146.  echo "There was a problem while uploading $file\n";
  147. }
  148.  
  149. // close the connection
  150. ftp_close($conn_id);
  151. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement