Visualizzazione risultati 1 fino 21 di 21

Discussione: Ip to country: numero di query

  1. #1
    Guest

    Predefinito Ip to country: numero di query

    Vorrei sapere gentilmente quante query servono per installare IP to country su database (Php-stats)?
    Ne bastano 10000?

    Sul mio database ho già installato il forum phpBB, php-stats.

  2. #2
    Guest

    Predefinito

    per l'installazione su db ti servono il numero di inserimenti del csv + una query di installazione

    attualmente quindi (alle 8:30 14/10/05) ti servono

    61491 + 1 queries

    mavericck

  3. #3
    Guest

    Predefinito

    61491 queries per una installazione???
    Sei sicuro di aver scritto correttamente??


    Ciaoo!!

  4. #4
    L'avatar di Evcz
    Evcz non è connesso Utente storico
    Data registrazione
    31-05-2002
    Residenza
    Vicenza
    Messaggi
    5,670

    Predefinito

    database così grossi possono essere caricate con query da 5000 righe alla volta...

    io ho uno script che carica un database simile... 50.000 righe (ipstart,ipend e nome range) con una decina di query....

    se postate qui lo script per il caricamento si può vedere com'è strutturato ;)
    There are three kinds of people in this world: people who watch things happen ... people who complain about things that happen ... and people who make things happen...

  5. #5
    Guest

    Predefinito

    mi sfugge qualcosa... di che parlate??


    Ciao!

  6. #6
    L'avatar di Evcz
    Evcz non è connesso Utente storico
    Data registrazione
    31-05-2002
    Residenza
    Vicenza
    Messaggi
    5,670

    Predefinito

    Un database che assegna ad ogni ip internet la nazione in cui si trova, usato per pubblicità mirate oppure per le statistiche o per moltre altre cose...

    http://www.ip-to-country.com/
    There are three kinds of people in this world: people who watch things happen ... people who complain about things that happen ... and people who make things happen...

  7. #7
    Guest

    Predefinito

    Ah ok, mi ritiro quatto quatto....


    Ciao!!!!!!

  8. #8
    Guest

    Predefinito

    Codice PHP:
    while(!feof($fp))
    {
    $content=trim(fgets($fp, 4096)); // Leggo 1 riga
    $content=str_replace('"','',$content);
    if(
    $content!='')
    {
    list(
    $ip_from,$ip_to,$tld,$dummy1,$dummy2)=explode(',',$content);
    $tld=strtolower($tld);
    mysql_query('INSERT INTO '.$option['prefix']."_ip_zone
    VALUES('
    $ip_from','$ip_to','$tld')");
    }
    }
    echo
    'Fine.';
    }
    il codice è chiaro: per ogni riga del csv esegue una query di inserimento (INSERT INTO...), ed essendo il file del database aggiornato composto da 61491 righe -> 61491 queries (+ 1 di creazione della apposita tabella)

    mavericck

  9. #9
    L'avatar di Evcz
    Evcz non è connesso Utente storico
    Data registrazione
    31-05-2002
    Residenza
    Vicenza
    Messaggi
    5,670

    Predefinito

    posto qualche riga di codice per spiegare cosa faccio io in genere ;)

    Codice PHP:
    //inizialize the counter
    $i = 0;

    //inizialize query string for unique_query mode
    if($ipblocker_config['unique_query'])
    $query = 'INSERT IGNORE INTO '.$ipblocker_config['db_name'].'.'.$ipblocker_config['db_table_name'].' (`start`,`end`,`rangename`) VALUES ';


    if(
    $ipblocker_config['unique_query']){
    if(
    $i != 0)
    $query .= ',';
    $query .= '(\''.$data['start'].'\',\''.$data['end'].'\',\''.$data['rangename'].'\')';

    ++
    $i;

    if(
    $i == $ipblocker_config['lines_per_query']){
    @
    mysql_query($query, $ipblocker_config['connection_link']);
    $query = 'INSERT IGNORE INTO '.$ipblocker_config['db_name'].'.'.$ipblocker_config['db_table_name'].' (`start`,`end`,`rangename`) VALUES ';
    $i = 0;
    }
    }
    else
    @
    mysql_query('INSERT IGNORE INTO '.$ipblocker_config['db_name'].'.'.$ipblocker_config['db_table_name'].' (`start`,`end`,`rangename`) VALUES (\''.$data['start'].'\',\''.$data['end'].'\',\''.$data['rangename'].'\')', $ipblocker_config['connection_link']);

    if(
    $ipblocker_config['unique_query']){
    @
    mysql_query($query, $ipblocker_config['connection_link']);
    }
    There are three kinds of people in this world: people who watch things happen ... people who complain about things that happen ... and people who make things happen...

  10. #10
    Guest

    Predefinito

    60000 e passa per l'installazione, ma per l'uso normale?
    Circa 200 visitatori al giorno?

  11. #11
    Guest

    Predefinito

    teoricamente 200 queries (solo per ritrovare il paese dall'ip, non per tuto il resto che fa il php-stats)

    forse ti conviene passare all'installazione su file

    mavericck

  12. #12
    Guest

    Predefinito

    Devo avere permessi di scrittura speciali? Perchè proprio non ho capito cosa signifchi su file?
    Grazie tante

  13. #13
    L'avatar di domenicoragusa
    domenicoragusa non è connesso Altervistiano Junior
    Data registrazione
    03-06-2005
    Messaggi
    618

    Predefinito

    usi un file come database, i permessi di altervista sono settati in modo da far funzionare qualunque script però se vuoi puoi settarli con il mod_rewrite...
    ciao ciao

  14. #14
    Guest

    Predefinito

    in pratica invece di avere la lista dei range di ip nel database, è su un file, e questo viene letto dallo script, senza eseguire alcuna query

    non dovrebbero servire permessi particolari, non ti resta che provare ;)

    mavericck

  15. #15
    Guest

    Predefinito

    Funziona. Ho provato questo pomeriggio.

  16. #16
    Guest

    Predefinito

    Citazione Originalmente inviato da mavericckweb
    forse ti conviene passare all'installazione su file
    Mi potresti spiegare qualcosa in più riguardo all'installazione su file?
    Grazie

  17. #17
    Guest

    Predefinito

    Citazione Originalmente inviato da mavericckweb
    in pratica invece di avere la lista dei range di ip nel database, è su un file, e questo viene letto dallo script, senza eseguire alcuna query
    mi autocito per risponderti

    mavericck

  18. #18
    Guest

    Predefinito

    Ho capito, ma come si fa a dire allo script che è su file e di cercarlo su file?

  19. #19
    Guest

    Predefinito

    il miglior aiuto te lo può dare il sito del software

    http://www.php-stats.com/forum/viewtopic.php?t=1505

    mavericck

  20. #20
    Guest

    Predefinito

    premesso ke io nn sapevo ke esistessero dei database ip to country free, appena ho letto il topic mi sn subito scaricato il file .csv (io l'ho scaricato da un altro sito ke ho trovato su google ed qst invece di 61491 voci ne ha 69339) e ho creato qst piccolo script ke può essere ancora migliorato:
    Codice PHP:
    <?
    $ip
    =ip2long('82.55.119.58');
    $vettore=file('IpToCountry.csv');
    $country = "Sconosciuto";

    for(
    $x=0; $x < count($vettore); $x++){
    $a=explode(",", $vettore[$x]);

    if(
    $ip >= trim(strtr($a[0], "\"", " ")) && $ip <= trim(strtr($a[1], "\"", " "))){

    $country = trim(strtr($a[6], "\"", " "));
    break;
    }
    }
    echo
    $country;
    ?>

  21. #21
    Guest

    Predefinito

    Grazie mavericck!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •