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
so da ja alle hier so auf updatewahn sind meine version ist von september 08 und bisher kennt sie alle ip's so mal nebenbei.
Ich empfehle jedem User bzw Admin solange es keine problehme gibt das ip's die tatsächlich aus deutschland kommen nicht erkannt werden, gar kein Update zu machen.
MFg Lokutos
*dieser beitrag ist die persönliche meinung
SwissNetWorX - VMS Hosting / V-Server / Cloud-Server / Hosting
vor allem ist es ja auch nicht so, dass man sich hier bei nem update was kaputtspielen kann, also..immer schön updaten !