Cercando su google sembrerebbe E_ALL ^ E_NOTICE, quindi i Notice disabilitatiOriginariamente inviato da Fred_88
error_reporting settato su 6135 cosa comporta?
Per il nome file io comunque intendevo per il wget
Cercando su google sembrerebbe E_ALL ^ E_NOTICE, quindi i Notice disabilitatiOriginariamente inviato da Fred_88
error_reporting settato su 6135 cosa comporta?
Per il nome file io comunque intendevo per il wget
Commenti del tipo:Originariamente inviato da Fred_88
Ho inserito tanti commenti per permettervi di capire a cosa serve lo script..
sono assolutamente inutili e forvianti per non dire dannosi.Codice PHP:#chiusura del file
fclose($handle);
e come al solito nella cartella maps c'è solamente it2.sqlCodice 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/{$row['abbreviazione']}.sql");
#controllo sulla riuscita dell'operazione
if (file_exists("maps/{$row['abbreviazione']}.sql") AND filesize("maps/{$row['abbreviazione']}.sql")) {
#apertura del map.sql in lettura e scrittura
$handle=fopen("maps/{$row['abbreviazione']}.sql","r");
#lettura dei contenuti del map.sql
$contents=fread($handle,filesize("maps/{$row['abbreviazione']}.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/{$row['abbreviazione']}.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!";
}
}
?>
p.s.: è possibile che il php.ini avendo impostato error_reporting a 6135 non mi mostri i messaggi d'errore per il supero della memoria disponibile per ogni pagina?
calcolate che ogni map.sql è in media 3.5MB...
A me l'errore sembra palese però forse ho un abbaglio:
$result lo usi nel mysql_fetch_assoc() e questa riga te lo azzera, ergo ti farà solo un ciclo.Codice PHP:$result=@mysql_query($sql) OR die("Impossibile svuotare la tabella!");
Togli il $result (che tanto non lo usi):
P.S.: sconsiglio sempre di usare la @ perché non ti fa vedere gli errori, anche quelli fatali!Codice PHP:mysql_query($sql) OR die("Impossibile svuotare la tabella!");
Ecco l'inghippo![]()
porca la vacca boia che demente che sono.. ç_ç
grazie mille ntd! *__*
cioa ho letto il tuo codice e mi sono permesso di ottimizzarlo un pò..
spero ti possa essere di aiuto
Codice PHP:<?php
error_reporting(E_ALL);
#dati del db
$hostname="censured";
$username="censured";
$password="censured";
$database="censured";
$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!");
$result=mysql_query("SELECT * FROM `server`") OR die("Impossibile selezionare i record dalla tabella [b]server[/b]");
#ciclo while
while ($row=mysql_fetch_assoc($result)) {
system("wget [url="http://"][url]http://[/url][/url]{$row['indirizzo']}/map.sql -O maps/{$row['abbreviazione']}.sql");
if (is_file("maps/{$row['abbreviazione']}.sql") AND filesize("maps/{$row['abbreviazione']}.sql")) {
$new=str_replace("INSERT INTO `x_world`","INSERT INTO `{$row['abbreviazione']}_world`",file_get_contents("maps/{$row['abbreviazione']}.sql"));
unlink("maps/{$row['abbreviazione']}.sql");
// con php5 usa questa riga per scrivere sul file
$write_new=file_put_contents("maps/{$row['abbreviazione']}.sql",$new)
// sennò comentala e decommenta le 3 vecchie
/*
$handle=fopen("maps/{$row['abbreviazione']}.sql","w");
fwrite($handle,$new);
fclose($handle);
*/
mysql_query("TRUNCATE TABLE `{$row['abbreviazione']}_world`") OR die("Impossibile svuotare la tabella!");
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!";
}
}
?>![]()
Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle
il mio profilo su PHPClasses e il mio blog laboweb