Reply
EASY SIMPLE Database BackUp / Restore script needed!!
Old 11-04-2007, 04:58 PM EASY SIMPLE Database BackUp / Restore script needed!!
dansgalaxy's Avatar
Eat, Sleep, Code

Latest Blog Post:
Offending facebook ads… so?
Posts: 6,089
Name: Dan
Location: Swindon
okay.

i just spent god knows how long looking at crappy scripts whcih dont work and are way out of date

i just want a simple pref one file script whcih i can have a button which backs up db, and i can have a simple drop down to select the method so i can select save to server and it will save a backup to the backups fodler, and download so when they submit it saves or shows the download.

i also want a simple Restore feature so they can upload or select the file and restore it.

HOW THE HELL DO I DO THIS

TP FOR SOMEONE TO WRITE OR MAJORLY HELP!"!!

Dan
__________________
Personal UK Webhosting
Get 25% of ANY shared package for life ~ Promo: webmaster-talk (only for members!)
dansgalaxy is offline
Reply With Quote
View Public Profile Visit dansgalaxy's homepage!
 
When You Register, These Ads Go Away!
     
Old 11-06-2007, 12:05 PM Re: EASY SIMPLE Database BackUp / Restore script needed!!
dansgalaxy's Avatar
Eat, Sleep, Code

Latest Blog Post:
Offending facebook ads… so?
Posts: 6,089
Name: Dan
Location: Swindon
No one?
__________________
Personal UK Webhosting
Get 25% of ANY shared package for life ~ Promo: webmaster-talk (only for members!)
dansgalaxy is offline
Reply With Quote
View Public Profile Visit dansgalaxy's homepage!
 
Old 11-06-2007, 12:31 PM Re: EASY SIMPLE Database BackUp / Restore script needed!!
rogem002's Avatar
Webmaster Talker

Posts: 576
Name: Mike
Location: United Kingdom
I got a script to do this for me, it's called PHPMyAdmin.

In a nutshell, copy the code there using
__________________
Website Services
PHP Code:
if(Added_Talkupation($post) == TRUE){iHug($you);} 
rogem002 is offline
Reply With Quote
View Public Profile Visit rogem002's homepage!
 
Old 11-06-2007, 01:32 PM Re: EASY SIMPLE Database BackUp / Restore script needed!!
dansgalaxy's Avatar
Eat, Sleep, Code

Latest Blog Post:
Offending facebook ads… so?
Posts: 6,089
Name: Dan
Location: Swindon
where can i download it? ><
i know i just want some simple functions i have one to repair tables i have the optimse sorted i just want something so i can download the DB and save to the server >< i think it uses mysqldump function or something like that but all i can find is how to do it all through shell and i need php ><
__________________
Personal UK Webhosting
Get 25% of ANY shared package for life ~ Promo: webmaster-talk (only for members!)
dansgalaxy is offline
Reply With Quote
View Public Profile Visit dansgalaxy's homepage!
 
Old 11-06-2007, 01:51 PM Re: EASY SIMPLE Database BackUp / Restore script needed!!
dansgalaxy's Avatar
Eat, Sleep, Code

Latest Blog Post:
Offending facebook ads… so?
Posts: 6,089
Name: Dan
Location: Swindon
okay so here is export.php from pma this is the page which displays the sql.
PHP Code:
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
 * @todo    too much die here, or?
 * @version $Id: export.php 10408 2007-05-21 17:13:49Z lem9 $
 */
/**
 * Get the variables sent or posted to this script and a core script
 */
require_once './libraries/common.inc.php';
require_once 
'./libraries/zip.lib.php';
require_once 
'./libraries/plugin_interface.lib.php';
PMA_checkParameters(array('what''export_type'));
// Scan plugins
$export_list PMA_getPlugins('./libraries/export/', array('export_type' => $export_type'single_table' => isset($single_table)));
// Backward compatbility
$type $what;
// Check export type
if (!isset($export_list[$type])) {
    die(
'Bad type!');
}
/**
 * valid compression methods
 */
$compression_methods = array(
    
'zip',
    
'gzip',
    
'bzip',
);
/**
 * init and variable checking
 */
