Seite 1 von 10 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 91

Thema: Diskussion Länderaddon / GeoIP-, IP2Country-, Geotargeting-, Geolocation-Datenbanken

  1. #1
    Erfahrener Benutzer Avatar von maniwelt
    Registriert seit
    10.09.2006
    Beiträge
    981

    Diskussion Länderaddon / GeoIP-, IP2Country-, Geotargeting-, Geolocation-Datenbanken

    Ausgliederung aus dem Thema:
    länderaddon update



    Danke, hab Update gemacht
    Diese Signatur war zu groß ~cdp~

    Meine Antwort: Ach jaaaa ?

  2. #2
    Erfahrener Benutzer Avatar von eRaaaa
    Registriert seit
    06.06.2007
    Beiträge
    702
    last update.php

    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']));

    ?>
    interessant ist dabei, dass die zeit auch als timestamp zur verfügung steht!

    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ß

  3. #3
    Erfahrener Benutzer Avatar von Gremlin
    Registriert seit
    05.07.2006
    Beiträge
    5.208
    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!



  4. #4
    Erfahrener Benutzer Avatar von eRaaaa
    Registriert seit
    06.06.2007
    Beiträge
    702
    Zitat Zitat von cdp Beitrag anzeigen
    Könnte man doch dann auch so proggen das wenn eine neue Version verfügbar ist, das Ding automatisch updated


    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?!

  5. #5
    Erfahrener Benutzer Avatar von Gremlin
    Registriert seit
    05.07.2006
    Beiträge
    5.208
    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!



  6. #6
    Erfahrener Benutzer Avatar von eRaaaa
    Registriert seit
    06.06.2007
    Beiträge
    702
    hm, dann so vllt (php5)
    PHP-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 ($host80$errno$errstr30);

       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

    LASTUPDATE = timestamp der letzten aktualisierung
    vllt kennt ja jmd von euch ne unzip-funktion die auch mit php4 funktioniert. war jetzt zu faul zu googlen

  7. #7
    Ahh, das mit dem automatischen Update hab ich noch gar nicht bedacht

    Ich hatte mir vor 2 Tagen einen Cron geschrieben, der herunterlädt, automatisch entpackt und in die Datenbank lädt, aber ein automatisches Update oder das Ersparen der ganzen Schritte wär vl. auch nicht schlecht

    *working*


  8. #8
    Administrator Avatar von Lokutos
    Registriert seit
    29.03.2008
    Beiträge
    3.115
    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

  9. #9
    Zitat Zitat von Lokutos Beitrag anzeigen
    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.
    Die IP-Räume ändern sich aber immer wieder. Dass ein Bereich mal gleich bleibt ist eher Glückssache, sonst gäbe es nicht dauernd Updates


  10. #10
    Erfahrener Benutzer Avatar von eRaaaa
    Registriert seit
    06.06.2007
    Beiträge
    702
    vor allem ist es ja auch nicht so, dass man sich hier bei nem update was kaputtspielen kann, also..immer schön updaten !

Seite 1 von 10 123 ... LetzteLetzte

Ähnliche Themen

  1. länderaddon update
    Von didith1207 im Forum Ankündigungen (erledigt)
    Antworten: 31
    Letzter Beitrag: 07.06.2011, 18:32
  2. Datenbanken von Schulen
    Von sebi-home im Forum [HD] Sonstiges
    Antworten: 2
    Letzter Beitrag: 23.04.2009, 17:23
  3. DISKUSSION & VORSCHLÄGE Patchlog Thread
    Von Gremlin im Forum Support zu Addons & Erweiterungen
    Antworten: 13
    Letzter Beitrag: 21.12.2008, 16:00
  4. Mircosoft Windows vienna / se7en / 7 Diskussion
    Von Xenon im Forum Talk, talk, talk...
    Antworten: 3
    Letzter Beitrag: 17.11.2008, 22:11

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •