2017-04-25 4 views
0

これは罰金働いているデータベースのzipファイルをdownlodingための私の機能ですが、私は、データベースにこれを挿入しても復元機能の上に動的選択SQLファイルインポートデータベースは

public function db_backup(){ 
    date_default_timezone_set('Asia/Calcutta'); 
    $this->load->dbutil(); 
    $prefs = array( 
     'format' => 'zip', 
     'add_drop' => TRUE, 
     'add_insert'=> TRUE, 
     'newline' => "\n" 
    ); 
    $backup = $this->dbutil->backup($prefs); 
    $this->load->helper('file'); 
    $this->load->helper('download'); 
    $this->zip->archive(FCPATH.'backup/database/'.date('Y-m-d-His').'DbBackup.zip'); 
} 

please provide me solution i tried vaious examples nothing works 

public function restoredb($id = ''){ 


    $isi_file = file_get_contents('./backups/XXXXXXX.sql'); #here I want to give dynamic path 
    $query = rtrim($isi_file, "\n;"); 
    $array_query = explode(";", $query); 

    foreach($array_query as $query){ 
     $this->db->query($query); 
    } 

} 

してデータベースにインポートしたいですデータベースが、私は

+1

はあなたのPHPの設定ではshell_execへのアクセスを持っていますか手助けを願って、これを試してみてください? –

+0

アクセス方法を教えていただけますか? – eliana

答えて

1
$backup = read_file('path/to/file.sql'); 
$sql_clean = ''; 
    foreach (explode("\n", $backup) as $line){ 
     if(isset($line[0]) && $line[0] != "#"){ 
      $sql_clean .= $line."\n"; 
     } 
    } 
    foreach (explode(";\n", $sql_clean) as $sql){ 
     $sql = trim($sql); 
     if($sql){ 
      $this->db->query($sql); 
     } 
    } 

私はそれが

1

を望んでいたように動作していない

をデータのエクスポートとインポート時にこれを試してみてくださいエクスポート

$cmd = "mysqldump -u $DBUSER --password=$DBPASSWD -h$HOST $DATABASE > backup.sql"; 
     shell_exec($cmd); 

インポート/復元

$cmd = "mysql -u $DBUSER --password=$DBPASSWD -h$HOST -D$database < backup.sql"; 
     shell_exec($cmd); 
+0

codeigniterでこれを使うにはどうすればうまくいきましたか – eliana

+0

あなたに何のエラーがありますか? –

+0

空白の画面以外は何も表示しない – eliana

関連する問題