<?php
include('core.php');
$time=time();
$lines = gzfile('http://'.$CFG['tw']['server'].'/map/player.txt.gz');
if(!is_array($lines)) die("Nie można było otworzyć pliku");
foreach($lines as $line) {
list($id, $name, $ally, $villages, $points, $rank) = explode(',', $line);
$name = urldecode($name);
$name = addslashes($name);
$sql='INSERT INTO `players` (`id`, `time`, `name`, `villages`, `points`, `rank`) VALUES'." ($id, $time, $name, $villages, $points, $rank)";
mysql_query($sql);
}
mysql_close($sql_conn);
?>
plik core.php zawiera dane konfiguracyjne w tablicy $CFG oraz łączy się i wybiera bazę. Problem jest w tym, iż dane się nie zapisują… co jest źle?
ra-v
(ra-v)
#2
Pytanie czy w ogóle czyta plik po URLu we funkcji gzfile();
Zrób:
var_dump(gzfile('http://'.$CFG['tw']['server'].'/map/player.txt.gz'))
Druga sprawa czy nie powinno być
$sql='INSERT INTO `players` (`id`, `time`, `name`, `villages`, `points`, `rank`) VALUES'." ($id, \'$time\', \'$name\', \'$villages\', $points, $rank)";
? Tam gdzie string muszą być apostrofy. Można to sprawdzić czy się wstawia zmieniając linię na
mysql_query($sql) or die(mysql_error());
mysql_error() zwraca User ‘a4436597_itw’ has exceeded the ‘max_questions’ resource (current value: 100000) Czyli już wiem… limity 
ra-v
(ra-v)
#4
Ale coś mi tu nie gra - 100tys. zapytań to dużo - masz duży ruch? Czy skrypt generuje tak duży ruch?
Jeśli tak to spróbuj ograniczyć ilość zapytań (połączenia, podzapytania). Wiem że to czasem nie możliwe ale to już sam musisz stwierdzić.
W csv było bardzo dużo danych, dodałem if i filtrowanie danych- działa.