Ver Mensaje Individual
  #2 (permalink)  
Antiguo 22/11/2009, 18:58
severicks
 
Fecha de Ingreso: septiembre-2009
Mensajes: 306
Antigüedad: 15 años, 2 meses
Puntos: 10
Respuesta: [APORTE] ver de que Pais es la persona que me visita

esto es precisamente lo q estaba buscando, pero no logro q me funcione. pongo exactamente este codigo
Código PHP:
<?php

      
/**
       * This class generates the country name and its flag from its IP address
       *
       *
       * @author Rochak Chauhan
       */
      
class CountryFromIP {
       
          private 
$CountryIPDatabase 'CountryIPDatabase.csv';
          private 
$ip '';
          
/**
           * Function to validate IP ( please modify it according to your needs)
           *
           * @param $ip - string
           *
           * @return boolean
           */
          
public function ValdateIP($ip) {
              
$ipArray explode(',',$ip);
       
              if(
count($ipArray) != 4) {
                  echo 
"<font color='red' size='3'> <b>ERROR: </b> Invalid IP</font>";
                  return 
false;
              }
              else {
                  return 
true;
              }
          }
       
          
/**
           * Function to return Country name from the IPDatabase
           *
           * @param $ip string
           *
           * @return string - name of the country, false otherwise
           */
          
public function GetCountryName($ip) {
              
$this->ip $ip;
              
$ip sprintf("%u"ip2long($ip));
       
              
$csvArray file($this->CountryIPDatabase);
       
              for(
$i=0$i<count($csvArray); $i++){
                  
$setCsv str_replace("\""""$csvArray[$i]);
                  
$arrayOfLine explode(','$setCsv);
                  if(
$ip >= $arrayOfLine[0] && $ip <= $arrayOfLine[1] ) {
                      return 
$countryName $arrayOfLine[4];
                  }
              }
              return 
false;
          }
       
          
/**
           *  Function to return local path to Country's flag
           *
           * @param $ip - string
           *
           * @return string - local path to flag image
           */
          
public function ReturnFlagPath() {
       
              if(
$countryName trim(ucwords(strtolower($this->GetCountryName($this->ip))) )) {
                  
$countryName str_replace(' ','%20',$countryName);
                  return 
"flag/$countryName.gif";
              }
              else {
                  return 
false;
              }
          }
       
      }
      
$ip $_SERVER["REMOTE_ADDR"];
      
$object = new CountryFromIP();
      
$countryName =  $object->GetCountryName($ip);
      
$flagPath =  $object->ReturnFlagPath();?>
y hasta abajo pongo
Código PHP:
<?php echo "Pais: " $countryName?>
pero no aparece nada despues de "Pais: "; el archivo .csv lo tengo en el mismo directorio.. que es lo que estoy haciendo mal?

----Editado----


ya lo solucine, mi error era q el nombre del archivo .csv no era el mismo.


soy un poco nuevo en el oop y quisiera saber como hacer para q en lugar del nombre del pais aparesca su abreviacion en el archivo .csv por q mi intencion no es mostrar de q pais es quien esta viendo la pagna, sino dependiendo del pais redireccionar la pagina a una q este en el idioma q se habla en ese pais de ser neesario.
otra cosa... no se puede descargar el archivo flag.zip ya no existe esa pagina en geocities, podrias subir el archivo?

Última edición por severicks; 22/11/2009 a las 19:11