
11/12/2008, 07:41
|
|
Respuesta: script dump base de datos erros de sintaxis Código PHP: <?php
@set_time_limit( 0 );
echo( "- Base de Datos: '$db_name' en '$db_server'.<br>" );
$error = false;
$tablas = 0;
if( !@function_exists( 'gzopen' ) ) {
$hay_Zlib = false;
echo( "- Ya que no está disponible Zlib, salvaré la Base de Datos sin comprimir, como '$filename'<br>" );
}
else {
$filename = $filename . ".gz";
$hay_Zlib = true;
echo( "- Ya que está disponible Zlib, salvaré la Base de Datos comprimida, como '$filename'<br>" );
}
if( !$error ) {
$dbconnection = @mysql_connect( $db_server, $db_username, $db_password );
if( $dbconnection)
$db = mysql_select_db( $db_name );
if( !$dbconnection || !$db ) {
echo( "<br>" );
echo( "- La conexion con la Base de datos ha fallado: ".mysql_error()."<br>" );
$error = true;
}
else {
echo( "<br>" );
echo( "- He establecido conexion con la Base de datos.<br>" );
}
}
if( !$error ) {
// MySQL versión
$result = mysql_query( 'SELECT VERSION() AS version' );
if( $result != FALSE && @mysql_num_rows($result) > 0 ) {
$row = mysql_fetch_array($result);
} else {
$result = @mysql_query( 'SHOW VARIABLES LIKE \'version\'' );
if( $result != FALSE && @mysql_num_rows($result) > 0 ){
$row = mysql_fetch_row( $result );
}
}
if(! isset($row) ) {
$row['version'] = '3.21.0';
}
}
if( !$error ) {
$el_path = getenv("REQUEST_URI");
$el_path = substr($el_path, strpos($el_path, "/"), strrpos($el_path, "/"));
$result = mysql_list_tables( $db_name );
if( !$result ) {
print "- Error, no puedo obtener la lista de las tablas.<br>";
print '- MySQL Error: ' . mysql_error(). '<br><br>';
$error = true;
}
else {
$t_start = time();
if( !$hay_Zlib )
$filehandle = fopen( $filename, 'w' );
else
$filehandle = gzopen( $filename, 'w6' ); // nivel de compresión
if( !$filehandle ) {
$el_path = getenv("REQUEST_URI");
$el_path = substr($el_path, strpos($el_path, "/"), strrpos($el_path, "/"));
echo( "<br>" );
echo( "- No he podido crear '$filename' en '$el_path/'. Por favor, asegúrese de<br>" );
echo( " que dispone de privilegios de escritura.<br>" );
}
else {
$tabledump = "-- Dump de la Base de Datos\n";
if( !$hay_Zlib )
fwrite( $filehandle, $tabledump );
else
gzwrite( $filehandle, $tabledump );
setlocale( LC_TIME,"spanish" );
$tabledump = "-- Fecha: " . strftime( "%A %d %B %Y - %H:%M:%S", time() ) . "\n";
if( !$hay_Zlib )
fwrite( $filehandle, $tabledump );
else
gzwrite( $filehandle, $tabledump );
$tabledump = "--\n";
if( !$hay_Zlib )
fwrite( $filehandle, $tabledump );
else
gzwrite( $filehandle, $tabledump );
$tabledump = "-- Version: " . Str_VERS . ", del " . Str_DATE . ", [email protected]\n";
if( !$hay_Zlib )
fwrite( $filehandle, $tabledump );
else
gzwrite( $filehandle, $tabledump );
$tabledump = "-- Soporte y Updaters: http://insidephp.sytes.net\n";
if( !$hay_Zlib )
fwrite( $filehandle, $tabledump );
else
gzwrite( $filehandle, $tabledump );
$tabledump = "--\n";
if( !$hay_Zlib )
fwrite( $filehandle, $tabledump );
else
gzwrite( $filehandle, $tabledump );
$tabledump = "-- Host: `$db_server` Database: `$db_name`\n";
if( !$hay_Zlib )
fwrite( $filehandle, $tabledump );
else
gzwrite( $filehandle, $tabledump );
$tabledump = "-- ------------------------------------------------------\n";
if( !$hay_Zlib )
fwrite( $filehandle, $tabledump );
else
gzwrite( $filehandle, $tabledump );
$tabledump = "-- Server version ". $row['version'] . "\n\n";
if( !$hay_Zlib )
fwrite( $filehandle, $tabledump );
else
gzwrite( $filehandle, $tabledump );
$result = query( 'SHOW tables' );
while( $currow = fetch_array($result, DBARRAY_NUM) ) {
fetch_table_dump_sql( $currow[0], $filehandle );
fwrite( $filehandle, "\n" );
if( !$hay_Zlib )
fwrite( $filehandle, "\n" );
else
gzwrite( $filehandle, "\n" );
$tablas++;
}
$tabledump = "\n-- Dump de la Base de Datos Completo.";
if( !$hay_Zlib )
fwrite( $filehandle, $tabledump );
else
gzwrite( $filehandle, $tabledump );
if( !$hay_Zlib )
fclose( $filehandle );
else
gzclose( $filehandle );
$t_now = time();
$t_delta = $t_now - $t_start;
if( !$t_delta )
$t_delta = 1;
$t_delta = floor(($t_delta-(floor($t_delta/3600)*3600))/60)." minutos y "
.floor($t_delta-(floor($t_delta/60))*60)." segundos.";
echo( "- He salvado las $tablas tablas en $t_delta<br>" );
echo( "<br>" );
echo( "- El Dump de la Base de Datos está completo.<br>" );
echo( "- He salvado la Base de Datos en: $el_path/$filename<br>" );
echo( "<br>" );
echo( "- Puede bajársela directamente: </strong><a href=\"$filename\">$filename</a>" );
$size = filesize($filename);
$size = number_format( $size );
$size = str_replace( ",",".",$size );
echo( " <small>($size bytes)</small><br>" );
}
}
}
if( $dbconnection )
mysql_close();
echo( "</strong><br><br><hr><center><small>" );
setlocale( LC_TIME,"spanish" );
echo strftime( "%A %d %B %Y - %H:%M:%S", time() );
echo( "<br>©2005 <a href=\"mailto:[email protected]\">Inside PHP</a><br>" );
echo( "vers." . Str_VERS . "<br>" );
echo( "</small></center>" );
echo( "</BODY>" );
echo( "</HTML>" );
//------------------------------------------------------------------------------------------
// END
?> |