$compression false;
$onserver false;
$save_on_server false;
$buffer_needed false;
if (empty(
$_REQUEST['asfile'])) {
    
$asfile false;
} else {
    
$asfile true;
    if (
in_array($_REQUEST['compression'], $compression_methods)) {
        
$compression $_REQUEST['compression'];
        
$buffer_needed true;
    }
    if (!empty(
$_REQUEST['onserver'])) {
        
$onserver $_REQUEST['onserver'];
        
// Will we save dump on server?
        
$save_on_server = ! empty($cfg['SaveDir']) && $onserver;
    }
}
// Does export require to be into file?
if (isset($export_list[$type]['force_file']) && ! $asfile) {
    
$message $strExportMustBeFile;
    
$GLOBALS['show_error_header'] = true;
    
$js_to_run 'functions.js';
    require_once 
'./libraries/header.inc.php';
    if (
$export_type == 'server') {
        
$active_page 'server_export.php';
        require 
'./server_export.php';
    } elseif (
$export_type == 'database') {
        
$active_page 'db_export.php';
        require 
'./db_export.php';
    } else {
        
$active_page 'tbl_export.php';
        require 
'./tbl_export.php';
    }
    exit();
}
// Generate error url and check for needed variables
if ($export_type == 'server') {
    
$err_url 'server_export.php?' PMA_generate_common_url();
} elseif (
$export_type == 'database' && strlen($db)) {
    
$err_url 'db_export.php?' PMA_generate_common_url($db);
    
// Check if we have something to export
    
if (isset($table_select)) {
        
$tables $table_select;
    } else {
        
$tables = array();
    }
} elseif (
$export_type == 'table' && strlen($db) && strlen($table)) {
    
$err_url 'tbl_export.php?' PMA_generate_common_url($db$table);
} else {
    die(
'Bad parameters!');
}
// Get the functions specific to the export type
require './libraries/export/' PMA_securePath($type) . '.php';
/**
 * Increase time limit for script execution and initializes some variables
 */
@set_time_limit($cfg['ExecTimeLimit']);
if (!empty(
$cfg['MemoryLimit'])) {
    @
ini_set('memory_limit'$cfg['MemoryLimit']);
}
// Start with empty buffer
$dump_buffer '';
$dump_buffer_len 0;
// We send fake headers to avoid browser timeout when buffering
$time_start time();

/**
 * Output handler for all exports, if needed buffering, it stores data into
 * $dump_buffer, otherwise it prints thems out.
 *
 * @param   string  the insert statement
 *
 * @return  bool    Whether output suceeded
 */
