Write haof XML files: Vladimir
Hernández (
interco@linuxbaja.org)
Fecha: mié 27 abr 2005 - 14:10:46
CEST
On Wed, 27 Apr 2005 13:36:45 +0200, marolijo wrote
> Muchas gracias, però donde
pones la conexión al servidor?
> Con
> $db = init_db($db_name);
> solo puedes connectar con el
servidor localhost verdad? No puedo
> conectar a un servidor ajeno con
IP, username y pwd?
>
> Muchas gracias por el
script!
> Pol Maresma
>
> -----Mensaje
original-----
> De: Vladimir Hernández
[mailto:
interco@linuxbaja.org]
> Enviado el: dimecres, 27 / abril /
2005 11:45
> Para:
php-es@lists.php.net
> Asunto: Re: [PHP-ES] Backup de
Mysql
>
> On Wed, 27 Apr 2005 11:11:00
+0200, marolijo wrote
> > Hola, le quiero preparar a un
cliente un script para que guarde
> > backups de su MySQL sin darle
acceso a MySqlAdmin, saben de alguna
> > manera de hacerlo? se lo
quiero incluir en el administrador web de la
> > base de datos que yo he hecho
a medida.
> >
> > Muchas gracias
> >
> > Pol Maresma i Oliveras //
<mailto:
pol@polnetwork.com>
> >
pol@polnetwork.com <http://www.polnetwork.com/>
www.PolNetwork.com //
> > Serveis d'Internet
www.PolNetwork.com/tempslliure // Articles,
> > opinions, imatges...
Blog
>
> Yo hago que el administrador que
también hice a la medida corra el siguiente
> script:
>
> function
tables($db_name){
> $table_sql = "SHOW TABLES FROM
`".$db_name."`";
> $table_sal =
mysql_query($table_sql);
> $cuantas =
mysql_num_rows($table_sal);
> for
($i=0;$i<$cuantas;$i++){
> $temp_array =
mysql_fetch_row($table_sal);
> $salida[$i] =
$temp_array[0];
> }
> return $salida;
> }
>
> # Load table names and number of
columns $tables = tables($db_name);
> # Generating Backup Data
> $cuantos =
count($tables);
> $salida = "";
> for
($i=0;$i<$cuantos;$i++){
> $db = init_db($db_name);
> $back_sql = "SELECT * FROM
".$tables[$i];
> $back_sal =
mysql_query($back_sql);
> $rows =
mysql_num_rows($back_sal);
> if($rows > 0){
> for
($j=0;$j<$rows;$j++){
> $cols =
mysql_num_fields($back_sal);
> $cols_html = "";
> $temp_array =
mysql_fetch_row($back_sal);
> $salida .= "INSERT INTO
`".$tables[$i]."` VALUES (";
> for
($k=0;$k<$cols;$k++){
> if
(is_numeric($temp_array[$k])){$field_value =
>
round($temp_array[$k]);}else{$field_value =
$temp_array[$k];}
> # Esto es para evitar problemas
con caracteres reservados
> $cols_html .= "
>
'".preg_replace("/'/","'",(preg_replace("/\"/","\\\"",addcslashes($field_
>
value,"\0..\37!@\177..\377"))));
> if($k < ($cols-1)){$cols_html
=
> $cols_html."',";}else{$cols_html =
$cols_html."'";}
> }
> $salida .=
$cols_html.")\n";
> }
> }
> }
> $filename =
"db_backup_".date(Y_m_d).".txt";
> $filename = "Content-Disposition:
attachment;
> filename=".$filename;
header("Content-Type: text/plain");
> header($filename); echo
$salida;
>
> --
> Vladimir Hernández
> http://linuxbaja.org
> Linux registered user #
374079
>
> --
> PHP Spanish Localization Talk
Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
olvidé una función...
function init_db($database){
$db =
mysql_connect("localhost","user","password");
mysql_select_db($database,$db);
return $db;
}
-- Vladimir Hernández http://linuxbaja.org Linux registered user # 374079 -- PHP Spanish Localization Talk Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Este archivo fue generado por hypermail 2.1.7 : sáb 18 mar 2006 - 18:49:33 CET