Ver Mensaje Individual
  #2 (permalink)  
Antiguo 11/12/2008, 07:41
p2pdownloading
Invitado
 
Mensajes: n/a
Puntos:
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( 
"&nbsp;&nbsp;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( 
"&nbsp;&nbsp;&nbsp;<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&nbsp;-&nbsp;%H:%M:%S", time() );
    echo( 
"<br>&copy;2005 <a href=\"mailto:[email protected]\">Inside PHP</a><br>" );
    echo( 
"vers." . Str_VERS . "<br>" );
    echo( 
"</small></center>" );
    echo( 
"</BODY>" );
    echo( 
"</HTML>" );
    
//------------------------------------------------------------------------------------------
//  END
?>