Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Georeferenziaione indirizzo IP

    Ho 2 domande da porvi a riguardo:

    1) mi occorre individuare il paese a partire all'indirizzo IP dei miei utenti, per fare ciò ho trovato una classe su internet che utilizza il servizio www.hostip.info.

    Riporto di seguito parte del codice:

    Codice PHP:
    function fetch($host) { 
      
    $reply 'error';      
      
    // try curl or fopen          
      
    if( function_exists('curl_init') ) {              
        
    // use curl too fetch site              
        
    $ch curl_init();              
        
    curl_setopt($chCURLOPT_URL$host);                 
        
    curl_setopt($chCURLOPT_RETURNTRANSFER1);  
        
    $reply curl_exec($ch); 
        
    curl_close ($ch);
       } else {              
    // fall back on fopen                 
        
    $reply file_get_contents($host'r');          
       }          
      return 
    $reply;      

    la parte di codice funziona egregiamente quando non trova intoppi ma se il servizio hostip è down oppure la connessione è lenta e si supera il timeout ottengo un messaggio di errore dalla funzione file_get_contents, il che è giusto.
    Io vorrei che in caso di errore non mi venga mostrato alcun WARNING, ma semplicemente il mio script lo ingnorasse.
    In sostanza vorrei gestire l'eccezione ma in modo che funzioni sua su PHP 4 che 5.

    2) La seconda domanda è più banale: ho trovato una seconda classe che fa uso di un database locale in formato CSV di circa 5 MB, in termini di prestazioni su un server (quindi non in locale), l'utilizzo di un file così grande più portare problemi?

    GRAZIE.

  2. #2
    Perchè non utilizzi un database come MySQL ed un archivio tipo quello offerto da MaxMind oppure da Web Hosting Info?

  3. #3
    Vorrei evitare di utilizzare un database per il mio scopo. Sto realizzando un componente per un CMS e vorrei evitare di far caricare sul DB degli utenti che desiderano utilizzare il mio componente una quantità enorme di dati.
    Quindi vorrei dare al mio utente 2 alternative: utilizzare un servizio online (in questo caso ho il problema della continuità del servizio) o utilizzre un "DB" in formato CSV (ma non so se in termini di prestazioni ci siano problemi).

    Nel caso della soluzione online non mi importa se qualche volta il servizio HostIP che utilizzo non è disponibile a me basta che in tal caso il mio codice semplicemente restituisca come paese "sconosciuto" senza darmi il messaggio di errore.

    Qualcuno può aiutarmi?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.