read() ) ) { if ( $entry == '.' || $entry == '..' ) { continue; } $Entry = $source . '/' . $entry; if ( is_dir( $Entry ) ) { full_copy( $Entry, $target . '/' . $entry ); continue; } copy( $Entry, $target . '/' . $entry ); } $d->close(); }else { copy( $source, $target ); } } function deleteAll($directory, $empty = false) { if( substr( $directory , -1 ) == "/") { $directory = substr( $directory , 0 , -1 ); } if( ! file_exists($directory) || !is_dir($directory) ) { return false; } elseif(!is_readable($directory)) { return false; } else { $directoryHandle = opendir($directory); while ($contents = readdir($directoryHandle)) { if($contents != '.' && $contents != '..') { $path = $directory . "/" . $contents; if(is_dir($path)) { deleteAll($path); } else { unlink($path); } } } closedir($directoryHandle); if( $empty == false) { if( ! rmdir($directory) ) { return false; } } return true; } } function RemoveExtension($strName) { $ext = strrchr($strName, '.'); if($ext !== false) { $strName = substr($strName, 0, -strlen($ext)); } return $strName; } $dbhost =isset( $_POST['dbhost']) ? trim( $_POST['dbhost'] ) :null; $dbname = isset( $_POST['dbname']) ? trim( $_POST['dbname'] ) :null; $dbuser = isset( $_POST['dbuser']) ? trim( $_POST['dbuser'] ) : null; $dbpassword = isset( $_POST['dbpassword']) ? trim( $_POST['dbpassword'] ) : null; $old_domain = isset( $_POST['purl']) ? trim( $_POST['purl'] ) : null; $new_domain = isset( $_POST['nurl']) ? trim( $_POST['nurl'] ) : null; ?> Restore - Backup and move plugin wordpress
"; if( file_exists('wp-config.php') ) { die('Error !! a previous installation found.'); } $con = mysql_connect( $dbhost , $dbuser , $dbpassword ); if ( ! $con ) { die('Error !! Could not connect to databse: ' . mysql_error()); } mysql_select_db($dbname, $con) or die('Error !! Could not connect to databse: ' . mysql_error()); echo '

restoring please wait it may take few minutes .....

'; foreach (glob("*.zip") as $filename) { $zip_name = $filename; $folder_name = RemoveExtension( $zip_name ); } if($filename==null) { die('Error !! backup zip not found'); } echo '

Extracting files.

'; $zip = new ZipArchive; $source = dirname(__FILE__). '/' . $folder_name; $destination = dirname(__FILE__) ; if ($zip->open($zip_name) === TRUE) { $zip->extractTo( dirname(__FILE__) ); if(!file_exists($folder_name)) { die('Error !! Backup file is tempered'); } full_copy($source,$destination); deleteAll($source); $zip->close(); } else { echo 'failed in extracting'; } $file = file_get_contents('wp-config.php', true); $patterns = array ("/'DB_NAME'((.*)*)'/", "/'DB_USER'((.*)*)'/", "/'DB_PASSWORD'((.*)*)'/", "/'DB_HOST'((.*)*)'/"); $replace = array ("'DB_NAME', ".'\''.$dbname.'\'', "'DB_USER', ".'\''.$dbuser.'\'', "'DB_PASSWORD', ". '\''.$dbpassword.'\'', "'DB_HOST', ". '\''.$dbhost.'\''); echo '

Creating configuration files.

'; $file = preg_replace($patterns, $replace, $file); $file = str_replace( $old_domain, $new_domain, $file ); file_put_contents( 'wp-config.php' , $file ); $file = utf8_decode( file_get_contents( 'database.sql' , true ) ); $file = str_replace( $old_domain , $new_domain , $file ); $res = explode(";\n", $file); $len = count($res); $temp = 0; echo '

Importing database.

'; while ( $temp < $len ) { mysql_query($res[$temp]); $temp++; } $sql="SHOW TABLES LIKE '%backup_and_move'"; $backup_table=mysql_fetch_row(mysql_query($sql)); $backup_table=$backup_table[0]; mysql_query('Delete from '.$backup_table); mysql_query("INSERT INTO wp_backup_and_move (bid, bfile,backup_created_on,backup_created_by) VALUES (1, '".$zip_name."','".date( "Y:m:d G:i:s",time())."','backup and move plugin')"); mysql_close( $con ); if(!file_exists('wp-backups')) { mkdir('wp-backups',0755); } $ourFileHandle = fopen( 'wp-backups\index.php' , 'w' ); fclose( $ourFileHandle ); copy( $zip_name , 'wp-backups/' . $zip_name ); echo '

Removing temporary files.

'; unlink( $zip_name ); unlink( 'database.sql' ); echo '

Process completed.


Delete restore.php to complete process.
'; } else { ?>

Please provide following details :

Previous url (ex: logiclord.com/blog)
New url (ex: logiclord.com/newblog)
Database host
Database user
Database name
Database password
 

Important Instructions :-
  • All the fields are required.
  • Make sure you have already placed your backup file in same directory as restore.php.
  • Double check all database details.
  • Database should already be created.
  • In case of an error try again after deleting all files and directories except backup .zip file and restore.php.