inizio illustrandovi la struttura della tabella server:
1|s2.travian.it|it2
2|s3.travian.it|it3
3|s4.travian.it|it4
4|s5.travian.it|it5
comunque ho provato cambiando il nome del file..
ma nella cartella maps c'è solamente it2.sql, a video viene stampato solo "Aggiornamento del s2.travian.it riuscito!" e nel database viene aggiornata solo la tabella it2_worldCodice PHP:<?php
error_reporting(E_ALL);
#dati del db
$hostname="censured";
$username="censured";
$password="censured";
$database="censured";
#connessione al db
$db_conn=@mysql_connect($hostname,$username,$password) OR die("Impossibile stabilire il collegamento!");
$db_select=@mysql_select_db($database,$db_conn) OR die("Impossibile selezionare il database!");
#query per selezionare i map.sql da importare
$sql="SELECT * FROM `server`";
$result=@mysql_query($sql) OR die("Impossibile selezionare i record dalla tabella [b]server[/b]");
#ciclo while
while ($row=mysql_fetch_assoc($result)) {
#importazione del map.sql
system("wget [url]http://[/url]{$row['indirizzo']}/map.sql -O maps/map.sql");
#controllo sulla riuscita dell'operazione
if (file_exists("maps/map.sql") AND filesize("maps/map.sql")) {
#apertura del map.sql in lettura e scrittura
$handle=fopen("maps/map.sql","r");
#lettura dei contenuti del map.sql
$contents=fread($handle,filesize("maps/map.sql"));
#modifica della tabella di destinazione
$new=str_replace("INSERT INTO `x_world`","INSERT INTO `{$row['abbreviazione']}_world`",$contents);
#chiusura del file
fclose($handle);
#cancellazione del file map.sql temporaneo
unlink("maps/map.sql");
#creazione del nuovo map.sql
$handle=fopen("maps/{$row['abbreviazione']}.sql","w");
fwrite($handle,$new);
#chiusura del file
fclose($handle);
#svuotamento della tabella di destinazione
$sql= "TRUNCATE TABLE `{$row['abbreviazione']}_world`";
$result=@mysql_query($sql) OR die("Impossibile svuotare la tabella!");
#importazione del map.sql
system("mysql --host=$hostname --user=$username --password=$password --default-character-set=utf8 $database < maps/{$row['abbreviazione']}p.sql");
echo "Aggiornamento del [b]{$row['indirizzo']}[/b] riuscito!";
} else {
echo "Il download è fallito, oppure il file map.sql era vuoto!";
}
}
?>
quindi.. il ciclo viene eseguito una sola volta..
se mi rispondete a questa domanda forse so il motivo per cui fa così..
error_reporting settato su 6135 cosa comporta?

Rispondi quotando