Ergebnis 1 bis 10 von 91

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

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Avatar von Gremlin
    Registriert seit
    05.07.2006
    Beiträge
    5.206
    Danke für die Info muss ich gleich mel updaten? Mit welchem Cron macht ihr das eigentlich? Habe vor kurzem mal einen geschrieben, welcher viel performanter ist wie der von zement. Jedoch nutze ich kein VMS. Ich könnte allerdings den Cron hier mal posten.
    Diskutiere nie mit Idioten - sie holen Dich auf ihr Niveau und schlagen Dich dort mit Erfahrung!



  2. #2
    Administrator Avatar von Lokutos
    Registriert seit
    29.03.2008
    Beiträge
    3.147
    Zitat Zitat von Gremlin Beitrag anzeigen
    Danke für die Info muss ich gleich mel updaten? Mit welchem Cron macht ihr das eigentlich? Habe vor kurzem mal einen geschrieben, welcher viel performanter ist wie der von zement. Jedoch nutze ich kein VMS. Ich könnte allerdings den Cron hier mal posten.
    PHP-Code:
    <?php
    $handle 
    fopen("http://ip-to-country.webhosting.info/downloads/ip-to-country.csv.zip","r");
    if(
    $handle){
      
    $handle2 fopen("./crons/ip-to-country.csv.zip","w");
      if(
    $handle2){
        while (!
    feof($handle)){
          
    fwrite($handle2,fread($handle1024));
        }
        
    fclose($handle2);
      }
      
    fclose($handle);
    }
    $zip = new ZipArchive;
    $zip->open('./crons/ip-to-country.csv.zip');
    $zip->extractTo('./crons/');
    $zip->close(); 
    mysql_query("TRUNCATE TABLE laendercode");
    $returned='';
    $fp=@fopen($_SERVER['DOCUMENT_ROOT'].'/crons/ip-to-country.csv',"r");
    if(
    $fp){
      while(
    $line=fgets($fp,1000)){
                
    $line str_replace("\"","",$line);
                
    $werte_array=split(",",$line);
                
    $anfuegen db_query("INSERT INTO laendercode (IP_FROM, IP_TO, CC2, CC3, land) values ('$werte_array[0]','$werte_array[1]','$werte_array[2]','$werte_array[3]','$werte_array[4]')");
      }
      
    fclose($fp);
    }
    db_query ("UPDATE ".$db_prefix."_crons SET laufzeit = '".time()."' WHERE bezeichnung = 'Laendercode-DateiUpdate'");
    ?>
    lasse ich 1 mal wöchentlich laufen
    weil das eine mal bisschen arbeit für den server darauf sch... ich
    so ist es sicherlich immer aktuell
    SwissNetWorX - VMS Hosting / V-Server / Cloud-Server / Hosting

  3. #3
    Erfahrener Benutzer Avatar von Gremlin
    Registriert seit
    05.07.2006
    Beiträge
    5.206
    Ich optimiere meinen später und poste ihn hier. Der ist noch besser 8-)
    Diskutiere nie mit Idioten - sie holen Dich auf ihr Niveau und schlagen Dich dort mit Erfahrung!



  4. #4
    Erfahrener Benutzer Avatar von dragon11
    Registriert seit
    06.07.2006
    Beiträge
    320
    ich poste gerne mal meinen cron, den ich 1 mal wöchentlich laufen lasse.
    Vorraussetzungen sind:
    safe_mode off
    zip und ungezippte Dateien im hauptverzeichnis müssen vorhanden sein

    PHP-Code:
    <?php
    @require_once ('lib/functions.lib.php');
    //@require_once ('lib/layout.lib.php');
    error_reporting(E_ALL);
    //head("");
    //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;
    }

    $filename 'ip-to-country.csv.zip';
    if (
    file_exists($filename)) {
        
    $falt date("Y.m.d"filemtime($filename));
        echo 
    $falt.' letztes Update<br>';
    }

    $array = (getArrayHttpHeader("http://ip-to-country.webhosting.info/downloads/ip-to-country.csv.zip"));
    // print_r($array);
    // Display last updated timestamp
    $fneu date("Y.m.d",strtotime($array['Last-Modified'])); 
    echo 
    $fneu.' neueste Update<br>'

    if (
    $fneu $falt) {
        
    //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");
            echo 
    '<br>hier cron<br>';
            
    db_connect ();
            
    $delete db_query("TRUNCATE TABLE laendercode");
            
    $returned='';
            
    $fp=@fopen($_SERVER['DOCUMENT_ROOT'].'/ip-to-country.csv',"r");
            if(
    $fp){
                  while(
    $line=fgets($fp,1000)){
                    
    $line str_replace("\"","",$line);
                    
    $werte_array=split(",",$line);
                    
    $anfuegen db_query("INSERT INTO laendercode (IP_FROM, IP_TO, CC2, CC3, land) values ('$werte_array[0]','$werte_array[1]','$werte_array[2]','$werte_array[3]','$werte_array[4]')");

                
    //echo "$werte_array[0],$werte_array[1],$werte_array[2],$werte_array[3],$werte_array[4] <br>";
                  
    }
                  
    fclose($fp);
            }
            
    $test mysql_fetch_array(db_query("SELECT COUNT(*) as summe FROM laendercode"));
            echo 
    $test['summe'].'DB-Einträge<br>';
            
    // Zeit setzen
            
    db_query ("UPDATE ".$db_prefix."_crons SET laufzeit = '".time()."' WHERE bezeichnung = 'Laendercode-DateiUpdate'");
            
    db_close();
        }
    } else {
        echo 
    'Update war nicht erforderlich.<br>';  
    }
    echo 
    'here is the end';
    //foot();
    ?>
    Bin für Verbesserunge natrlich offen.
    mfg
    dragon11

Ähnliche Themen

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

Berechtigungen

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