Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/02/2006, 20:11
Javier.C
 
Fecha de Ingreso: enero-2002
Mensajes: 65
Antigüedad: 22 años, 3 meses
Puntos: 0
Urgente! Como restaurar base de datos....

Hola gente, estoy desesperado!, me puse a tratar de instalar un "mods" (plugin) para el foro que utilizo, procurando antes de comenzar hacer un back up de la base de datos. Pero cuando la trato de subir el archivo gzip con la base de datos guardada mediante el mismo foro que me permite "restaurar la tabla" con una de sus opciones, me da error de tiempo de ejecución y eso que el archivo pesa menos de 700 kb, por lo que se me ocurrió tratar de hacer de que tome el archivo directamente desde el servidor, que previamente subí. El tema esta en que no se bien como decirle al archivo php que tome desde el servidor mismo, es decir una ruta interna el archivo...
aca está la parte donde se produce la restauración...... alguien puede decirme que agregar o sacar?

-------------------------------

elseif ( isset($_POST['restore_start']) ) {
// Restore SQL Dump
//
// Handle the file upload ....
// If no file was uploaded report an error...
//
$backup_file_name = (!empty($HTTP_POST_FILES['backup_file']['name'])) ? $HTTP_POST_FILES['backup_file']['name'] : "";
$backup_file_tmpname = ($HTTP_POST_FILES['backup_file']['tmp_name'] != "none") ? $HTTP_POST_FILES['backup_file']['tmp_name'] : "";
$backup_file_type = (!empty($HTTP_POST_FILES['backup_file']['type'])) ? $HTTP_POST_FILES['backup_file']['type'] : "";
if($backup_file_tmpname == "" || $backup_file_name == "")
{
message('No file was uploaed or the upload failed, the database was not restored');
}
if( preg_match("/^(text\/[a-zA-Z]+)|(application\/(x\-)?gzip(\-compressed)?)|(application\/octet-stream)$/is", $backup_file_type) )
{
if( preg_match("/\.gz$/is",$backup_file_name) )
{
$do_gzip_compress = FALSE;
$phpver = phpversion();
if($phpver >= "4.0")
{
if(extension_loaded("zlib"))
{
$do_gzip_compress = TRUE;
}
}
if($do_gzip_compress)
{
$gz_ptr = gzopen($backup_file_tmpname, 'rb');
$sql_query = "";
while( !gzeof($gz_ptr) )
{
$sql_query .= gzgets($gz_ptr, 100000);
}
}
else
{
message('Sorry the database could not be restored');
}
}
else
{
$sql_query = fread(fopen($backup_file_tmpname, 'r'), filesize($backup_file_tmpname));
}
}
else
{
message('Error the file name or file format caused an error, the database was not restored');
}
if($sql_query != "")
{
// Strip out sql comments...
$sql_query = remove_remarks($sql_query);
$pieces = split_sql_file($sql_query, ";");
if(defined('PUN_DEBUG'))
{
generate_admin_menu($plugin);
?>
<div class="block">
<h2><span>Debug info</span></h2>
<div class="box">
<div class="inbox">
<p>
<?php
}
$sql_count = count($pieces);
for($i = 0; $i < $sql_count; $i++)
{
$sql = trim($pieces[$i]);
if(!empty($sql))
{
if(defined('PUN_DEBUG'))
{
echo "Executing: $sql\n<br>";
flush();
}
$result = $db->query($sql);
if(!$result)
{
message('Error imported backup file, the database probably has not been restored');
}
}
}
if(defined('PUN_DEBUG'))
{
?>
</p>
</div>
</div>
</div>
<?php
}
}
if(defined('PUN_DEBUG'))
{
?>
<div class="block">
<h2 class="block2"><span>Restore complete</span></h2>
<div class="box">
<div class="inbox">
<p>
<a href="admin_loader.php?plugin=AP_DB_management.php ">Back</a>
</p>
</div>
</div>
</div>
<?php
} else {
message('Restore Complete');



------------------------------------------------------