函式名:fbird_restore()
適用版本:Firebird 2.1.0 及以上版本
用法:fbird_restore() 函式用於從備份檔案中還原 Firebird 資料庫。
語法: bool fbird_restore ( resource $service_handle , string $source_file , string $dest_db [, int $options = 0 [, bool $verbose = false ]] )
引數:
- service_handle: Firebird 服務控制程式碼,透過 fbird_service_attach() 函式獲取。
- source_file: 備份檔案的路徑和檔名。
- dest_db: 還原後的資料庫路徑和檔名。
- options(可選): 還原選項,可以是以下常量的組合:
- FBK_DEFAULT:預設選項,沒有附加選項。
- FBK_MERGE:將備份檔案合併到現有資料庫中。
- FBK_NO_SHADOW:還原時不使用陰影檔案。
- FBK_NO_VALIDITY:還原時不驗證備份檔案的完整性。
- FBK_CONVERT:在還原時將備份檔案中的字符集轉換為當前資料庫的字符集。
- verbose(可選): 是否輸出詳細還原過程的資訊,預設為 false。
返回值:若還原成功,則返回 true,否則返回 false。
示例:
<?php
// 連線到 Firebird 服務
$service_handle = fbird_service_attach('localhost', 'sysdba', 'masterkey');
// 指定備份檔案和還原後的資料庫路徑
$source_file = '/path/to/backup.fbk';
$dest_db = '/path/to/restore.fdb';
// 還原資料庫
if (fbird_restore($service_handle, $source_file, $dest_db, FBK_DEFAULT, true)) {
echo "資料庫還原成功!";
} else {
echo "資料庫還原失敗!";
}
// 斷開與 Firebird 服務的連線
fbird_service_detach($service_handle);
?>
注意事項:
- 在執行還原操作之前,需要先透過 fbird_service_attach() 函式連線到 Firebird 服務。
- 請確保備份檔案和還原後的資料庫路徑的可讀寫許可權。
- 如果還原過程中出現錯誤,可以使用 fbird_errmsg() 函式獲取錯誤資訊。