function PMA_exportOutputHandler($line)
{
    global 
$time_start$dump_buffer$dump_buffer_len$save_filename;
    
// Kanji encoding convert feature
    
if ($GLOBALS['output_kanji_conversion']) {
        
$line PMA_kanji_str_conv($line$GLOBALS['knjenc'], isset($GLOBALS['xkana']) ? $GLOBALS['xkana'] : '');
    }
    
// If we have to buffer data, we will perform everything at once at the end
    
if ($GLOBALS['buffer_needed']) {
        
$dump_buffer .= $line;
        if (
$GLOBALS['onfly_compression']) {
            
$dump_buffer_len += strlen($line);
            if (
$dump_buffer_len $GLOBALS['memory_limit']) {
                if (
$GLOBALS['output_charset_conversion']) {
                    
$dump_buffer PMA_convert_string($GLOBALS['charset'], $GLOBALS['charset_of_file'], $dump_buffer);
                }
                
// as bzipped
                
if ($GLOBALS['compression'] == 'bzip'  && @function_exists('bzcompress')) {
                    
$dump_buffer bzcompress($dump_buffer);
                }
                
// as a gzipped file
                
elseif ($GLOBALS['compression'] == 'gzip' && @function_exists('gzencode')) {
                    
// without the optional parameter level because it bug
                    
$dump_buffer gzencode($dump_buffer);
                }
                if (
$GLOBALS['save_on_server']) {
                    
$write_result = @fwrite($GLOBALS['file_handle'], $dump_buffer);
                    if (!
$write_result || ($write_result != strlen($dump_buffer))) {
                        
$GLOBALS['message'] = sprintf($GLOBALS['strNoSpace'], htmlspecialchars($save_filename));
                        
$GLOBALS['show_error_header'] = true;
                        return 
false;
                    }
                } else {
                    echo 
$dump_buffer;
                }
                
$dump_buffer '';
                
$dump_buffer_len 0;
            }
        } else {
            
$time_now time();
            if (
$time_start >= $time_now 30) {
                
$time_start $time_now;
                
header('X-pmaPing: Pong');
            } 
// end if
        
}
    } else {
        if (
$GLOBALS['asfile']) {
            if (
$GLOBALS['save_on_server'] && strlen($line) > 0) {
                
$write_result = @fwrite($GLOBALS['file_handle'], $line);
                if (!
$write_result || ($write_result != strlen($line))) {
                    
$GLOBALS['message'] = sprintf($GLOBALS['strNoSpace'], htmlspecialchars($save_filename));
                    
$GLOBALS['show_error_header'] = true;
                    return 
false;
                }
                
$time_now time();
                if (
$time_start >= $time_now 30) {
                    
$time_start $time_now;
                    
header('X-pmaPing: Pong');
                } 
// end if
            
} else {
                
// We export as file - output normally
                
if ($GLOBALS['output_charset_conversion']) {
                    
$line PMA_convert_string($GLOBALS['charset'], $GLOBALS['charset_of_file'], $line);
                }
                echo 
$line;
            }
        } else {
            
// We export as html - replace special chars
            
echo htmlspecialchars($line);
        }
    }
    return 
true;
// end of the 'PMA_exportOutputHandler()' function
// Defines the default <CR><LF> format. For SQL always use \n as MySQL wants this on all platforms.
if ($what == 'sql') {
    
$crlf "\n";
} else {
    
$crlf PMA_whichCrlf();
}
$output_kanji_conversion function_exists('PMA_kanji_str_conv') && $type != 'xls';
// Do we need to convert charset?
$output_charset_conversion $asfile &&
    
$cfg['AllowAnywhereRecoding'] && $allow_recoding
    
&& isset($charset_of_file) && $charset_of_file != $charset
    
&& $type != 'xls';
// Use on fly compression?
$onfly_compression $GLOBALS['cfg']['CompressOnFly'] && ($compression == 'gzip' $compression == 'bzip');
if (
$onfly_compression) {
    
$memory_limit trim(@ini_get('memory_limit'));
    
// 2 MB as default
    
if (empty($memory_limit)) {
        
$memory_limit 1024 1024;
    }
    if (
strtolower(substr($memory_limit, -1)) == 'm') {
        
$memory_limit = (int)substr($memory_limit0, -1) * 1024 1024;
    } elseif (
strtolower(substr($memory_limit, -1)) == 'k') {
        
$memory_limit = (int)substr($memory_limit0, -1) * 1024;
    } elseif (
strtolower(substr($memory_limit, -1)) == 'g') {
        
$memory_limit = (int)substr($memory_limit0, -1) * 1024 1024 1024;
    } else {
        
$memory_limit = (int)$memory_limit;
    }
    
// Some of memory is needed for other thins and as treshold.
    // Nijel: During export I had allocated (see memory_get_usage function)
    //        approx 1.2MB so this comes from that.
    
if ($memory_limit 1500000) {
        
$memory_limit -= 1500000;
    }
    
// Some memory is needed for compression, assume 1/3
    
$memory_limit /= 8;
}
// Generate filename and mime type if needed
if ($asfile) {
    
$pma_uri_parts parse_url($cfg['PmaAbsoluteUri']);
    if (
$export_type == 'server') {
        if (isset(
$remember_template)) {
            
PMA_setCookie('pma_server_filename_template'$filename_template);
        }
        
$filename str_replace('__SERVER__'$GLOBALS['cfg']['Server']['host'], strftime($filename_template));
    } elseif (
$export_type == 'database') {
        if (isset(
$remember_template)) {
            
PMA_setCookie('pma_db_filename_template'$filename_template);
        }
        
$filename str_replace('__DB__'$dbstr_replace('__SERVER__'$GLOBALS['cfg']['Server']['host'], strftime($filename_template)));
    } else {
        if (isset(
$remember_template)) {
            
PMA_setCookie('pma_table_filename_template'$filename_template);
        }
        
$filename str_replace('__TABLE__'$tablestr_replace('__DB__'$dbstr_replace('__SERVER__'$GLOBALS['cfg']['Server']['host'], strftime($filename_template))));
    }
    
// convert filename to iso-8859-1, it is safer
    
if (!(isset($cfg['AllowAnywhereRecoding']) && $cfg['AllowAnywhereRecoding'] && $allow_recoding)) {
        
$filename PMA_convert_string($charset'iso-8859-1'$filename);
    } else {
        
$filename PMA_convert_string($convcharset'iso-8859-1'$filename);
    }
    
// Grab basic dump extension and mime type
    
$filename  .= '.' $export_list[$type]['extension'];
    
$mime_type  $export_list[$type]['mime_type'];
    
// If dump is going to be compressed, set correct encoding or mime_type and add
    // compression to extension
    
$content_encoding '';
    if (
$compression == 'bzip') {
        
$filename  .= '.bz2';
        
// browsers don't like this:
        //$content_encoding = 'x-bzip2';
        
$mime_type 'application/x-bzip2';
    } elseif (
$compression == 'gzip') {
        
$filename  .= '.gz';
        
// Needed to avoid recompression by server modules like mod_gzip.
        // It seems necessary to check about zlib.output_compression
        // to avoid compressing twice
        
if (!@ini_get('zlib.output_compression')) {
            
$content_encoding 'x-gzip';
            
$mime_type 'application/x-gzip';
        }
    } elseif (
$compression == 'zip') {
        
$filename  .= '.zip';
        
$mime_type 'application/zip';
    }
}
// Open file on server if needed
if ($save_on_server) {
    
$save_filename PMA_userDir($cfg['SaveDir']) . preg_replace('@[/\\\\]@''_'$filename);
    unset(
$message);
    if (
file_exists($save_filename) && empty($onserverover)) {
        
$message sprintf($strFileAlreadyExistshtmlspecialchars($save_filename));
        
$GLOBALS['show_error_header'] = true;
    } else {
        if (
is_file($save_filename) && !is_writable($save_filename)) {
            
$message sprintf($strNoPermissionhtmlspecialchars($save_filename));
            
$GLOBALS['show_error_header'] = true;
        } else {
            if (!
$file_handle = @fopen($save_filename'w')) {
                
$message sprintf($strNoPermissionhtmlspecialchars($save_filename));
                
$GLOBALS['show_error_header'] = true;
            }
        }
    }
    if (isset(
$message)) {
        
$js_to_run 'functions.js';
        require_once 
'./libraries/header.inc.php';
        if (
$export_type == 'server') {
            
$active_page 'server_export.php';
            require 
'./server_export.php';
        } elseif (
$export_type == 'database') {
            
$active_page 'db_export.php';
            require 
'./db_export.php';
        } else {
            
$active_page 'tbl_export.php';
            require 
'./tbl_export.php';
        }
        exit();
    }
}
/**
 * Send headers depending on whether the user chose to download a dump file
 * or not
 */
if (!$save_on_server) {
    if (
$asfile) {
        
// Download
        
if (!empty($content_encoding)) {
            
header('Content-Encoding: ' $content_encoding);
        }
        
header('Content-Type: ' $mime_type);
        
header('Expires: ' gmdate('D, d M Y H:i:s') . ' GMT');
        
// lem9: Tested behavior of
        //       IE 5.50.4807.2300
        //       IE 6.0.2800.1106 (small glitch, asks twice when I click Open)
        //       IE 6.0.2900.2180
        //       Firefox 1.0.6
        // in http and https
        
header('Content-Disposition: attachment; filename="' $filename '"');
        if (
PMA_USR_BROWSER_AGENT == 'IE') {
            
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
            
header('Pragma: public');
        } else {
            
header('Pragma: no-cache');
        }
    } else {