0

すべてのローカルホスト データベースを一度に個別のファイルにバックアップするための小さなスクリプトを作成しようとしています。現在、私のスクリプトはバックアップ部分を実行しますが、1 つのファイルでダウンロードを実行します。(だから私は 30MB のような情報を取得します information_schema_backup.sql ) 私が欲しいのは、各データベースの db_name_backup.sql です。これが私のコードです。

<?

    function backup_dbs()
    {
        global $db_name;
        global $dosyaadi; //dosyaadi means filename.
        $return='';

        /*
            Backup Part Here;
            I can share if anyone needs.
            I will post this on my blog anyway.
        */

        //save file
        $dosyaadi=$db_name.'-backup-'.time().'.sql';
        header("Content-type: application/octet-stream");
        header("Content-disposition: attachment;filename=$dosyaadi");
        echo $return;
    }

        $db_host = 'localhost';
        $db_user = 'root';
        $db_pass = '';

        $db = mysql_connect($db_host, $db_user, $db_pass);

        mysql_query("SET NAMES 'utf8'", $db);
        mysql_query("SET CHARACTER SET utf8", $db); 
        mysql_query("SET COLLATION_CONNECTION = 'utf8_general_ci'", $db); 

        $res = mysql_query("SHOW DATABASES");

        while ($row = mysql_fetch_assoc($res)) {
            $db_name =  $row['Database'];
            mysql_select_db($db_name, $db);
            backup_dbs();
        }
    die();
?>

前もって感謝します。

4

0 に答える 0