Ausgliederung aus dem Thema:
länderaddon update
Danke, hab Update gemacht
Ausgliederung aus dem Thema:
länderaddon update
Danke, hab Update gemacht
Diese Signatur war zu groß ~cdp~
Meine Antwort: Ach jaaaa ?
last update.php
interessant ist dabei, dass die zeit auch als timestamp zur verfügung steht!PHP-Code:
<?
function getRawHttpHeader($host,$doc)
{
$httpheader = "";
$fp = fsockopen ($host, 80, $errno, $errstr, 30);
if (!$fp)
{
echo "$errstr ($errno) \n";
}
else
{
fputs ($fp, "GET $doc HTTP/1.0\r\nHost: " . $host. "\r\n\r\n");
while (!feof($fp))
{
$httpresult = fgets ($fp,1024);
$httpheader = $httpheader.$httpresult;
if (ereg("^\r\n",$httpresult))
break;
}
fclose ($fp);
}
return $httpheader;
}
function getArrayHttpHeader($url)
{
$url = ereg_replace("http://","",$url);
$endHostPos = strpos($url,"/");
if (!$endHostPos)
$endHostPos = strlen($url);
$host = substr($url,0,$endHostPos);
$doc = substr($url,$endHostPos,strlen($url)-$endHostPos);
if ($doc=="")
$doc = "/";
$raw = getRawHttpHeader($host,$doc);
$tmpArray = explode("\n",$raw);
for ($i=0;$i<sizeof($tmpArray); $i++)
{
@list($name, $value) = explode(':', $tmpArray[$i], 2);
$array[trim($name)]=trim($value);
}
return $array;
}
$array = (getArrayHttpHeader("http://ip-to-country.webhosting.info/downloads/ip-to-country.csv.zip"));
// print_r($array);
// Display last updated timestamp
echo date("j F Y",strtotime($array['Last-Modified']));
?>
wget -q -N -P /tmp http://ip-to-country.webhosting.info...ountry.csv.zip
ist auch ganz nett lädt das file runter in tmp, wenn eine neue version verfügbar ist.
Gruß
Könnte man doch dann auch so proggen das wenn eine neue Version verfügbar ist, das Ding automatisch updated
Diskutiere nie mit Idioten - sie holen Dich auf ihr Niveau und schlagen Dich dort mit Erfahrung!
wollt ich mich gerad dransetzen
aber ich erkenne aus deinem post raus, dass du dich bereiterklärst das zu übernehmen
/edit: da es doch nicht so einfach ist wie ich es mir vorgestellt habe, darfst du dich defenitiv der sache hingeben
hatte mir überlegt einfach
a) timestamp vom letzten update in TABLE `laendercode` zu speichern
b) bei neuer datei:
system/shell_exec("wget -q -N -P ".getcwd()." http://ip-to-country.webhosting.info/downloads/ip-to-country.csv.zip");
system/shell_exec("gunzip ip-to-country.csv.gz");
und dann halt den cron laufen zu lassen....
in der theorie sollte das doch gehen?!
Theoretisch sollte das gehen, allerdings sollte mane ine Lösung suchen ohne exec/system denn die wenigsten Hoster schalten den Endkunden exec frei.
Diskutiere nie mit Idioten - sie holen Dich auf ihr Niveau und schlagen Dich dort mit Erfahrung!
hm, dann so vllt (php5)
LASTUPDATE = timestamp der letzten aktualisierungPHP-Code:
//unzip with PHP 5.2.0 or later (zlib)
function unzip($file)
{
$zip = new ZipArchive();
if ($zip->open($file) === TRUE) {
$zip->extractTo('./');
$zip->close();
echo 'Erfolgreich entzippt';
} else {
echo 'Konnte Zip nicht öffnen';
}
}
function getRawHttpHeader($host,$doc)
{
$httpheader = "";
$fp = fsockopen ($host, 80, $errno, $errstr, 30);
if (!$fp)
{
echo "$errstr ($errno) \n";
}
else
{
fputs ($fp, "GET $doc HTTP/1.0\r\nHost: " . $host. "\r\n\r\n");
while (!feof($fp))
{
$httpresult = fgets ($fp,1024);
$httpheader = $httpheader.$httpresult;
if (ereg("^\r\n",$httpresult))
break;
}
fclose ($fp);
}
return $httpheader;
}
function getArrayHttpHeader($url)
{
$url = ereg_replace("http://","",$url);
$endHostPos = strpos($url,"/");
if (!$endHostPos)
$endHostPos = strlen($url);
$host = substr($url,0,$endHostPos);
$doc = substr($url,$endHostPos,strlen($url)-$endHostPos);
if ($doc=="")
$doc = "/";
$raw = getRawHttpHeader($host,$doc);
$tmpArray = explode("\n",$raw);
for ($i=0;$i<sizeof($tmpArray); $i++)
{
@list($name, $value) = explode(':', $tmpArray[$i], 2);
$array[trim($name)]=trim($value);
}
return $array;
}
$array = (getArrayHttpHeader("http://ip-to-country.webhosting.info/downloads/ip-to-country.csv.zip"));
if (strtotime($array['Last-Modified'])> LASTUPDATE)
{
//Kopiere und entpacke neues update
if (copy("http://ip-to-country.webhosting.info/downloads/ip-to-country.csv.zip","ip-to-country.csv.zip"))
{
unzip("ip-to-country.csv.zip");
}
require(laenderupdate.int.php); // Cron ausführen
}
vllt kennt ja jmd von euch ne unzip-funktion die auch mit php4 funktioniert. war jetzt zu faul zu googlen
Moin,
ich möchte gern den Thread aus dem Grab holen, um in erfahrung zu bringen,
wie man das Teil mit den neuen Ipv6 IPs verwenden kann.
Software77.net hat die Excel dahingehend erweitert, dass neben Ipv4 auch Ipv6 gelistet werden.
Leider kommt es beim auslesen zu einem Problem. Die eigene Ipv6 scheint aktuell nicht verarbeitet werden zu können.
Hat da jemand ne Idee?
Danke.
nimm geoip das klappt wunderbar nutze ich sogar kann per webapi oder per datenbank nutzen
kannst du den mal den code dazu zeigen und einen auszug der db?